mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-15 19:45:46 +08:00
parent
662480aabf
commit
fe0fb46018
@ -1,22 +1,43 @@
|
|||||||
name: Pull request check
|
name: Pull request check
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
format:
|
format:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: JohnnyMorganz/stylua-action@1.0.0
|
- uses: JohnnyMorganz/stylua-action@1.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
args: --check .
|
args: --check .
|
||||||
|
|
||||||
block-fixup:
|
block-fixup:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Block Fixup Commit Merge
|
||||||
|
uses: 13rac1/block-fixup-merge-action@v2.0.0
|
||||||
|
|
||||||
|
luacheck:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
|
||||||
|
- uses: leafo/gh-actions-lua@v8.0.0
|
||||||
|
with:
|
||||||
|
luaVersion: 'luajit-2.1.0-beta3'
|
||||||
|
|
||||||
|
- uses: leafo/gh-actions-luarocks@v4.0.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
run: |
|
||||||
|
luarocks install luacheck
|
||||||
|
|
||||||
|
- name: test
|
||||||
|
run: |
|
||||||
|
luacheck lua
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Block Fixup Commit Merge
|
|
||||||
uses: 13rac1/block-fixup-merge-action@v2.0.0
|
|
||||||
|
2
bundle/indent-blankline.nvim/.luacheckrc
Normal file
2
bundle/indent-blankline.nvim/.luacheckrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
globals = { "vim", "_" }
|
||||||
|
max_line_length = false
|
@ -1,18 +0,0 @@
|
|||||||
|
|
||||||
function! indent_blankline#Refresh(...)
|
|
||||||
try
|
|
||||||
if a:0 > 0
|
|
||||||
call luaeval("require('indent_blankline').refresh(_A)", a:1)
|
|
||||||
else
|
|
||||||
lua require("indent_blankline").refresh()
|
|
||||||
end
|
|
||||||
catch /E12/
|
|
||||||
return
|
|
||||||
catch
|
|
||||||
if g:indent_blankline_debug
|
|
||||||
echohl Error
|
|
||||||
echom 'indent-blankline encountered an error on refresh: ' . v:exception
|
|
||||||
echohl None
|
|
||||||
endif
|
|
||||||
endtry
|
|
||||||
endfunction
|
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Author: Lukas Reineke <lukas.reineke@protonmail.com>
|
Author: Lukas Reineke <lukas.reineke@protonmail.com>
|
||||||
Version: 2.11.0
|
Version: 2.15.0
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CONTENTS *indent-blankline*
|
CONTENTS *indent-blankline*
|
||||||
@ -149,6 +149,18 @@ g:indent_blankline_char *g:indent_blankline_char*
|
|||||||
|
|
||||||
let g:indent_blankline_char = '|'
|
let g:indent_blankline_char = '|'
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
g:indent_blankline_char_blankline *g:indent_blankline_char_blankline*
|
||||||
|
|
||||||
|
Specifies the character to be used as indent line for blanklines.
|
||||||
|
Not used if |g:indent_blankline_char_list_blankline| is not empty.
|
||||||
|
|
||||||
|
Default: '' ~
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
|
||||||
|
let g:indent_blankline_char_blankline = '┆'
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
g:indent_blankline_char_list *g:indent_blankline_char_list*
|
g:indent_blankline_char_list *g:indent_blankline_char_list*
|
||||||
|
|
||||||
@ -164,6 +176,19 @@ g:indent_blankline_char_list *g:indent_blankline_char_list*
|
|||||||
|
|
||||||
let g:indent_blankline_char_list = ['|', '¦', '┆', '┊']
|
let g:indent_blankline_char_list = ['|', '¦', '┆', '┊']
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
g:indent_blankline_char_list_blankline *g:indent_blankline_char_list_blankline*
|
||||||
|
|
||||||
|
Specifies a list of characters to be used as indent line for
|
||||||
|
each indentation level on blanklines.
|
||||||
|
Ignored if the value is an empty list.
|
||||||
|
|
||||||
|
Default: [] ~
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
|
||||||
|
let g:indent_blankline_char_list_blankline = ['|', '¦', '┆', '┊']
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
g:indent_blankline_char_highlight_list *g:indent_blankline_char_highlight_list*
|
g:indent_blankline_char_highlight_list *g:indent_blankline_char_highlight_list*
|
||||||
@ -359,7 +384,13 @@ g:indent_blankline_filetype_exclude *g:indent_blankline_filetype_exclude*
|
|||||||
|
|
||||||
Also set by |g:indentLine_fileTypeExclude|
|
Also set by |g:indentLine_fileTypeExclude|
|
||||||
|
|
||||||
Default: [] ~
|
Default: [ ~
|
||||||
|
"lspinfo", ~
|
||||||
|
"packer", ~
|
||||||
|
"checkhealth", ~
|
||||||
|
"help", ~
|
||||||
|
"", ~
|
||||||
|
] ~
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
|
|
||||||
@ -475,6 +506,18 @@ g:indent_blankline_context_char *g:indent_blankline_context_char*
|
|||||||
|
|
||||||
let g:indent_blankline_context_char = '┃'
|
let g:indent_blankline_context_char = '┃'
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
g:indent_blankline_context_char_blankline *g:indent_blankline_context_char_blankline*
|
||||||
|
|
||||||
|
Equivalent of |g:indent_blankline_char_blankline| for
|
||||||
|
|g:indent_blankline_context_char|.
|
||||||
|
|
||||||
|
Default: '' ~
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
|
||||||
|
let g:indent_blankline_context_char_blankline = '┆'
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
g:indent_blankline_context_char_list *g:indent_blankline_context_char_list*
|
g:indent_blankline_context_char_list *g:indent_blankline_context_char_list*
|
||||||
|
|
||||||
@ -487,6 +530,18 @@ g:indent_blankline_context_char_list *g:indent_blankline_context_char_list*
|
|||||||
|
|
||||||
let g:indent_blankline_context_char_list = ['┃', '║', '╬', '█']
|
let g:indent_blankline_context_char_list = ['┃', '║', '╬', '█']
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
g:indent_blankline_context_char_list_blankline *g:indent_blankline_context_char_list_blankline*
|
||||||
|
|
||||||
|
Equivalent of |g:indent_blankline_char_list_blankline| for
|
||||||
|
|g:indent_blankline_context_char_blankline|.
|
||||||
|
|
||||||
|
Default: [] ~
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
|
||||||
|
let g:indent_blankline_context_char_list_blankline = ['┃', '║', '╬', '█']
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
g:indent_blankline_context_highlight_list *g:indent_blankline_context_highlight_list*
|
g:indent_blankline_context_highlight_list *g:indent_blankline_context_highlight_list*
|
||||||
|
|
||||||
@ -514,7 +569,24 @@ g:indent_blankline_context_patterns *g:indent_blankline_context_patterns*
|
|||||||
|
|
||||||
Only used when |g:indent_blankline_show_current_context| is active
|
Only used when |g:indent_blankline_show_current_context| is active
|
||||||
|
|
||||||
Default: ['class', 'function', 'method'] ~
|
Default: [ ~
|
||||||
|
"class", ~
|
||||||
|
"^func", ~
|
||||||
|
"method", ~
|
||||||
|
"^if", ~
|
||||||
|
"while", ~
|
||||||
|
"for", ~
|
||||||
|
"with", ~
|
||||||
|
"try", ~
|
||||||
|
"except", ~
|
||||||
|
"arguments", ~
|
||||||
|
"argument_list", ~
|
||||||
|
"object", ~
|
||||||
|
"dictionary", ~
|
||||||
|
"element", ~
|
||||||
|
"table", ~
|
||||||
|
"tuple", ~
|
||||||
|
] ~
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
|
|
||||||
@ -637,6 +709,26 @@ g:indent_blankline_debug *g:indent_blankline_debug*
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
6. CHANGELOG *indent-blankline-changelog*
|
6. CHANGELOG *indent-blankline-changelog*
|
||||||
|
|
||||||
|
2.15.0
|
||||||
|
* Add |g:indent_blankline_context_char_blankline| and
|
||||||
|
|g:indent_blankline_context_char_list_blankline| options
|
||||||
|
|
||||||
|
2.14.0
|
||||||
|
* Add |g:indent_blankline_char_blankline| and
|
||||||
|
|g:indent_blankline_char_list_blankline| options
|
||||||
|
|
||||||
|
2.13.0
|
||||||
|
* Support both the concatenated string, as well as the individual |filetypes|
|
||||||
|
in |g:indent_blankline_filetype_exclude| when a buffer has multiple filetypes
|
||||||
|
|
||||||
|
2.12.1
|
||||||
|
* Add ext mark priority
|
||||||
|
|
||||||
|
2.12.0
|
||||||
|
* Remove old vimscript functions
|
||||||
|
* Better default values for |g:indent_blankline_context_patterns| and
|
||||||
|
|g:indent_blankline_filetype_exclude|
|
||||||
|
|
||||||
2.11.0
|
2.11.0
|
||||||
* Add |g:indent_blankline_show_current_context_start_on_current_line|
|
* Add |g:indent_blankline_show_current_context_start_on_current_line|
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@ M.refresh = function(bang, scroll)
|
|||||||
scroll = scroll or false
|
scroll = scroll or false
|
||||||
if bang then
|
if bang then
|
||||||
local win = vim.api.nvim_get_current_win()
|
local win = vim.api.nvim_get_current_win()
|
||||||
vim.cmd(string.format([[noautocmd windo call indent_blankline#Refresh(v:%s)]], tostring(scroll)))
|
vim.cmd(string.format([[noautocmd windo lua require("indent_blankline").refresh(%s)]], tostring(scroll)))
|
||||||
if vim.api.nvim_win_is_valid(win) then
|
if vim.api.nvim_win_is_valid(win) then
|
||||||
vim.api.nvim_set_current_win(win)
|
vim.api.nvim_set_current_win(win)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
vim.cmd(string.format([[call indent_blankline#Refresh(v:%s)]], tostring(scroll)))
|
require("indent_blankline").refresh(scroll)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -17,11 +17,11 @@ M.enable = function(bang)
|
|||||||
if bang then
|
if bang then
|
||||||
vim.g.indent_blankline_enabled = true
|
vim.g.indent_blankline_enabled = true
|
||||||
local win = vim.api.nvim_get_current_win()
|
local win = vim.api.nvim_get_current_win()
|
||||||
vim.cmd [[noautocmd windo call indent_blankline#Refresh()]]
|
vim.cmd [[noautocmd windo lua require("indent_blankline").refresh(false)]]
|
||||||
vim.api.nvim_set_current_win(win)
|
vim.api.nvim_set_current_win(win)
|
||||||
else
|
else
|
||||||
vim.b.indent_blankline_enabled = true
|
vim.b.indent_blankline_enabled = true
|
||||||
vim.cmd [[call indent_blankline#Refresh()]]
|
require("indent_blankline").refresh(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -24,17 +24,31 @@ M.setup = function(options)
|
|||||||
local o = utils.first_not_nil
|
local o = utils.first_not_nil
|
||||||
|
|
||||||
vim.g.indent_blankline_char = o(options.char, vim.g.indent_blankline_char, vim.g.indentLine_char, "│")
|
vim.g.indent_blankline_char = o(options.char, vim.g.indent_blankline_char, vim.g.indentLine_char, "│")
|
||||||
|
vim.g.indent_blankline_char_blankline = o(options.char_blankline, vim.g.indent_blankline_char_blankline)
|
||||||
vim.g.indent_blankline_char_list = o(
|
vim.g.indent_blankline_char_list = o(
|
||||||
options.char_list,
|
options.char_list,
|
||||||
vim.g.indent_blankline_char_list,
|
vim.g.indent_blankline_char_list,
|
||||||
vim.g.indentLine_char_list
|
vim.g.indentLine_char_list
|
||||||
)
|
)
|
||||||
|
vim.g.indent_blankline_char_list_blankline = o(
|
||||||
|
options.char_list_blankline,
|
||||||
|
vim.g.indent_blankline_char_list_blankline
|
||||||
|
)
|
||||||
vim.g.indent_blankline_context_char = o(
|
vim.g.indent_blankline_context_char = o(
|
||||||
options.context_char,
|
options.context_char,
|
||||||
vim.g.indent_blankline_context_char,
|
vim.g.indent_blankline_context_char,
|
||||||
vim.g.indent_blankline_char
|
vim.g.indent_blankline_char
|
||||||
)
|
)
|
||||||
|
vim.g.indent_blankline_context_char_blankline = o(
|
||||||
|
options.context_char_blankline,
|
||||||
|
vim.g.indent_blankline_context_char_blankline,
|
||||||
|
vim.g.indent_blankline_char_blankline
|
||||||
|
)
|
||||||
vim.g.indent_blankline_context_char_list = o(options.context_char_list, vim.g.indent_blankline_context_char_list)
|
vim.g.indent_blankline_context_char_list = o(options.context_char_list, vim.g.indent_blankline_context_char_list)
|
||||||
|
vim.g.indent_blankline_context_char_list_blankline = o(
|
||||||
|
options.context_char_list_blankline,
|
||||||
|
vim.g.indent_blankline_context_char_list
|
||||||
|
)
|
||||||
vim.g.indent_blankline_char_highlight_list = o(
|
vim.g.indent_blankline_char_highlight_list = o(
|
||||||
options.char_highlight_list,
|
options.char_highlight_list,
|
||||||
vim.g.indent_blankline_char_highlight_list
|
vim.g.indent_blankline_char_highlight_list
|
||||||
@ -65,7 +79,8 @@ M.setup = function(options)
|
|||||||
vim.g.indent_blankline_filetype_exclude = o(
|
vim.g.indent_blankline_filetype_exclude = o(
|
||||||
options.filetype_exclude,
|
options.filetype_exclude,
|
||||||
vim.g.indent_blankline_filetype_exclude,
|
vim.g.indent_blankline_filetype_exclude,
|
||||||
vim.g.indentLine_fileTypeExclude
|
vim.g.indentLine_fileTypeExclude,
|
||||||
|
{ "lspinfo", "packer", "checkhealth", "help", "" }
|
||||||
)
|
)
|
||||||
vim.g.indent_blankline_bufname_exclude = o(
|
vim.g.indent_blankline_bufname_exclude = o(
|
||||||
options.bufname_exclude,
|
options.bufname_exclude,
|
||||||
@ -120,11 +135,24 @@ M.setup = function(options)
|
|||||||
options.context_highlight_list,
|
options.context_highlight_list,
|
||||||
vim.g.indent_blankline_context_highlight_list
|
vim.g.indent_blankline_context_highlight_list
|
||||||
)
|
)
|
||||||
vim.g.indent_blankline_context_patterns = o(
|
vim.g.indent_blankline_context_patterns = o(options.context_patterns, vim.g.indent_blankline_context_patterns, {
|
||||||
options.context_patterns,
|
"class",
|
||||||
vim.g.indent_blankline_context_patterns,
|
"^func",
|
||||||
{ "class", "function", "method" }
|
"method",
|
||||||
)
|
"^if",
|
||||||
|
"while",
|
||||||
|
"for",
|
||||||
|
"with",
|
||||||
|
"try",
|
||||||
|
"except",
|
||||||
|
"arguments",
|
||||||
|
"argument_list",
|
||||||
|
"object",
|
||||||
|
"dictionary",
|
||||||
|
"element",
|
||||||
|
"table",
|
||||||
|
"tuple",
|
||||||
|
})
|
||||||
vim.g.indent_blankline_context_pattern_highlight = o(
|
vim.g.indent_blankline_context_pattern_highlight = o(
|
||||||
options.context_pattern_highlight,
|
options.context_pattern_highlight,
|
||||||
vim.g.indent_blankline_context_pattern_highlight
|
vim.g.indent_blankline_context_pattern_highlight
|
||||||
@ -166,7 +194,7 @@ local refresh = function(scroll)
|
|||||||
vim.opt.list:get(),
|
vim.opt.list:get(),
|
||||||
vim.bo.filetype,
|
vim.bo.filetype,
|
||||||
v "indent_blankline_filetype" or {},
|
v "indent_blankline_filetype" or {},
|
||||||
v "indent_blankline_filetype_exclude" or {},
|
v "indent_blankline_filetype_exclude",
|
||||||
vim.bo.buftype,
|
vim.bo.buftype,
|
||||||
v "indent_blankline_buftype_exclude" or {},
|
v "indent_blankline_buftype_exclude" or {},
|
||||||
v "indent_blankline_bufname_exclude" or {},
|
v "indent_blankline_bufname_exclude" or {},
|
||||||
@ -237,15 +265,19 @@ local refresh = function(scroll)
|
|||||||
|
|
||||||
local lines = vim.api.nvim_buf_get_lines(bufnr, offset, range, false)
|
local lines = vim.api.nvim_buf_get_lines(bufnr, offset, range, false)
|
||||||
local char = v "indent_blankline_char"
|
local char = v "indent_blankline_char"
|
||||||
|
local char_blankline = v "indent_blankline_char_blankline"
|
||||||
local char_list = v "indent_blankline_char_list" or {}
|
local char_list = v "indent_blankline_char_list" or {}
|
||||||
|
local char_list_blankline = v "indent_blankline_char_list_blankline" or {}
|
||||||
local context_char = v "indent_blankline_context_char"
|
local context_char = v "indent_blankline_context_char"
|
||||||
|
local context_char_blankline = v "indent_blankline_context_char_blankline"
|
||||||
local context_char_list = v "indent_blankline_context_char_list" or {}
|
local context_char_list = v "indent_blankline_context_char_list" or {}
|
||||||
|
local context_char_list_blankline = v "indent_blankline_context_char_list_blankline" or {}
|
||||||
local char_highlight_list = v "indent_blankline_char_highlight_list" or {}
|
local char_highlight_list = v "indent_blankline_char_highlight_list" or {}
|
||||||
local space_char_highlight_list = v "indent_blankline_space_char_highlight_list" or {}
|
local space_char_highlight_list = v "indent_blankline_space_char_highlight_list" or {}
|
||||||
local space_char_blankline_highlight_list = v "indent_blankline_space_char_blankline_highlight_list" or {}
|
local space_char_blankline_highlight_list = v "indent_blankline_space_char_blankline_highlight_list" or {}
|
||||||
local space_char_blankline = v "indent_blankline_space_char_blankline"
|
local space_char_blankline = v "indent_blankline_space_char_blankline"
|
||||||
|
|
||||||
local list_chars = {}
|
local list_chars
|
||||||
local no_tab_character = false
|
local no_tab_character = false
|
||||||
-- No need to check for disable_with_nolist as this part would never be executed if "true" && nolist
|
-- No need to check for disable_with_nolist as this part would never be executed if "true" && nolist
|
||||||
if vim.opt.list:get() then
|
if vim.opt.list:get() then
|
||||||
@ -317,11 +349,23 @@ local refresh = function(scroll)
|
|||||||
local virtual_text = {}
|
local virtual_text = {}
|
||||||
local current_left_offset = left_offset
|
local current_left_offset = left_offset
|
||||||
local local_max_indent_level = math.min(max_indent_level, prev_indent + max_indent_increase)
|
local local_max_indent_level = math.min(max_indent_level, prev_indent + max_indent_increase)
|
||||||
|
local indent_char = utils._if(blankline and char_blankline, char_blankline, char)
|
||||||
|
local context_indent_char = utils._if(
|
||||||
|
blankline and context_char_blankline,
|
||||||
|
context_char_blankline,
|
||||||
|
context_char
|
||||||
|
)
|
||||||
|
local indent_char_list = utils._if(blankline and #char_list_blankline > 0, char_list_blankline, char_list)
|
||||||
|
local context_indent_char_list = utils._if(
|
||||||
|
blankline and #context_char_list_blankline > 0,
|
||||||
|
context_char_list_blankline,
|
||||||
|
context_char_list
|
||||||
|
)
|
||||||
for i = 1, math.min(math.max(indent, 0), local_max_indent_level) do
|
for i = 1, math.min(math.max(indent, 0), local_max_indent_level) do
|
||||||
local space_count = shiftwidth
|
local space_count = shiftwidth
|
||||||
local context = context_active and context_indent == i
|
local context = context_active and context_indent == i
|
||||||
local show_indent_char = (i ~= 1 or first_indent) and char ~= ""
|
local show_indent_char = (i ~= 1 or first_indent) and indent_char ~= ""
|
||||||
local show_context_indent_char = context and (i ~= 1 or first_indent) and context_char ~= ""
|
local show_context_indent_char = context and (i ~= 1 or first_indent) and context_indent_char ~= ""
|
||||||
local show_end_of_line_char = i == 1 and blankline and end_of_line and list_chars["eol_char"]
|
local show_end_of_line_char = i == 1 and blankline and end_of_line and list_chars["eol_char"]
|
||||||
local show_indent_or_eol_char = show_indent_char or show_context_indent_char or show_end_of_line_char
|
local show_indent_or_eol_char = show_indent_char or show_context_indent_char or show_end_of_line_char
|
||||||
if show_indent_or_eol_char then
|
if show_indent_or_eol_char then
|
||||||
@ -336,11 +380,15 @@ local refresh = function(scroll)
|
|||||||
utils._if(
|
utils._if(
|
||||||
context,
|
context,
|
||||||
utils.get_from_list(
|
utils.get_from_list(
|
||||||
context_char_list,
|
context_indent_char_list,
|
||||||
i - utils._if(not first_indent, 1, 0),
|
i - utils._if(not first_indent, 1, 0),
|
||||||
context_char
|
context_indent_char
|
||||||
),
|
),
|
||||||
utils.get_from_list(char_list, i - utils._if(not first_indent, 1, 0), char)
|
utils.get_from_list(
|
||||||
|
indent_char_list,
|
||||||
|
i - utils._if(not first_indent, 1, 0),
|
||||||
|
indent_char
|
||||||
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
utils._if(
|
utils._if(
|
||||||
@ -393,7 +441,10 @@ local refresh = function(scroll)
|
|||||||
local extra_context_active = context_active and context_indent == index
|
local extra_context_active = context_active and context_indent == index
|
||||||
|
|
||||||
if
|
if
|
||||||
(char ~= "" or (extra_context_active and context_char ~= ""))
|
(
|
||||||
|
(indent_char ~= "" or #indent_char_list > 0)
|
||||||
|
or (extra_context_active and (context_indent_char ~= "" or #context_char_list > 0))
|
||||||
|
)
|
||||||
and ((blankline or extra) and trail_indent)
|
and ((blankline or extra) and trail_indent)
|
||||||
and (first_indent or #virtual_text > 0)
|
and (first_indent or #virtual_text > 0)
|
||||||
and current_left_offset < 1
|
and current_left_offset < 1
|
||||||
@ -402,8 +453,12 @@ local refresh = function(scroll)
|
|||||||
table.insert(virtual_text, {
|
table.insert(virtual_text, {
|
||||||
utils._if(
|
utils._if(
|
||||||
extra_context_active,
|
extra_context_active,
|
||||||
utils.get_from_list(context_char_list, index - utils._if(not first_indent, 1, 0), context_char),
|
utils.get_from_list(
|
||||||
utils.get_from_list(char_list, index - utils._if(not first_indent, 1, 0), char)
|
context_indent_char_list,
|
||||||
|
index - utils._if(not first_indent, 1, 0),
|
||||||
|
context_indent_char
|
||||||
|
),
|
||||||
|
utils.get_from_list(indent_char_list, index - utils._if(not first_indent, 1, 0), indent_char)
|
||||||
),
|
),
|
||||||
utils._if(
|
utils._if(
|
||||||
extra_context_active,
|
extra_context_active,
|
||||||
@ -487,7 +542,7 @@ local refresh = function(scroll)
|
|||||||
vim.g.indent_blankline_namespace,
|
vim.g.indent_blankline_namespace,
|
||||||
i - 1 + offset,
|
i - 1 + offset,
|
||||||
0,
|
0,
|
||||||
{ virt_text = virtual_text, virt_text_pos = "overlay", hl_mode = "combine" }
|
{ virt_text = virtual_text, virt_text_pos = "overlay", hl_mode = "combine", priority = 1 }
|
||||||
)
|
)
|
||||||
end)()
|
end)()
|
||||||
return async:close()
|
return async:close()
|
||||||
@ -584,7 +639,7 @@ local refresh = function(scroll)
|
|||||||
vim.g.indent_blankline_namespace,
|
vim.g.indent_blankline_namespace,
|
||||||
i - 1 + offset,
|
i - 1 + offset,
|
||||||
0,
|
0,
|
||||||
{ virt_text = virtual_text, virt_text_pos = "overlay", hl_mode = "combine" }
|
{ virt_text = virtual_text, virt_text_pos = "overlay", hl_mode = "combine", priority = 1 }
|
||||||
)
|
)
|
||||||
end)()
|
end)()
|
||||||
return async:close()
|
return async:close()
|
||||||
|
@ -70,9 +70,14 @@ M.is_indent_blankline_enabled = M.memo(
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local undotted_filetypes = vim.split(filetype, ".", { plain = true })
|
||||||
|
table.insert(undotted_filetypes, filetype)
|
||||||
|
|
||||||
for _, ft in ipairs(filetype_exclude) do
|
for _, ft in ipairs(filetype_exclude) do
|
||||||
if ft == filetype then
|
for _, undotted_filetype in ipairs(undotted_filetypes) do
|
||||||
return false
|
if undotted_filetype == ft then
|
||||||
|
return false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -188,7 +193,6 @@ M.get_current_context = function(type_patterns)
|
|||||||
if node_start ~= node_end then
|
if node_start ~= node_end then
|
||||||
return true, node_start + 1, node_end + 1, rgx
|
return true, node_start + 1, node_end + 1, rgx
|
||||||
end
|
end
|
||||||
node_start, node_end = nil, nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
cursor_node = cursor_node:parent()
|
cursor_node = cursor_node:parent()
|
||||||
@ -210,13 +214,15 @@ M.reset_highlights = function()
|
|||||||
vim.fn.synIDattr(label_highlight, "fg", "cterm"),
|
vim.fn.synIDattr(label_highlight, "fg", "cterm"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for highlight_name, highlight in pairs {
|
for highlight_name, highlight in
|
||||||
IndentBlanklineChar = whitespace_fg,
|
pairs {
|
||||||
IndentBlanklineSpaceChar = whitespace_fg,
|
IndentBlanklineChar = whitespace_fg,
|
||||||
IndentBlanklineSpaceCharBlankline = whitespace_fg,
|
IndentBlanklineSpaceChar = whitespace_fg,
|
||||||
IndentBlanklineContextChar = label_fg,
|
IndentBlanklineSpaceCharBlankline = whitespace_fg,
|
||||||
IndentBlanklineContextStart = label_fg,
|
IndentBlanklineContextChar = label_fg,
|
||||||
} do
|
IndentBlanklineContextStart = label_fg,
|
||||||
|
}
|
||||||
|
do
|
||||||
local current_highlight = vim.fn.synIDtrans(vim.fn.hlID(highlight_name))
|
local current_highlight = vim.fn.synIDtrans(vim.fn.hlID(highlight_name))
|
||||||
if
|
if
|
||||||
vim.fn.synIDattr(current_highlight, "fg") == ""
|
vim.fn.synIDattr(current_highlight, "fg") == ""
|
||||||
@ -246,7 +252,7 @@ M.reset_highlights = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
M.first_not_nil = function(...)
|
M.first_not_nil = function(...)
|
||||||
for _, value in pairs { ... } do
|
for _, value in pairs { ... } do -- luacheck: ignore
|
||||||
return value
|
return value
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user