sainnhe / gruvbox-material

Gruvbox with Material Palette
MIT License
1.96k stars 166 forks source link

Sometimes a weird grey square appears at the end of the line. #128

Closed AGou-ops closed 2 years ago

AGou-ops commented 2 years ago

Operating system/version

MacOS 12.3.1

Terminal emulator/version

iTerm 3.4.15

$TERM environment variable

xterm-256color

Tmux version

tmux 3.2a

Feature matrix

hop: require("hop.health").check()
========================================================================
## Ensuring keys are unique
  - OK: Keys are unique

## Checking for deprecated features
  - OK: All good

mkdp: health#mkdp#check
========================================================================
  - INFO: Platform: macos
  - INFO: Nvim Version: NVIM v0.7.0
  - INFO: Node version: v18.0.0

  - INFO: Script: /Users/agou-ops/.vim/plugged/markdown-preview.nvim/app/server.js
  - INFO: Script exists: 1
  - OK: Using node

nvim: health#nvim#check
========================================================================
## Configuration
  - OK: no issues found

## Performance
  - OK: Build type: Release

## Remote Plugins
  - OK: Up to date

## terminal
  - INFO: key_backspace (kbs) terminfo entry: key_backspace=\177
  - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
  - INFO: $TERM_PROGRAM='tmux'
  - INFO: $COLORTERM='truecolor'

## tmux
  - OK: escape-time: 10
  - INFO: Checking stuff
  - OK: focus-events: on
  - INFO: $TERM: xterm-256color
  - INFO: default-terminal: tmux-256color
  - ERROR: $TERM differs from the tmux `default-terminal` setting. Colors might look wrong.
    - ADVICE:
      - $TERM may have been set by some rc (.bashrc, .zshrc, ...).
  - WARNING: Neither Tc nor RGB capability set. True colors are disabled. |'termguicolors'| won't work properly.
    - ADVICE:
      - Put this in your ~/.tmux.conf and replace XXX by your $TERM outside of tmux:
          set-option -sa terminal-overrides ',XXX:RGB'
      - For older tmux versions use this instead:
          set-option -ga terminal-overrides ',XXX:Tc'

nvim-lsp-installer: require("nvim-lsp-installer.health").check()
========================================================================
## nvim-lsp-installer report
  - OK: neovim version >= 0.7.0
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - WARNING: **julia**: not available
  - OK: **bash**: `GNU bash, version 3.2.57(1)-release (arm64-apple-darwin21)`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **python3**: `Python 3.8.9`
  - OK: **node**: `v18.0.0`
  - OK: **Ruby**: `ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [arm64-darwin21]`
  - OK: **cargo**: `cargo 1.59.0`
  - OK: **Go**: `go version go1.17.5 darwin/arm64`
  - OK: **sh**: `Ok`
  - OK: **wget**: `GNU Wget 1.21.3 在 darwin21.3.0 上编译。`
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - OK: **curl**: `curl 7.80.0 (arm-apple-darwin21.1.0) libcurl/7.80.0 OpenSSL/3.0.0 zlib/1.2.11 zstd/1.5.0 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.2)`
  - OK: **RubyGem**: `3.3.7`
  - OK: **pip3**: `pip 21.3.1 from /Users/agou-ops/Library/Python/3.8/lib/python/site-packages/pip (python 3.8)`
  - OK: **npm**: `8.6.0`

nvim-treesitter: require("nvim-treesitter.health").check()
========================================================================
## Installation
  - OK: `tree-sitter` found 0.20.6 (parser generator, only needed for :TSInstallFromGrammar)
  - OK: `node` found v18.0.0 (only needed for :TSInstallFromGrammar)
  - OK: `git` executable found.
  - OK: `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
    Version: Apple clang version 13.1.6 (clang-1316.0.21.2)
  - OK: Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

## Parser/Features H L F I J
  - lua            ✓ ✓ ✓ ✓ ✓ 
  - rust           ✓ ✓ ✓ ✓ ✓ 
  - c              ✓ ✓ ✓ ✓ ✓ 
  - go             ✓ ✓ ✓ ✓ ✓ 

  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang}

provider: health#provider#check
========================================================================
## Clipboard (optional)
  - OK: Clipboard tool found: pbcopy

## Python 3 provider (optional)
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - INFO: Multiple python3 executables found.  Set `g:python3_host_prog` to avoid surprises.
  - INFO: Executable: /Library/Developer/CommandLineTools/usr/bin/python3
  - INFO: Other python executable: /opt/local/bin/python3
  - INFO: Other python executable: /usr/bin/python3
  - INFO: Python version: 3.8.9
  - INFO: pynvim version: 0.4.2 (outdated; from ~/Library/Python/3.8/lib/python/site-packages/neovim)
  - WARNING: Latest pynvim is NOT installed: 0.4.3

## Python virtualenv
  - OK: no $VIRTUAL_ENV

## Ruby provider (optional)
  - INFO: Ruby: ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [arm64-darwin21]
  - WARNING: `neovim-ruby-host` not found.
    - ADVICE:
      - Run `gem install neovim` to ensure the neovim RubyGem is installed.
      - Run `gem environment` to ensure the gem bin directory is in $PATH.
      - If you are using rvm/rbenv/chruby, try "rehashing".
      - See :help |g:ruby_host_prog| for non-standard gem installations.
      - You may disable this provider (and warning) by adding `let g:loaded_ruby_provider = 0` to your init.vim

## Node.js provider (optional)
  - INFO: Node.js: v18.0.0
  - WARNING: Missing "neovim" npm (or yarn) package.
    - ADVICE:
      - Run in shell: npm install -g neovim
      - Run in shell (if you use yarn): yarn global add neovim
      - You may disable this provider (and warning) by adding `let g:loaded_node_provider = 0` to your init.vim

## Perl provider (optional)
  - WARNING: "Neovim::Ext" cpan module is not installed
    - ADVICE:
      - See :help |provider-perl| for more information.
      - You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim

telescope: require("telescope.health").check()
========================================================================
## Checking for required plugins
  - OK: plenary installed.
  - OK: nvim-treesitter installed.

## Checking external dependencies
  - OK: rg: found ripgrep 13.0.0
  - WARNING: fd: not found. Install [sharkdp/fd](https://github.com/sharkdp/fd) for extended capabilities

## ===== Installed extensions =====

translator: health#translator#check
========================================================================
  - OK: Async check passed
  - OK: Floating window check passed
  - OK: Using python3

vim.lsp: require("vim.lsp.health").check()
========================================================================
  - INFO: LSP log level : WARN
  - INFO: Log path: /Users/agou-ops/.cache/nvim/lsp.log
  - INFO: Log size: 5353 KB

vim.treesitter: require("vim.treesitter.health").check()
========================================================================
  - INFO: Runtime ABI version : 14
  - OK: Loaded parser for c: ABI version 13
  - OK: Loaded parser for go: ABI version 13
  - OK: Loaded parser for lua: ABI version 13
  - OK: Loaded parser for rust: ABI version 13

which_key: health#which_key#check
========================================================================
## WhichKey: checking conflicting keymaps
  - WARNING: conflicting keymap exists for mode **"v"**, lhs: **"/"**
  - INFO: rhs: `/\v`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"g<lt>"**
  - INFO: rhs: `<Cmd>lua require("Comment.api").call("uncomment_linewise_op")<CR>g@`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"gc"**
  - INFO: rhs: `<Plug>(comment_toggle_linewise)`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"gb"**
  - INFO: rhs: `<Plug>(comment_toggle_blockwise)`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"g>"**
  - INFO: rhs: `<Cmd>lua require("Comment.api").call("comment_linewise_op")<CR>g@`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"d"**
  - INFO: rhs: `"_d`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **",s"**
  - INFO: rhs: `<Cmd>lua require("persistence").stop()<CR>`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **",d"**
  - INFO: rhs: `::bufdo! bd!<CR>`

Minimal vimrc that can reproduce this bug.

just sample config:

call plug#begin('~/.vim/plugged')
Plug 'sainnhe/gruvbox-material'
call plug#end()

if has('termguicolors')
  set termguicolors
endif
" For dark version.
set background=dark
" Set contrast.
" This configuration option should be placed before `colorscheme gruvbox-material`.
" Available values: 'hard', 'medium'(default), 'soft'
let g:gruvbox_material_background = 'hard'
" For better performance
let g:gruvbox_material_better_performance = 1

let g:gruvbox_material_diagnostic_text_highlight = 1
let g:gruvbox_material_diagnostic_line_highlight = 1
let g:gruvbox_material_diagnostic_virtual_text = "colored"
colorscheme gruvbox-material

Steps to reproduce this bug using minimal vimrc

  1. Minimal config works well;
  2. Only appear in some code block which has code action;
  3. Other themes don't have this problem;

It looks like this:

May-05-2022 09-20-55

Its weird, I don't know how to 100% reproduce this. Do you have any good solution?

Expected behavior

no weird grey square.

Actual behavior

Sometimes a weird grey square appears.

AGou-ops commented 2 years ago

It seems to be the problem of this plugin tami5/lspsaga.nvim. When I disable this plugin, it works fine. Is there any conflict with this plugin?

sainnhe commented 2 years ago

You should report this bug to lspsaga. This plugin is only a color scheme, there is nothing I can do to fix this.

AGou-ops commented 2 years ago

@sainnhe OK, thank you for your reply!