Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazygit fails to show anything when running from goneovim #364

Closed
ghost opened this issue Jun 8, 2022 · 4 comments
Closed

Lazygit fails to show anything when running from goneovim #364

ghost opened this issue Jun 8, 2022 · 4 comments

Comments

@ghost
Copy link

ghost commented Jun 8, 2022

I am using doom-nvim and configured it to use lazygit. The plugin works find in windows terminal and neovide. However, when using it in goneovim (0.6.1 Windows 11), it does not show anything inside the toggleterm.

@akiyosi
Copy link
Owner

akiyosi commented Jun 9, 2022

Hi, thanks for this issue report.

Would you please provide us with the following information to help us investigate the problem.

  • Your settings.toml contents.
  • The result of :version command.
    Execute :put =execute('version') in Goneovim and copy and paste buffer.
  • Does the problem reproduce on Goneovim launched with -u NONE
    Steps:
    1 goneovim.exe -u NONE
    2 :terminal
    3 Run lazygit command
  • The information on whether the results of a commands other than lazygit (e.g., ls, or other common commands) are displayed correctly.

@ghost
Copy link
Author

ghost commented Jun 11, 2022

If I ran the goneovim.exe -u NONE, I can only launch terminal and lazygit inside the terminal. Everything works in this condition.
The issue only happens when I run goneovim with my doom-nvim (NTBBloodbath/doom-nvim: A Neovim configuration for the advanced martian hacker) configuration. In the doom-nvim, I configured the lazygit.nvim (kdheepak/lazygit.nvim: Plugin for calling lazygit from within neovim.) to have a better neovim integration. The issue can be produced by open a directory that is a git repo. Hit the keys (space key + g + o) to open Lazygit.

I found the issue is more or less related to screen redrawing logic in goneovim. I can work around it to hit (as this will pop up the which-key results) and hit again to force the "toggleterminal" floating screen to be redrawned. After that, I can see lazygit window and used it properly. However, it takes a bit logger to load the Lazygit comparing running directly in a terminal neovim or neovide.

Here are my configs:

-- settings.toml --

## Goneovim settings.toml
## All of the following commented configuration items have default values.

[Editor]
## Makes the application window frameless.
# BorderlessWindow = false

## Editor minimum window width (>= 400)
# Width = 800
## Editor minimum window height (>= 300)
# Height = 600
## Create a small margin on the left and right sides of the application window.
# Gap = 2

## Specifies the command used to open the file in an external file explorer, etc. The default is ":e".
 FileOpenCmd = ":e"

## Reverses the direction of scrolling with the mouse wheel.
# ReversingScrollDirection = false

## Specifies the amount of scrolling by the mouse wheel. The default value is 1.
# LineToScroll = 1

## This option makes the whole GUI window in semi-transparent.
## This setting also implicitly enables the Drawborder setting
# Transparent = 1.0

## Launch goneovim with full screen window size.
# StartFullscreen = false

## Editor external font-family, font-size, and linespace.
## This is the font and linespace settings of the graphical UI as an nvim front end.
nolithic:    DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE

Copyright (c) 2022 . All rights reserved.

Licensed under the "THE BEER-WARE LICENSE" (Revision 42):
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

    DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    0. You just DO WHAT THE FUCK YOU WANT TO.
## For example, linespace affects the margins of the external completion popup menu UI.
## Note that the linespace setting must be the same on the Neovim side. The reason for this
## is that the default value on the Neovim side is 0, which will be overwritten by the Neovim setting.
## Of course, these settings can also be changed by setting the guifont and linespace on the Neovim side.
## Fontfamily is
## In MacOS, 
# FontFamily = "Monaco"
## In Linux
# FontFamily = "Delugia"
## In Windows
 FontFamily = "Delugia"
## Fontsize is
 FontSize = 12
## linespace is
# Linespace = 6

## Neovim external UI features
## The following is the default value of goneovim.
## You can change the behavior of the GUI by changing the following boolean values.
## If you prefer the traditional Vim UI, set it to false for all.
## Also, `ExtMessages` is still experimental at this time and we don't recommend setting it to true if you want stability.
# ExtCmdline   = false
 ExtPopupmenu = true
# ExtTabline   = false
# ExtMessages  = false

## Goneovim has a cached rendering feature enabled to speed up the process.
## If you want to disable it, set it to false
# CachedDrawing = true
## You can specify the cache size to be used by the cache rendering feature of goneovim.
## The default is 400.
# CacheSize = 400

## Disables font ligatures.
# DisableLigatures = true

## Copy yanked text to clipboard
 Clipboard = true

## This setting is equivalent to Macmeta in MacVim.
# Macmeta = false

## The input method editor will be automatically disabled when the mode is changed to normal mode.
## It may be useful for users who use the input method editor (e.g. East Asian users).
## DisableImeInNormal = false

## Draw borders on the GUI side instead of the vertical border and status line that nvim draws.
 DrawWindowSeparator = true
 WindowSeparatorTheme = "dark"
 WindowSeparatorColor = "#2222ff"
 WindowSeparatorGradient = false

## Draw built-in indent guide
## Enabling this setting will have a slight impact on performance.
 IndentGuide = true
 IndentGuideIgnoreFtList = ["md"]
 OptionsToUseGuideWidth = "tabstop"

## Animates the scrolling behavior of Neovim when the scroll command is entered.
 SmoothScroll = true
## Disables horizontal scrolling for smooth scrolling with the touchpad.
# DisableHorizontalScroll = true

## Draw border on a float window
 DrawBorderForFloatWindow = true

## Draw shadow under a float window
 DrawShadowForFloatWindow = true

## Enable desktop notification settings for nvim messages.
## This option works only if `ExtMessages` is enabled.
 DesktopNotifications = true

# Display the effect when clicked
# ClickEffect = false

# Pattern that fills the diff background
# Change the background pattern used for diff display.
# This option allows you to use a visual effect pattern such as Dense, Diagonal Stripe instead of a regular solid pattern.
# The available patterns are all Qt brush styles. For more information, See: https://doc.qt.io/qt-5/qbrush.html#details
# // -- diffpattern enum --
# // SolidPattern             1
# // Dense1Pattern            2
# // Dense2Pattern            3
# // Dense3Pattern            4
# // Dense4Pattern            5
# // Dense5Pattern            6
# // Dense6Pattern            7
# // Dense7Pattern            8
# // HorPattern               9
# // VerPattern               10
# // CrossPattern             11
# // BDiagPattern             12
# // FDiagPattern             13
# // DiagCrossPattern         14
# // LinearGradientPattern    15
# // RadialGradientPattern    16
# // ConicalGradientPattern   17
# // TexturePattern           24
# DiffAddPattern    = 1
# DiffDeletePattern = 1
# DiffChangePattern = 1

## You can write a vimscript to be executed after goneovim starts,
## for example to disable the vimscript that Goneovim has embedded internally.
## GinitVim = '''
##  let g:hoge = 'fuga'
## '''
# Ginitvim = ""


[Cursor]
## Specifies whether the smooth cursor feature is enabled or disabled by a boolean value.
 SmoothMove = true

## Specifies the duration of the animation at the smooth cursor. Default is 55ms.
## Note that Goneovim uses the specified value as a base value and makes slight adjustments depending on the distance.
# Duration = 55



## The palette is used as an input UI for externalized command lines and the Fuzzy-Finder feature built into Goneovim.
[Palette]
## Specifies the proportion of the command line palette to the height of the entire window.
# AreaRatio = 0.5
## Specifies the number of items to be displayed in the command line palette.
# MaxNumberOfResultItems = 30
## Specifies the opacity of the command line palette.
# Transparent = 1.0


## Configure externalized message UI.
[Message]
## Specifies the opacity of the message window.
# Transparent = 1.0


## The statusline configuration below relates to the display of Goenovim's own external status lines.
## If you want to use neovim's status line plugin, you should disable its display.
# [Statusline]
## Whether or not to display the external status line
# Visible = false

## Options: "textLabel" / "icon" / "background" / "none"
# ModeIndicatorType = "textLabel"

## Optional setting colors per Neovim editing modes
# NormalModeColor = "#3cabeb"
# CommandModeColor = "#5285b8"
# InsertModeColor = "#2abcb4"
# ReplaceModeColor = "#ff8c0a"
# VisualModeColor = "#9932cc"
# TerminalModeColor = "#778899"

## Statusline components
# Left = [ "mode", "filepath", "filename" ]
# Right = [ "message", "git", "filetype", "fileformat", "fileencoding", "curpos", "lint" ]


## Configure externalized tabline UI.
[Tabline]
## Whether or not to display the external tabline
 Visible = true
 ShowIcon = true


## Configure externalized popupmenu UI.
[Popupmenu]
## neovim's popupmenu is made up of word, menu and info parts.
## Each of these parts will display the following information.
##   word:   the text that will be inserted, mandatory
##   menu:   extra text for the popup menu, displayed after "word"
##   info:   more information about the item, can be displayed in a preview window
## The following options specify whether to display a dedicated column in the popupmenu
## to display the long text displayed in the `info` part.
 ShowDetail = true
 
## total number to display item
 Total = 20
 
## width of `menu` column
 MenuWidth = 400
 
## width of `info` column
 InfoWidth = 1
 
## width of `detail` column
 DetailWidth = 250
 
## Show digit number which can select item for popupmenu
 ShowDigit = true


[ScrollBar]
## Specifies whether to show the external scrollbar or not.
# Visible = false


[MiniMap]
## To view the minimap, launch an additional nvim instance;
## setting Disable to true will not launch this additional nvim instance
## and will completely disable the minimap feature.
 Disable = false

## Specifies whether to show the minimap or not.
 Visible = false

## Specifies the width of the minimap.
 Width = 100

## Specifying code highlighting styles
# CodeHlStyle = "github"


[SideBar]
## Specifies whether to show the external sidebar or not.
# Visible = false

## Specify the sidebar width
# Width = 200

## Specify whether or not to draw a shadow under the sidebar.
# DropShadow = false

## Specify the color to use when selecting items in the sidebar or palette in hexadecimal format
# AccentColor = "#5596ea"


[FileExplore]
## Specify the maximum number of items to be displayed in the file explorer.
# MaxDisplayItems = 30


[Workspace]
## This setting sets the format of the path string of CWD in the sidebar.
##  name: directoryname
##  full: /path/to/directoryname
##  minimum: /p/t/directoryname
# PathStyle = "minimum"

## Specifies whether the last exited session should be restored at the next startup.
# RestoreSession = false

-- version output --

:ver


NVIM v0.7.0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compiled by runneradmin@fv-az320-113

Features: -acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM\sysinit.vim"
  fall-back for $VIM: "C:/Program Files/nvim/share/nvim"

Run :checkhealth for more info

@akiyosi
Copy link
Owner

akiyosi commented Jun 11, 2022

@zhichao-h
I was able to reproduce this issue.
I have created a fix and would appreciate it if you could confirm that it works in your environment as well.

You can get the pre-built binaries from the following CI job artifacts

https://github.com/akiyosi/goneovim/actions/runs/2480181764

@ghost
Copy link
Author

ghost commented Jun 11, 2022

@akiyosi , I tried the asset and it works great. Thanks!

@akiyosi akiyosi closed this as completed Jun 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant