commit 22c3355d5690c1e4ffe2cc44619b0a113fe1840f
parent 226d7e2910d8ffa553a5134324738e5f9283362a
Author: Tomas Nemec <nemi@skaut.cz>
Date: Tue, 16 Nov 2021 13:22:08 +0100
update
Diffstat:
6 files changed, 71 insertions(+), 24 deletions(-)
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -17,3 +17,6 @@ if vim.fn.getline(1):match('^#!.*dcli') then
else
vim.cmd [[comp dart]]
end
+
+require('tms.p.cmp').enable_autocomplete()
+
diff --git a/lua/my-default.lua b/lua/my-default.lua
@@ -4,6 +4,8 @@ local c = require('colors')
-- Special
Color.new('backg', c.background)
Color.new('foreg', c.foreground)
+local is_dark = false
+if (colors.foreg.L > colors.backg.L) then is_dark = true end
Color.new('cursor', c.cursor)
-- colors
@@ -109,3 +111,33 @@ Group.new('Repeat', colors.c3, colors.none)
Group.new('SpecialChar', colors.c5, colors.none)
Group.new('Tag', colors.c3, colors.none)
Group.new('Typedef', colors.c3, colors.none)
+
+-- Telescope
+Group.new('TelescopeSelection', groups.Normal.bg, groups.Normal.fg)
+-- Lightspeed
+-- local gray_wash = (is_dark and colors.backg:light(0.3)) or colors.backg:dark(0.3)
+local N = groups.Normal
+local gray_wash = groups.Comment.fg
+local ls1 = colors.c2
+local ls2 = colors.c3
+
+local dimm = function(color, amount)
+ if is_dark then
+ return color:light(amount)
+ else
+ return color:dark(amount)
+ end
+end
+
+Group.new('LightspeedGreyWash', gray_wash, colors.backg)
+Group.new('LightspeedCursor', N, N, styles.reverse)
+Group.new('LightspeedUnlabeledMatch', N, N, styles.bold) -- linked: hLightspeedUniqueChar
+Group.new('LightspeedPendingOpArea', N, N, styles.reverse)
+Group.new('LightspeedLabel', ls1, colors.none, styles.none)
+Group.new('LightspeedLabelOverlapped', dimm(ls1, 0.1), colors.none, styles.none)
+Group.new('LightspeedLabelDistant', ls2, colors.none, styles.none)
+Group.new('LightspeedLabeDistantlOverlapped', dimm(ls2, 0.1), colors.none, styles.none)
+Group.new('LightspeedShortcut', ls1, nil, styles.reverse)
+Group.new('LightspeedShortcutOverlapped', dimm(ls1, 0.1), nil, styles.none)
+Group.new('LightspeedMaskedChar', N, nil, styles.none)
+Group.new('LightspeedOneCharMatch', nil, nil, styles.underline + styles.bold)
diff --git a/lua/tms/ft/dart/bin.lua b/lua/tms/ft/dart/bin.lua
@@ -3,10 +3,12 @@ local fn = vim.fn
local M = {}
function M.lspcmd()
- local dart_sdk = fn.resolve(fn.exepath('dart'))
- local dart_sdk_root_path = fn.fnamemodify(dart_sdk, ':h')
- local snapshot = dart_sdk_root_path .. '/snapshots/analysis_server.dart.snapshot'
- return {'dart', snapshot, '--lsp'}
+ local dart_bin = fn.resolve(fn.exepath('dart'))
+ local dart_bin_root = fn.fnamemodify(dart_bin, ':h')
+ local snapshot = dart_bin_root .. '/snapshots/analysis_server.dart.snapshot'
+ return {dart_bin, snapshot, '--lsp', '--port=10000'}
+ -- return {dart_bin, snapshot, '--lsp', '--port=10000', '--instrumentation-log-file=/tmp/analysis.txt'}
+ -- return {'/home/tms/.dswitch/active/dart', '/home/tms/dev/dart/sdk/pkg/analysis_server/bin/server.dart', '--lsp', '--port=10000', '--instrumentation-log-file=/tmp/analysis.txt'}
end
return M
diff --git a/lua/tms/lsp/servers.lua b/lua/tms/lsp/servers.lua
@@ -27,6 +27,7 @@ M.dartls = function(attach_fn)
on_attach = attach_fn,
cmd = require'tms.ft.dart.bin'.lspcmd(),
init_options = {closingLabels = true, outline = true},
+ -- filetypes = {'dart', 'html'},
settings = {dart = {lineLength = 120, showTodos = true, completeFunctionCalls = true}},
handlers = {['dart/textDocument/publishClosingLabels'] = require('tms.ft.dart.closing_labels').get_callback {}},
root_dir = lspc.util.root_pattern('pubspec.yaml', '.git', vim.fn.getcwd()),
diff --git a/lua/tms/p/cmp/init.lua b/lua/tms/p/cmp/init.lua
@@ -3,18 +3,6 @@ local cmp = require('cmp')
local M = {}
-M.sources = {
- {name = 'nvim_lsp'},
- {name = 'nvim_lua'},
- {name = 'luasnip'},
- {name = 'path'},
- {name = 'buffer', keyword_length = 5},
- {name = 'spell'},
- {name = 'calc'},
- {name = 'treesitter'},
- {name = 'dictionary'},
-}
-
local register_sources = function() cmp.register_source('exe', require('tms.p.cmp.exe_source').new()) end
M.setup = function()
@@ -29,16 +17,37 @@ M.setup = function()
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-e>'] = cmp.mapping.close(),
- ['<C-y>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Insert, select = true}),
- ['<CR>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Insert, select = true}),
+ ['<C-y>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Replace, select = true}),
+ ['<CR>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Replace, select = true}),
['<Left>'] = cmp.mapping.close(),
['<Down>'] = cmp.mapping.select_next_item(),
['<Up>'] = cmp.mapping.select_prev_item(),
- ['<Right>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Insert, select = true}),
+ ['<Right>'] = cmp.mapping.confirm({behavior = cmp.ConfirmBehavior.Replace, select = true}),
},
- sources = M.sources,
- experimental = {ghost_text = true, native_menu = true},
+ sources = cmp.config.sources({
+ {name = 'nvim_lsp'},
+ {name = 'nvim_lua'},
+ {name = 'luasnip'},
+ {name = 'path'},
+ {name = 'buffer', keyword_length = 5},
+ {name = 'spell'},
+ {name = 'calc'},
+ {name = 'treesitter'},
+ {name = 'dictionary'},
+ }),
+ experimental = {ghost_text = true},
})
+
+ -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
+ -- cmp.setup.cmdline('/', {sources = {{name = 'buffer'}}})
+
+ -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
+ -- cmp.setup.cmdline(':', {sources = cmp.config.sources({{name = 'path'}}, {{name = 'cmdline'}})})
+
+end
+
+M.enable_autocomplete = function()
+ cmp.setup.buffer {completion = {autocomplete = {cmp.TriggerEvent.TextChanged}}}
end
return M
diff --git a/lua/tms/u/reload.lua b/lua/tms/u/reload.lua
@@ -3,9 +3,9 @@ local reloader = require('plenary.reload')
local M = {}
M.colors = function()
- reloader.reload_module('my-default')
- reloader.reload_module('colors')
- require('colorbuddy').colorscheme('my-default')
+ package.loaded['colors'] = nil
+ package.loaded['my-default'] = nil
+ require('my-default')
end
return M