Skip to content

Escape codes printed to screen on terminals that don't support cursor shapes. #280

@tmccombs

Description

@tmccombs

Problems summary

Denite prints escape codes to screen on terminals that don't support cursor shapes.

Expected

Denite should not print escape sequences to the screen.

Environment Information (Required!)

  • denite version(SHA1):
    37093d1

  • OS:
    linux (I have reproduced on archlinux and ubuntu 16.04)

  • Vim/neovim version:
    Neovim 0.2.0 and 0.2.1

  • :CheckHealth result(neovim only):

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

## Performance
  - SUCCESS: Build type: Release

## Remote Plugins
  - SUCCESS: Up to date

## terminal
  - INFO: key_backspace (kbs) terminfo entry: key_backspace=^H
  - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~

health#provider#check
========================================================================
## Clipboard (optional)
  - SUCCESS: Clipboard tool found: xsel

## Python 2 provider (optional)
  - INFO: `g:python_host_prog` is not set.  Searching for python2 in the environment.
  - INFO: Executable: /usr/bin/python2
  - INFO: Python2 version: 2.7.13
  - INFO: python2-neovim version: 0.1.13
  - SUCCESS: Latest python2-neovim is installed: 0.1.13

## Python 3 provider (optional)
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - INFO: Executable: /usr/bin/python3
  - INFO: Python3 version: 3.6.1
  - INFO: python3-neovim version: 0.1.13
  - SUCCESS: Latest python3-neovim is installed: 0.1.13

## Ruby provider (optional)
  - INFO: Ruby: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
  - WARNING: Missing "neovim" gem.
    - SUGGESTIONS:
      - Run in shell: gem install neovim
      - Is the gem bin directory in $PATH? Check `gem environment`.
      - If you are using rvm/rbenv/chruby, try "rehashing".

Provide a minimal init.vim with less than 50 lines (Required!)

set runtimepath+=~/.local/share/dein/repos/github.com/Shougo/denite.nvim

Terminal emulator

Something that doesn't support cursor shapes
for example qterminal 0.7.1 or xfce4-terminal 0.6.3

The reproduce ways from neovim starting (Required!)

  1. Open neovim in a terminal that doesn't support cursor shapes
  2. Use Denite to switch buffers or files (example with :Denite buffer)
  3. Extra characters are displayed on the status line. In qterminal it is just a q. In xfce4-terminal it is a box containing "001B" a space and a q.

I am fairly confident this is caused by setting the guicursor option, which attempts to set the cursor shape with a control sequence, but ends up printing to the terminal if the terminal doesn't support the escape sequence. I suspect this was introduced by de58a9b.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions