neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim.git
Log | Files | Refs

commit 22c3355d5690c1e4ffe2cc44619b0a113fe1840f
parent 226d7e2910d8ffa553a5134324738e5f9283362a
Author: Tomas Nemec <nemi@skaut.cz>
Date:   Tue, 16 Nov 2021 13:22:08 +0100

update

Diffstat:
Mftplugin/dart.lua | 3+++
Mlua/my-default.lua | 32++++++++++++++++++++++++++++++++
Mlua/tms/ft/dart/bin.lua | 10++++++----
Mlua/tms/lsp/servers.lua | 1+
Mlua/tms/p/cmp/init.lua | 43++++++++++++++++++++++++++-----------------
Mlua/tms/u/reload.lua | 6+++---
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