commit 14277d6f3f81e5fb690000b7f4434953aa4bee50
parent b7195de20a4bbbe4022d4eb770cfabec2f769ca7
Author: Tomas Nemec <nemi@skaut.cz>
Date: Tue, 4 Oct 2022 10:34:01 +0200
update
Diffstat:
22 files changed, 261 insertions(+), 223 deletions(-)
diff --git a/after/plugin/actions.lua b/after/plugin/actions.lua
@@ -3,7 +3,7 @@ if not pcall(require, 'actions') then return end
local utils = require 'actions.utils'
local actions = {}
-local mappings = { ['n <leader>ar'] = 'run', ['n <leader>at'] = 'test', ['n <leader>ab'] = 'build' }
+local mappings = { ['n <space>ar'] = 'run', ['n <space>at'] = 'test', ['n <space>ab'] = 'build' }
local function make(_) vim.cmd [[make]] end
diff --git a/after/plugin/difftastic.lua b/after/plugin/difftastic.lua
@@ -123,6 +123,10 @@ local function show_diff(lang, lhs_file, rhs_file, chunks)
local lhs_buf = vim.api.nvim_create_buf(true, true)
local rhs_buf = vim.api.nvim_create_buf(true, true)
+ -- TODO(tms) 03.10.22: yes!
+ -- local oldbuf = vim.fn.bufadd(old_fname)
+ -- vim.fn.bufload(oldbuf)
+
vim.api.nvim_buf_call(lhs_buf, function()
vim.api.nvim_command(':0r ' .. lhs_file)
end)
diff --git a/after/plugin/format.lua b/after/plugin/format.lua
@@ -8,26 +8,20 @@ vim.api.nvim_create_autocmd('LspAttach', {
local cap = client.server_capabilities;
if cap.documentFormattingProvider then
- vim.api.nvim_buf_set_option(buf, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
-
+ -- TODO(tms) 03.10.22: zbavit se Q a pouivat gq
vim.keymap.set('n', 'Q', function()
- local params = vim.lsp.util.make_formatting_params({})
- local rsp = client.request_sync('textDocument/formatting', params, nil, buf)
-
- if rsp.result then
- vim.lsp.util.apply_text_edits(rsp.result, buf, 'utf-16')
- end
+ vim.lsp.buf.format()
if vim.api.nvim_buf_get_option(buf, 'ft') == 'dart' then
- vim.api.nvim_command('NgHtmlFormat')
+ vim.api.nvim_cmd({ cmd = 'NgHtmlFormat' }, {})
end
end, { buffer = buf, desc = 'LSP Format' })
+
end
if cap.documentRangeFormattingProvider then
- local rhs = ':<c-u>lua vim.lsp.buf.range_formatting()<cr>'
- vim.keymap.set('v', 'Q', rhs, { buffer = buf, desc = 'LSP Range Format' })
+ vim.keymap.set('v', 'Q', vim.lsp.buf.format, { buffer = buf, desc = 'LSP Range Format' })
end
end,
})
diff --git a/after/plugin/leap.lua b/after/plugin/leap.lua
@@ -25,7 +25,6 @@ end
default_highlights()
leap.set_default_keymaps()
-vim.keymap.set('n', 'gw', '<Plug>(leap-cross-window)')
if pcall(require, 'tms.p.leap.ast') then
vim.keymap.set({ 'n', 'x', 'o' }, 'gp', function()
diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua
@@ -25,11 +25,12 @@ vim.api.nvim_create_autocmd('LspAttach', {
vim.keymap.set('n', 'gd', lb.definition, opt 'LSP Definition')
vim.keymap.set('n', 'gD', '<cmd>vsplit | lua vim.lsp.buf.definition()<cr>', opt('LSP definition in vsplit'))
end
- if cap.typeDefinitionProvider then
- vim.keymap.set('n', 'gT', lb.type_definition, opt('LSP Type Definition'))
- end
+ -- collision with previous tab `gT`
+ -- if cap.typeDefinitionProvider then
+ -- vim.keymap.set('n', 'gT', lb.type_definition, opt('LSP Type Definition'))
+ -- end
if cap.implementationProvider then
- vim.keymap.set('n', 'gi', lb.implementation, opt('LSP Implementation'))
+ vim.keymap.set('n', 'gm', lb.implementation, opt('LSP Implementation'))
end
if cap.signatureHelpProvider then
vim.keymap.set('n', '<c-p>', lb.signature_help, opt('LSP Signature Help'))
@@ -39,17 +40,16 @@ vim.api.nvim_create_autocmd('LspAttach', {
vim.keymap.set('n', 'gr', lb.references, opt('LSP References'))
end
if cap.codeActionProvider then
- vim.keymap.set('n', 'ga', lb.code_action, opt('LSP Code Actions'))
- vim.keymap.set('v', 'ga', lb.range_code_action, opt('LSP Code Actions'))
- end
- if cap.renameProvider then
- vim.keymap.set('n', 'gn', lb.rename, opt('LSP Rename'))
+ vim.keymap.set({ 'n', 'v' }, 'ga', lb.code_action, opt('LSP Code Actions'))
end
if cap.documentHighlightProvider then
vim.keymap.set('n', 'gk', lb.document_highlight, opt('LSP Highlight'))
vim.api.nvim_create_autocmd('CursorMoved',
{ group = lsp_group, buffer = buf, callback = vim.lsp.buf.clear_references })
end
+ if cap.renameProvider then
+ vim.keymap.set('n', 'cd', lb.rename, opt('LSP Rename (change definition'))
+ end
local has_aerial, aerial = pcall(require, 'aerial')
if has_aerial then
@@ -69,16 +69,12 @@ local with = vim.lsp.with
handlers['textDocument/hover'] = with(handlers.hover, { border = 'single' })
handlers['textDocument/signatureHelp'] = with(handlers.signature_help, { border = 'single' })
--- lsp.handlers['$/progress'] = progress.handler
+-- local progress = require('tms.lsp.progress')
+-- handlers['$/progress'] = progress.handler
-- local severity = { 'error', 'warn', 'info' }
--- lsp.handlers['window/showMessage'] =
--- function(_, method, params, _) vim.notify(method.message, severity[params.type]) end
-
--- manual
-do
- lspconfig.dartls.setup(lsp.make_opts('dartls'))
- lspconfig.tsserver.setup(lsp.make_opts('tsserver'))
-end
+-- handlers['window/showMessage'] = function(_, method, params, _)
+-- vim.notify(method.message, severity[params.type])
+-- end
-- mason
if pcall(require, 'mason') then
diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua
@@ -1,4 +1,6 @@
-if not pcall(require, 'telescope') then return end
+if not pcall(require, 'telescope') then
+ return
+end
local telescope = require('telescope')
local actions = require('telescope.actions')
@@ -16,7 +18,6 @@ telescope.setup {
-- extensions
_ = telescope.load_extension('fzy_native')
_ = telescope.load_extension('dap')
-_ = telescope.load_extension('media_files')
_ = telescope.load_extension('aerial')
_ = telescope.load_extension('zk')
_ = telescope.load_extension('git_worktree')
@@ -41,18 +42,16 @@ map('n', '<space>e', 'grep_string')
map('n', '<space>c', 'git_status')
map('n', '<space>q', 'quickfix')
map('n', '<space>k', 'keymaps')
-map('n', '<space>m', 'man_pages')
+map('n', '<space>r', 'aerial')
+map('n', '<space>m', 'lsp_document_symbols')
+map('n', '<space>M', 'lsp_dynamic_workspace_symbols')
map('n', '<space>o', 'oldfiles')
map('n', '<space>t', 'treesitter')
map('n', '<space>p', 'packer')
map('n', '<space>P', 'reloader')
-map('n', '<space>M', 'media_files')
-map('n', '<space>r', 'aerial')
map('n', '<space>wo', 'git_worktrees')
map('n', '<space>wi', 'create_git_worktree')
map('n', '<space>n', 'edit_neovim')
-map('n', 'gm', 'lsp_document_symbols')
-map('n', 'gM', 'lsp_dynamic_workspace_symbols')
require('tms.colors').update(function(t)
t.Group.new('TelescopeSelection', nil, t.dimm(t.groups.Normal.bg, 0.05))
diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua
@@ -28,10 +28,10 @@ parser_configs.norg_table = {
},
}
-require'nvim-treesitter.configs'.setup {
+require 'nvim-treesitter.configs'.setup {
ensure_intalled = 'all',
ignore_install = { 'lua', 'vim', 'c' },
- highlight = { enable = true, disable = { 'lua' } },
+ highlight = { enable = true, disable = { 'lua', 'vim' } },
indent = { enable = true },
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -1,52 +1,54 @@
vim.g.dart_style_guide = 2
vim.g.dart_html_in_string = true
-if not pcall(require, 'dartls-helper.lsp') then
- return
-end
+vim.lsp.start(require'tms.lsp'.make_opts('dartls'))
+
+if pcall(require, 'dart-tools') then
+ local dt_lsp = require('dart-tools.lsp')
-local lsp = require('dartls-helper.lsp')
-local req = require('dartls-helper.request')
+ local dt_req = require('dart-tools.lsp.request')
-local ddebug = require('tms.ft.dart.debug')
+ local ddebug = require('tms.ft.dart.debug')
-local cmd_opts = {}
-vim.api.nvim_buf_create_user_command(0, 'DartDebug', ddebug.func, cmd_opts)
-vim.api.nvim_buf_create_user_command(0, 'DartPrint', ddebug.print, cmd_opts)
-vim.api.nvim_buf_create_user_command(0, 'DartOrganizeImports', lsp.organize_imports, cmd_opts)
-vim.api.nvim_buf_create_user_command(0, 'DartFixAll', lsp.fix_all, cmd_opts)
-vim.api.nvim_buf_create_user_command(0, 'DartExtract', lsp.extract_method, cmd_opts)
-vim.api.nvim_buf_create_user_command(0, 'DartVariable', lsp.extract_local_variable, cmd_opts)
+ local cmd_opts = {}
+ vim.api.nvim_buf_create_user_command(0, 'DartDebug', ddebug.func, cmd_opts)
+ vim.api.nvim_buf_create_user_command(0, 'DartPrint', ddebug.print, cmd_opts)
+ vim.api.nvim_buf_create_user_command(0, 'DartOrganizeImports', dt_lsp.organize_imports, cmd_opts)
+ vim.api.nvim_buf_create_user_command(0, 'DartFixAll', dt_lsp.fix_all, cmd_opts)
+ vim.api.nvim_buf_create_user_command(0, 'DartExtract', dt_lsp.extract_method, cmd_opts)
+ vim.api.nvim_buf_create_user_command(0, 'DartVariable', dt_lsp.extract_local_variable, cmd_opts)
-local opts = function(desc)
- return { buffer = true, desc = desc }
+ local opts = function(desc)
+ return { buffer = true, desc = desc }
+ end
+ vim.keymap.set('n', '<leader>ap', function()
+ ddebug.print()
+ end, opts('Dart Debug Print'))
+ vim.keymap.set('n', '<leader>ao', dt_lsp.organize_imports, opts('Dart Organize Imports'))
+ vim.keymap.set('n', '<leader>af', function()
+ dt_lsp.fix_all()
+ end, opts('Dart Fix All'))
+ vim.keymap.set({ 'v', 'n' }, '<leader>ai', dt_lsp.inline_local_variable, opts('Dart Inline Local Varibale'))
+ vim.keymap.set({ 'v', 'n' }, '<leader>ae', dt_lsp.extract_local_variable, opts('Dart Extract Local Varibale'))
+ vim.keymap.set({ 'v', 'n' }, '<leader>am', dt_lsp.extract_method, opts('Dart Extract Method'))
+ vim.keymap.set('n', '<leader>al', dt_lsp.list_code_action_kinds, opts('Dart List Code Actions'))
+ vim.keymap.set('n', '<leader>as', function()
+ dt_req.execute_command('refactor.splitVariableDeclaration')
+ end, opts('Dart Split Variable Declaration'))
+ vim.keymap.set('n', '<leader>aj', function()
+ dt_req.execute_command('refactor.joinVariableDeclaration')
+ end, opts('Dart Join Variable Declaration'))
+ vim.keymap.set('n', '<leader>ax', function()
+ dt_req.execute_command('refactor.convert.bodyToExpression')
+ end, opts('Dart Convert To Expression'))
+ vim.keymap.set('n', '<leader>aa', function()
+ dt_req.execute_command('refactor.convert.bodyToAsync')
+ end, opts('Dart Convert To Async'))
+ vim.keymap.set('n', '<leader>ab', function()
+ dt_req.execute_command('refactor.convert.bodyToBlock')
+ end, opts('Dart Convert To Block'))
+ vim.keymap.set('n', '<leader>ad', dt_lsp.super, opts('Dart Go to Super Definition'))
end
-vim.keymap.set('n', '<leader>pp', function()
- ddebug.print()
-end, opts('Dart Debug Print'))
-vim.keymap.set('n', '<leader>po', lsp.organize_imports, opts('Dart Organize Imports'))
-vim.keymap.set('n', '<leader>pf', function()
- lsp.fix_all()
-end, opts('Dart Fix All'))
-vim.keymap.set({ 'v', 'n' }, '<leader>pi', lsp.inline_local_variable, opts('Dart Inline Local Varibale'))
-vim.keymap.set({ 'v', 'n' }, '<leader>pe', lsp.extract_local_variable, opts('Dart Extract Local Varibale'))
-vim.keymap.set({ 'v', 'n' }, '<leader>pm', lsp.extract_method, opts('Dart Extract Method'))
-vim.keymap.set('n', '<leader>pl', lsp.list_code_action_kinds, opts('Dart List Code Actions'))
-vim.keymap.set('n', '<leader>ps', function()
- req.execute_code_action('refactor.splitVariableDeclaration')
-end, opts('Dart Split Variable Declaration'))
-vim.keymap.set('n', '<leader>pj', function()
- req.execute_code_action('refactor.joinVariableDeclaration')
-end, opts('Dart Join Variable Declaration'))
-vim.keymap.set('n', '<leader>px', function()
- req.execute_code_action('refactor.convert.bodyToExpression')
-end, opts('Dart Convert To Expression'))
-vim.keymap.set('n', '<leader>pa', function()
- req.execute_code_action('refactor.convert.bodyToAsync')
-end, opts('Dart Convert To Async'))
-vim.keymap.set('n', '<leader>pb', function()
- req.execute_code_action('refactor.convert.bodyToBlock')
-end, opts('Dart Convert To Block'))
if vim.fn.getline(1):match('^#!.*dcli') then
vim.cmd [[comp dcli]]
diff --git a/ftplugin/mail.lua b/ftplugin/mail.lua
@@ -1,3 +1,3 @@
vim.opt.spell = true
vim.opt.spelllang = {'cs', 'csa', 'en'}
-vim.keymap.set('n', '<leader>pa', require('tms.p.telescope').mail_address, {buffer = true})
+vim.keymap.set('n', '<leader>aa', require('tms.p.telescope').mail_address, {buffer = true})
diff --git a/lua/plugins.lua b/lua/plugins.lua
@@ -50,7 +50,7 @@ return packer.startup({
-- Notes
-- use { 'nvim-neorg/neorg', requires = { 'nvim-lua/plenary.nvim' } }
- use { 'mickael-menu/zk-nvim', requires = { 'neovim/nvim-lspconfig' } }
+ use { 'mickael-menu/zk-nvim' }
-- quickfix list
use 'kevinhwang91/nvim-bqf'
@@ -140,14 +140,13 @@ return packer.startup({
use 'nvim-telescope/telescope-packer.nvim'
use 'nvim-telescope/telescope-fzy-native.nvim'
use 'nvim-telescope/telescope-dap.nvim'
- use 'nvim-telescope/telescope-media-files.nvim'
-- Godot
use 'habamax/vim-godot'
-- personal
use 'GenesisTMS/trans.nvim'
- use '~/dev/nvim/plugins/dartls-helper'
+ use '~/dev/nvim/plugins/dart-tools.nvim'
-- database
use 'tpope/vim-dadbod'
diff --git a/lua/tms/autocmd.lua b/lua/tms/autocmd.lua
@@ -20,6 +20,7 @@ vim.api.nvim_create_autocmd('BufEnter', {
if preview then
vim.opt.scrolloff = 0
vim.opt.sidescrolloff = 0
+ -- vim.api.nvim_exec('wincmd L', false)
end
end,
})
diff --git a/lua/tms/ft/dart/closing_labels.lua b/lua/tms/ft/dart/closing_labels.lua
@@ -41,7 +41,7 @@ end
-- Gets a callback to register to the dartls publishClosingLabels notification.
-- @tparam table a table of options: highlight, prefix
-M.get_callback = function(opts)
+M.handle = function(opts)
return function(_, _, result, _, _)
local uri = result.uri
local labels = result.labels
diff --git a/lua/tms/keymap.lua b/lua/tms/keymap.lua
@@ -15,15 +15,10 @@ vim.keymap.set('n', '<leader>w', '<cmd>write<cr>', {})
vim.keymap.set('n', '<leader>W', '<cmd>wall<cr>', {})
vim.keymap.set('n', '<leader>e', '<cmd>edit<cr>', {})
vim.keymap.set('n', '<leader>E', ':e %:h/', {})
-vim.keymap.set('n', '<leader>q', '<cmd>quit<cr>', {})
-vim.keymap.set('n', '<leader>Q', '<cmd>quit!<cr>', {})
+-- vim.keymap.set('n', '<leader>q', '<cmd>quit<cr>', {})
+-- vim.keymap.set('n', '<leader>Q', '<cmd>quit!<cr>', {})
vim.keymap.set('n', '<leader>M', '<cmd>messages<cr>', {})
vim.keymap.set('n', '<leader>so', '<cmd>source<cr>', {})
--- window movement
-vim.keymap.set('n', '<a-h>', '<c-w>h', {})
-vim.keymap.set('n', '<a-j>', '<c-w>j', {})
-vim.keymap.set('n', '<a-k>', '<c-w>k', {})
-vim.keymap.set('n', '<a-l>', '<c-w>l', {})
-- window movement in terminal
vim.keymap.set('t', '<a-l>', '<c-\\><c-n><c-w>l', {})
vim.keymap.set('t', '<a-j>', '<c-\\><c-n><c-w>j', {})
@@ -41,10 +36,13 @@ vim.keymap.set('i', '<c-k>', '<esc>:m .-2<cr>==', {})
vim.keymap.set('v', '<c-j>', ':m \'>+1<cr>gv=gv', {})
vim.keymap.set('v', '<c-k>', ':m \'<-2<cr>gv=gv', {})
-- quickfix/loclist
-vim.keymap.set('n', '<leader>c', '<cmd>call ToggleList("Quickfix List", "c")<cr>', {})
-vim.keymap.set('n', '<leader>C', '<cmd>cexpr []|cclose<cr>', {})
+vim.keymap.set('n', '<leader>q', '<cmd>call ToggleList("Quickfix List", "c")<cr>', {})
+vim.keymap.set('n', '<leader>Q', '<cmd>cexpr []|cclose<cr>', {})
vim.keymap.set('n', '<leader>l', '<cmd>call ToggleList("Location List", "l")<cr>', {})
vim.keymap.set('n', '<leader>L', '<cmd>lexpr []|lclose<cr>', {})
+-- file operation
+vim.keymap.set('n', 'cf', require'tms.p.rename_file'.rename_file, { desc = 'Rename File (Change File)' })
+-- <leader>c is for lsp rename
-- fold
vim.keymap.set('n', 'zH', 'zM', {})
vim.keymap.set('n', 'zh', 'zm', {})
diff --git a/lua/tms/lsp/init.lua b/lua/tms/lsp/init.lua
@@ -13,9 +13,13 @@ end
M.make_opts = function(name)
local opts = {}
+ opts.name = name
opts.capabilities = M.capabilities()
- opts = require('tms.lsp.servers').setup(name, opts)
- return opts
+ local servers = require('tms.lsp.servers')
+ if not servers[name] then
+ return opts
+ end
+ return servers[name](opts)
end
return M
diff --git a/lua/tms/lsp/servers.lua b/lua/tms/lsp/servers.lua
@@ -1,64 +1,40 @@
-- Custom configuration for servers
local M = {}
-local S = {}
-M.installed = {
- 'bashls',
- 'clangd',
- 'cmake',
- 'cssls',
- 'dockerls',
- 'emmet_ls',
- 'gopls',
- 'html',
- 'intelephense',
- 'jdtls',
- 'jsonls',
- 'pyright',
- 'rust_analyzer',
- 'sumneko_lua',
- 'tsserver',
- 'vimls',
- 'yamlls',
- 'zls',
- 'dartls',
- 'gdscript',
-}
-
-M.no_format = { sumneko_lua = true }
-
-M.setup = function(name, opts)
- local fn = S[name]
- if fn then
- opts = fn(opts)
- end
- return opts
-end
-
-S.jsonls = function(opts)
+M.jsonls = function(opts)
opts.settings = { json = { schemas = require('schemastore').json.schemas() } }
return opts
end
-S.yamlls = function(opts)
+M.yamlls = function(opts)
opts.settings = { yaml = { schemaStore = { enable = true } } }
return opts
end
-S.cssls = function(opts)
+M.cssls = function(opts)
opts.capabilities.textDocument.completion.completionItem.snippetSupport = true
return opts
end
-S.sumneko_lua = function(opts)
+M.sumneko_lua = function(opts)
opts.settings = {
- Lua = { runtime = { version = 'LuaJIT' }, diagnostics = { globals = { 'vim' } }, telemetry = { enable = false } },
+ Lua = {
+ --
+ runtime = { version = 'LuaJIT' },
+ diagnostics = { --
+ globals = { 'vim' },
+ disable = { 'missing-parameter' },
+ },
+ telemetry = { enable = false },
+ workspace = { checkThirdParty = false },
+ },
+
}
opts = require('lua-dev').setup({
library = {
vimruntime = true, -- runtime path
types = true, -- full signature, docs and completion of vim.api, vim.treesitter, vim.lsp and others
- plugins = false, -- installed opt or start plugins in packpath
+ plugins = true, -- installed opt or start plugins in packpath
-- you can also specify the list of plugins to make available as a workspace library
-- plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim" },
},
@@ -68,33 +44,29 @@ S.sumneko_lua = function(opts)
return opts
end
-S.emmet_ls = function(opts)
+M.emmet_ls = function(opts)
opts.root_dir = require('lspconfig').util.root_pattern('.git', vim.fn.getcwd())
return opts
end
-S.gopls = function(opts)
+M.gopls = function(opts)
opts.root_dir = require('lspconfig').util.root_pattern('go.work', 'go.mod', '.git', vim.fn.getcwd())
return opts
end
-S.html = function(opts)
+M.html = function(opts)
opts.init_options = { provideFormatter = false }
return opts
end
-S.dartls = function(opts)
- local dart_bin = vim.fn.resolve(vim.fn.exepath('dart'))
- opts.cmd = { dart_bin, 'language-server', '--port=10000' }
- opts.init_options = { closingLabels = true, outline = true }
- -- filetypes = {'dart', 'html'}
- opts.settings = { dart = { lineLength = 120, showTodos = true, completeFunctionCalls = true } }
- opts.handlers = { ['dart/textDocument/publishClosingLabels'] = require('tms.ft.dart.closing_labels').get_callback() }
- opts.root_dir = require('lspconfig').util.root_pattern('pubspec.yaml', '.git', vim.fn.getcwd())
- return opts
+M.dartls = function(opts)
+ local dart_tools_lsp = require('dart-tools.lsp')
+ if dart_tools_lsp then
+ return dart_tools_lsp.make_opts(opts)
+ end
end
-S.intelephense = function(opts)
+M.intelephense = function(opts)
opts.init_options = {
clearCache = true,
licenceKey = os.getenv('XDG_CONFIG_HOME') .. '/intelephense/licenceKey.txt',
diff --git a/lua/tms/options.lua b/lua/tms/options.lua
@@ -42,3 +42,4 @@ vim.opt.number = false
vim.opt.scrolloff = 5
vim.opt.sidescrolloff = 5
vim.opt.signcolumn = 'yes:1'
+vim.opt.cmdheight = 0
diff --git a/lua/tms/p/rename_file.lua b/lua/tms/p/rename_file.lua
@@ -0,0 +1,23 @@
+local M = {}
+
+function M.rename_file()
+ local old_fname = vim.api.nvim_buf_get_name(0)
+
+ vim.ui.input({ --
+ prompt = 'filename',
+ default = old_fname,
+ completion = 'file',
+ }, function(new_fname)
+ if not new_fname then
+ return
+ end
+
+ if pcall(require, 'dart-tools.lsp') then
+ require('dart-tools.lsp').update_imports(old_fname, new_fname)
+ end
+
+ vim.lsp.util.rename(old_fname, new_fname)
+ end)
+end
+
+return M
diff --git a/lua/tms/p/telescope.lua b/lua/tms/p/telescope.lua
@@ -40,22 +40,51 @@ M.edit_neovim = function()
builtin.find_files(themes.get_dropdown { prompt_title = 'dotfiles', cwd = '~/.config/nvim', previewer = false })
end
-M.find_files = function() builtin.find_files(layout.dd_large_noprev) end
-M.spell_suggest = function() builtin.spell_suggest(layout.dd) end
-M.lines = function() builtin.current_buffer_fuzzy_find(layout.dd_large_noprev) end
-M.reloader = function() builtin.reloader(layout.dd_noprev) end
-M.buffers = function() builtin.buffers(layout.dd_large) end
-M.keymaps = function() builtin.keymaps(layout.dd_large) end
-M.quickfix = function() builtin.quickfix(layout.dd_large_noprev) end
-M.lsp_code_actions = function() builtin.lsp_code_actions(layout.dd) end
-M.lsp_document_symbols = function() builtin.lsp_document_symbols(layout.dd_large) end
-M.lsp_definitions = function() builtin.lsp_definitions(layout.dd) end
-M.aerial = function() extensions.aerial.aerial(layout.dd_large) end
-M.packer = function() extensions.packer.packer() end
-M.git_worktrees = function() extensions.git_worktree.git_worktrees() end
-M.create_git_worktree = function() extensions.git_worktree.create_git_worktree() end
-M.snippets = function() extensions.snippets.snippets(layout.dd_large) end
-M.media_files = function() extensions.media_files.media_files() end
+M.find_files = function()
+ builtin.find_files(layout.dd_large_noprev)
+end
+M.spell_suggest = function()
+ builtin.spell_suggest(layout.dd)
+end
+M.lines = function()
+ builtin.current_buffer_fuzzy_find(layout.dd_large_noprev)
+end
+M.reloader = function()
+ builtin.reloader(layout.dd_noprev)
+end
+M.buffers = function()
+ builtin.buffers(layout.dd_large)
+end
+M.keymaps = function()
+ builtin.keymaps(layout.dd_large)
+end
+M.quickfix = function()
+ builtin.quickfix(layout.dd_large)
+end
+M.lsp_code_actions = function()
+ builtin.lsp_code_actions(layout.dd)
+end
+M.lsp_document_symbols = function()
+ builtin.lsp_document_symbols(layout.dd_large)
+end
+M.lsp_definitions = function()
+ builtin.lsp_definitions(layout.dd)
+end
+M.aerial = function()
+ extensions.aerial.aerial(layout.dd_large)
+end
+M.packer = function()
+ extensions.packer.packer()
+end
+M.git_worktrees = function()
+ extensions.git_worktree.git_worktrees()
+end
+M.create_git_worktree = function()
+ extensions.git_worktree.create_git_worktree()
+end
+M.snippets = function()
+ extensions.snippets.snippets(layout.dd_large)
+end
return setmetatable({}, {
__index = function(_, k)
diff --git a/lua/tms/ws/init.lua b/lua/tms/ws/init.lua
@@ -3,7 +3,7 @@ local M = {}
M.medoro = {
path = '*/medoro/**',
config = function()
- vim.keymap.set('n', '<leader>pl', '<cmd>lua require("tms.ws.medoro").lang()<cr>', { buffer = true })
+ vim.keymap.set('n', '<leader>al', '<cmd>lua require("tms.ws.medoro").lang()<cr>', { buffer = true })
end,
}
@@ -14,7 +14,7 @@ M.dart = {
local opts = function(desc)
return { buffer = true, desc = desc }
end
- vim.keymap.set('n', '<leader>pn', function()
+ vim.keymap.set('n', '<leader>an', function()
analyze.qf2131()
end, opts('Dart Analyze'))
end,
diff --git a/plugin/diagnostic.lua b/plugin/diagnostic.lua
@@ -1,23 +1,38 @@
vim.diagnostic.config({ virtual_text = false, underline = false, float = { border = 'single' }, severity_sort = true })
local d = {
- next = function() vim.diagnostic.goto_next({ float = false }) end,
- prev = function() vim.diagnostic.goto_prev({ float = false }) end,
- open = function() vim.diagnostic.open_float(0) end,
- open_cursor = function() vim.diagnostic.open_float(0, { scope = 'cursor' }) end,
- loc = function() vim.diagnostic.setloclist() end,
- qf = function() vim.diagnostic.setqflist() end,
- qf_error = function() vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR }) end,
+ next = function()
+ vim.diagnostic.goto_next({ float = false })
+ end,
+ prev = function()
+ vim.diagnostic.goto_prev({ float = false })
+ end,
+ open = function()
+ vim.diagnostic.open_float()
+ end,
+ open_cursor = function()
+ vim.diagnostic.open_float({ scope = 'cursor' })
+ end,
+ ll = function()
+ vim.diagnostic.setloclist()
+ end,
+ ql = function()
+ vim.diagnostic.setqflist()
+ end,
+ ql_error = function()
+ vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR })
+ end,
}
-local o = function(desc) return { desc = desc, silent = true } end
+local o = function(desc)
+ return { desc = desc, silent = true }
+end
-vim.keymap.set('n', '>d', d.next, o('Diagnostic Next'))
-vim.keymap.set('n', '>(', d.next, o('Diagnostic Next'))
-vim.keymap.set('n', '<d', d.prev, o('Diagnostic Previous'))
-vim.keymap.set('n', '<(', d.prev, o('Diagnostic Previous'))
-vim.keymap.set('n', 'gs', d.open, o('Diagnostic Open for Line'))
-vim.keymap.set('n', 'gS', d.open_cursor, o('Diagnostic Open for Cursor'))
-vim.keymap.set('n', 'gll', d.loc, o('Diagnostic to Location List'))
-vim.keymap.set('n', 'glq', d.qf, o('Diagnostic to Quickfix List'))
-vim.keymap.set('n', 'glQ', d.qf_error, o('Diagnostic of Error to Quickfix List'))
+vim.keymap.set('n', 'gww', d.open, o('Diagnostic Open for Line'))
+vim.keymap.set('n', 'gw.', d.open, o('Diagnostic Open for Line'))
+vim.keymap.set('n', 'gwc', d.open_cursor, o('Diagnostic Open for Cursor'))
+vim.keymap.set('n', 'gwl', d.ll, o('Diagnostic to Location List'))
+vim.keymap.set('n', 'gwq', d.ql, o('Diagnostic to Quickfix List'))
+vim.keymap.set('n', 'gwQ', d.ql_error, o('Diagnostic of Error to Quickfix List'))
+vim.keymap.set('n', '<c-l><c-d>', d.next, o('Diagnostic Next'))
+vim.keymap.set('n', '<c-h><c-d>', d.prev, o('Diagnostic Previous'))
diff --git a/plugin/globals.lua b/plugin/globals.lua
@@ -1,10 +1,3 @@
-P = function(v) print(vim.inspect(v)) end
-
-D = function(...)
- local objects = vim.tbl_map(vim.inspect, { ... })
- print(unpack(objects))
-end
-
R = function(p)
package.loaded[p] = nil
return require(p)
diff --git a/plugin/unimpaired.lua b/plugin/unimpaired.lua
@@ -1,32 +1,28 @@
-- remap ] and [
-vim.keymap.set('n', '>q', '<cmd>cnext<cr>')
-vim.keymap.set('n', '>!', '<cmd>cnext<cr>')
-vim.keymap.set('n', '<!', '<cmd>cprev<cr>')
-vim.keymap.set('n', '<q', '<cmd>cprev<cr>')
-vim.keymap.set('n', '>Q', '<cmd>clast<cr>')
-vim.keymap.set('n', '<Q', '<cmd>cfirst<cr>')
-vim.keymap.set('n', '>a', '<cmd>next<cr>')
-vim.keymap.set('n', '<a', '<cmd>prev<cr>')
-vim.keymap.set('n', '>A', '<cmd>last<cr>')
-vim.keymap.set('n', '<A', '<cmd>first<cr>')
-vim.keymap.set('n', '>b', '<cmd>bnext<cr>')
-vim.keymap.set('n', '<b', '<cmd>bprev<cr>')
-vim.keymap.set('n', '>B', '<cmd>blast<cr>')
-vim.keymap.set('n', '<B', '<cmd>bfirst<cr>')
-vim.keymap.set('n', '>l', '<cmd>lnext<cr>')
-vim.keymap.set('n', '>=', '<cmd>lnext<cr>')
-vim.keymap.set('n', '<l', '<cmd>lprev<cr>')
-vim.keymap.set('n', '<=', '<cmd>lprev<cr>')
-vim.keymap.set('n', '>L', '<cmd>llast<cr>')
-vim.keymap.set('n', '<L', '<cmd>lfirst<cr>')
-vim.keymap.set('n', '>t', '<cmd>tnext<cr>')
-vim.keymap.set('n', '<t', '<cmd>tprev<cr>')
-vim.keymap.set('n', '>T', '<cmd>tlast<cr>')
-vim.keymap.set('n', '<T', '<cmd>tfirst<cr>')
-vim.keymap.set('n', '>s', ']s')
-vim.keymap.set('n', '<s', '[s')
-vim.keymap.set('n', '>S', ']S')
-vim.keymap.set('n', '<S', '[S')
+vim.keymap.set('n', '<c-l><c-q>', '<cmd>cnext<cr>')
+vim.keymap.set('n', '<c-h><c-q>', '<cmd>cprev<cr>')
+vim.keymap.set('n', '<c-l>q', '<cmd>clast<cr>')
+vim.keymap.set('n', '<c-h>q', '<cmd>cfirst<cr>')
+vim.keymap.set('n', '<c-l><c-a>', '<cmd>next<cr>')
+vim.keymap.set('n', '<c-h><c-a>', '<cmd>prev<cr>')
+vim.keymap.set('n', '<c-l>a', '<cmd>last<cr>')
+vim.keymap.set('n', '<c-h>a', '<cmd>first<cr>')
+vim.keymap.set('n', '<c-l><c-b>', '<cmd>bnext<cr>')
+vim.keymap.set('n', '<c-h><c-b>', '<cmd>bprev<cr>')
+vim.keymap.set('n', '<c-l>b', '<cmd>blast<cr>')
+vim.keymap.set('n', '<c-h>b', '<cmd>bfirst<cr>')
+vim.keymap.set('n', '<c-l><c-l>', '<cmd>lnext<cr>')
+vim.keymap.set('n', '<c-h><c-l>', '<cmd>lprev<cr>')
+vim.keymap.set('n', '<c-l>l', '<cmd>llast<cr>')
+vim.keymap.set('n', '<c-h>l', '<cmd>lfirst<cr>')
+vim.keymap.set('n', '<c-l><c-t>', '<cmd>tnext<cr>')
+vim.keymap.set('n', '<c-h><c-t>', '<cmd>tprev<cr>')
+vim.keymap.set('n', '<c-l>t', '<cmd>tlast<cr>')
+vim.keymap.set('n', '<c-h>t', '<cmd>tfirst<cr>')
+vim.keymap.set('n', '<c-l><c-s>', ']s')
+vim.keymap.set('n', '<c-h><c-s>', '[s')
+vim.keymap.set('n', '<c-l>s', ']S')
+vim.keymap.set('n', '<c-h>s', '[S')
local toggle = function(op, mode)
local scope
@@ -39,11 +35,23 @@ local toggle = function(op, mode)
end
local val = scope[op]:get()
- assert(type(val) == 'boolean')
- scope[op] = not val
+ if type(val) == 'boolean' then
+ scope[op] = not val
+ elseif type(val) == 'number' then
+ if val == 1 then
+ scope[op] = 0
+ else
+ scope[op] = 1
+ end
+ end
+
end
-local map_toggle = function(letter, option, mode) vim.keymap.set('n', 'yo' .. letter, function() toggle(option) end) end
+local map_toggle = function(letter, option, mode)
+ vim.keymap.set('n', 'yo' .. letter, function()
+ toggle(option, mode)
+ end)
+end
map_toggle('c', 'cursorline', 'local')
map_toggle('u', 'cursorcolumn', 'local')
@@ -54,3 +62,4 @@ map_toggle('n', 'number', 'local')
map_toggle('r', 'relativenumber', 'local')
map_toggle('s', 'spell', 'local')
map_toggle('w', 'wrap', 'local')
+map_toggle('d', 'cmdheight', 'global')