dense-analysis / dense-analysis/ale

Insert mode flashes momentarily when returning to normal mode

Open
#2,756 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Vim Script
Stars
14k
Forks
1.5k
Avg merge
17h 49m
Merged PRs (30d)
1

Description

## Information

**VIM version**
VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 20 2019 17:43:44)
macOS version
Included patches: 1-1866

Operating System:
macOS Mojave 10.14.5 (18F132)

## What went wrong
After leaving insert mode for the 2nd time in a row, vim flashes back into insert mode momentarily.

## Reproducing the bug
1. Enter insert mode.
2. Leave insert mode (esc).
3. Enter insert mode again.
4. Leave insert mode (esc).

Actual result:
vim enters insert mode momentarily, and leaves it automatically after 0.5-1 sec.

Expected result:
vim should leave insert mode without flashing back into it.

**I ran a git-bisect on this repo, and found this commit to be the culprit:**

https://github.com/dense-analysis/ale/commit/168768b32667b244e0afdc8da851d91ab95d6e2f

### :ALEInfo

Current Filetype: javascript.jsx
Available Linters: ['eslint', 'fecs', 'flow', 'flow-language-server', 'jscs', 'jshint', 'standard', 'tsserver', 'xo']
Enabled Linters: ['eslint']
Suggested Fixers:
'eslint' - Apply eslint --fix to a file.
'fecs' - Apply fecs format to a file.
'importjs' - automatic imports for javascript
'prettier' - Apply prettier to a file.
'prettier_eslint', 'prettier-eslint' - Apply prettier-eslint to a file.
'prettier_standard', 'prettier-standard' - Apply prettier-standard to a file.
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'standard' - Fix JavaScript files using standard --fix
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
'xo' - Fix JavaScript/TypeScript files using xo --fix.
Linter Variables:

let g:ale_javascript_eslint_executable = 'eslint'
let g:ale_javascript_eslint_options = ''
let g:ale_javascript_eslint_suppress_eslintignore = 0
let g:ale_javascript_eslint_suppress_missing_config = 0
let g:ale_javascript_eslint_use_global = 0
Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {'typescript.javascript': ['tslint'], 'javascript': ['eslint']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 0
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'never'
let g:ale_linter_aliases = {}
let g:ale_linters = {'typescript.javascript': ['tslint'], 'javascript': ['eslint']}
let g:ale_linters_explicit = 0
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '%code: %%s'
let g:ale_lsp_root = {}
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_statusline_format = v:null
let g:ale_type_map = {}
let g:ale_use_global_executables = v:null
let g:ale_virtualtext_cursor = 0
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
Command History:

(executable check - success) /Users/user/projects/project/node_modules/eslint/bin/eslint.js
(finished - exit code 0) ['/usr/local/bin/bash', '-c', '''/Users/user/projects/project/node_modules/eslint/bin/eslint.js'' -f json --stdin --stdin-filename ''/Users/user/projects/project/foo.js'' < ''/var/folders/4c/p_gp7qgx1298tct38cv6766hjks9yr/T/vwPEp10/4/foo.js''']

<<>>
[{"filePath":"/Users/user/projects/project/foo.js","messages":[],"errorCount":0,"warningCount":0}]
<<>>

(finished - exit code 0) ['/usr/local/bin/bash', '-c', '''/Users/user/projects/project/node_modules/eslint/bin/eslint.js'' -f json --stdin --stdin-filename ''/Users/user/projects/project/foo.js'' < ''/var/folders/4c/p_gp7qgx1298tct38cv6766hjks9yr/T/vwPEp10/5/foo.js''']

<<>>
[{"filePath":"/Users/user/projects/project/foo.js","messages":[],"errorCount":0,"warningCount":0}]
<<>>

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.