commit a6f0038b149bd50c8fc481b3f2bbe4171a2643cf
parent 67a4cac14345f35642b91a9ee544a2dd5fbad9d3
Author: Tomas Nemec <nemi@skaut.cz>
Date: Tue, 12 Apr 2022 22:05:01 +0200
feat: move all plugin setup to after folder
Diffstat:
33 files changed, 799 insertions(+), 895 deletions(-)
diff --git a/after/plugin/actions.lua b/after/plugin/actions.lua
@@ -0,0 +1,54 @@
+if not pcall(require, 'actions') then return end
+
+local utils = require 'actions.utils'
+
+local actions = {}
+local mappings = { ['n <leader>dr'] = 'run', ['n <leader>dt'] = 'test', ['n <leader>db'] = 'build' }
+
+local function make(_) vim.cmd [[make]] end
+
+local add = function(action) table.insert(actions, action) end
+
+local add_lang = function(lang, a) add { predicate = utils.make_language_predicate(lang), actions = a } end
+
+add_lang('dart', {
+ run = make,
+ build = function(_) -- analyze
+ require('tms.ft.dart.analyze').qf2103()
+ end,
+})
+
+add_lang('lua', { run = make })
+
+add_lang('go', {
+ run = function(_)
+ vim.cmd [[set makeprg=go\ run\ %]]
+ vim.cmd [[make]]
+ vim.cmd [[comp go]]
+ end,
+ test = function(_)
+ vim.cmd [[set makeprg=go\ test]]
+ vim.cmd [[make]]
+ vim.cmd [[comp go]]
+ end,
+ build = make,
+})
+
+add_lang('zsh', {
+ run = function(_)
+ vim.cmd [[set makeprg=./%]]
+ vim.cmd [[set efm=%f:%.%#:%l:\ %m,%f:%l:\ %m,%-G%.%#]]
+ vim.cmd [[make]]
+ vim.cmd [[comp zsh]]
+ end,
+ build = make,
+})
+
+add_lang('gdscript', {
+ run = function(_) vim.cmd [[GodotRun]] end, build = function(_) vim.api.nvim_input(':GodotRun ') end
+})
+
+add_lang('sh', { run = make })
+
+actions.mappings = mappings
+require('actions'):setup(actions)
diff --git a/after/plugin/aerial.lua b/after/plugin/aerial.lua
@@ -0,0 +1,12 @@
+if not pcall(require, 'aerial') then return end
+
+local aerial = require('aerial')
+aerial.setup({})
+
+require('tms.lsp').add_attach({
+ fn = function(client, bufnr) aerial.on_attach(client, bufnr) end,
+})
+
+require('telescope').load_extension('aerial')
+vim.keymap.set('n', '<space>r', require('tms.p.telescope').aerial,
+ { noremap = true })
diff --git a/after/plugin/bqf.lua b/after/plugin/bqf.lua
@@ -0,0 +1,9 @@
+if not pcall(require, 'bqf') then
+ return
+end
+
+require('bqf').setup {
+ auto_enable = true,
+ auto_resize_height = false,
+ preview = { auto_preview = true },
+}
diff --git a/after/plugin/comment.lua b/after/plugin/comment.lua
@@ -0,0 +1,19 @@
+if not pcall(require, 'Comment') then return end
+
+require('Comment').setup({
+ ignore = '^$',
+ pre_hook = function(ctx)
+ -- Only calculate commentstring for tsx filetypes
+ local U = require('Comment.utils')
+ -- Detemine whether to use linewise or blockwise commentstring
+ local type = ctx.ctype == U.ctype.line and '__default' or '__multiline'
+ -- Determine the location where to calculate commentstring from
+ local location = nil
+ if ctx.ctype == U.ctype.block then
+ location = require('ts_context_commentstring.utils').get_cursor_location()
+ elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
+ location = require('ts_context_commentstring.utils').get_visual_start_location()
+ end
+ return require('ts_context_commentstring.internal').calculate_commentstring({ key = type, location = location })
+ end,
+})
diff --git a/after/plugin/dap.lua b/after/plugin/dap.lua
@@ -0,0 +1,79 @@
+if not pcall(require, 'dap') then return end
+
+local cpp = function(dap)
+ dap.adapters.cpp = {
+ type = 'executable',
+ attach = { pidProperty = 'pid', pidSelect = 'ask' },
+ command = 'lldb', -- my binary was called 'lldb-vscode-11'
+ env = { LLDB_LAUNCH_FLAG_LAUNCH_IN_TTY = 'YES' },
+ name = 'lldb',
+ }
+
+ dap.configurations.cpp = {
+ {
+ type = 'cpp',
+ request = 'launch',
+ name = 'Launch File',
+ program = '${file}',
+ },
+ }
+end
+
+local dart = function(dap)
+ dap.defaults.fallback.external_terminal = {
+ command = '/usr/bin/alacritty',
+ args = { '-e' },
+ }
+
+ dap.adapters.dart = {
+ type = 'executable',
+ command = 'node',
+ args = {
+ os.getenv('HOME') .. '/downloads/Dart-Code/out/dist/debug.js',
+ 'dart',
+ },
+ }
+
+ dap.configurations.dart = {
+ {
+ type = 'dart',
+ request = 'launch',
+ name = 'Launch File',
+ dartSdkPath = os.getenv('HOME') .. '/.local/lib/dart/stable/',
+ -- flutterSdkPath = os.getenv('HOME') .. "/flutter",
+ program = '${file}',
+ cwd = '${workspaceFolder}',
+ },
+ }
+end
+
+local function lua(dap)
+ dap.configurations.lua = {
+ {
+ type = 'nlua',
+ request = 'attach',
+ name = 'Attach to running Neovim instance',
+ host = function()
+ local value = vim.fn.input('Host [127.0.0.1]: ')
+ if value ~= '' then return value end
+ return '127.0.0.1'
+ end,
+ port = function()
+ local val = tonumber(vim.fn.input('Port: '))
+ assert(val, 'Please provide a port number')
+ return val
+ end,
+ },
+ }
+
+ dap.adapters.nlua = function(callback, config)
+ callback({ type = 'server', host = config.host, port = config.port })
+ end
+end
+
+local dap = require('dap')
+-- cpp(dap)
+-- dart(dap)
+lua(dap)
+
+if pcall(require, 'dapui') then require('dapui').setup() end
diff --git a/after/plugin/gitsigns.lua b/after/plugin/gitsigns.lua
@@ -0,0 +1,52 @@
+if not pcall(require, 'gitsigns') then return end
+
+local get_theme = function()
+ local dark_theme = { add = '│', change = '│', delete = '│', topdelete = '‾', changedel = '│' }
+ local light_theme = { add = ' ', change = ' ', delete = ' ', topdelete = ' ', changedel = ' ' }
+ local theme = dark_theme
+ if vim.opt.background:get() == 'light' then theme = light_theme end
+ return theme
+end
+
+local theme = get_theme()
+require('gitsigns').setup {
+ signs = {
+ add = {
+ hl = 'GitSignsAdd',
+ text = theme.add,
+ -- text = ' ',
+ numhl = 'GitSignsAddNr',
+ linehl = 'GitSignsAddLn',
+ },
+ change = {
+ hl = 'GitSignsChange',
+ text = theme.change,
+ -- text = ' ',
+ numhl = 'GitSignsChangeNr',
+ linehl = 'GitSignsChangeLn',
+ },
+ delete = {
+ hl = 'GitSignsDelete',
+ text = theme.delete,
+ -- text = ' ',
+ numhl = 'GitSignsDeleteNr',
+ linehl = 'GitSignsDeleteLn',
+ },
+ topdelete = {
+ hl = 'GitSignsDelete',
+ text = theme.topdelete,
+ -- text = ' ',
+ numhl = 'GitSignsDeleteNr',
+ linehl = 'GitSignsDeleteLn',
+ },
+ changedelete = {
+ hl = 'GitSignsChange',
+ text = theme.changedel,
+ -- text = ' ',
+ numhl = 'GitSignsChangeNr',
+ linehl = 'GitSignsChangeLn',
+ },
+ },
+ keymaps = {},
+}
+
diff --git a/after/plugin/luasnip.lua b/after/plugin/luasnip.lua
@@ -1,6 +1,4 @@
-if not pcall(require, 'luasnip') then
- return
-end
+if not pcall(require, 'luasnip') then return end
local ls = require('luasnip')
local types = require('luasnip.util.types')
@@ -10,19 +8,20 @@ ls.config.set_config({
updateevents = 'TextChanged,TextChangedI',
ext_opts = {
[types.choiceNode] = {
- active = {
- virt_text = {
- { '<- choice', 'Comment' },
- },
- },
+ active = { virt_text = { { '<- choice', 'Comment' } } },
},
},
})
local opts = { silent = true }
-vim.keymap.set({ 'i', 's' }, '<c-l>', function() if ls.expand_or_jumpable() then ls.expand_or_jump() end end, opts)
-vim.keymap.set({ 'i', 's' }, '<c-h>', function() if ls.jumpable(-1) then ls.jump(-1) end end, opts)
-vim.keymap.set({ 'i' }, '<c-e>', function() if ls.choice_active() then ls.change_choice(1) end end, opts)
+vim.keymap.set({ 'i', 's' }, '<c-l>', function()
+ if ls.expand_or_jumpable() then ls.expand_or_jump() end
+end, opts)
+vim.keymap.set({ 'i', 's' }, '<c-h>',
+ function() if ls.jumpable(-1) then ls.jump(-1) end end, opts)
+vim.keymap.set({ 'i' }, '<c-e>', function()
+ if ls.choice_active() then ls.change_choice(1) end
+end, opts)
vim.keymap.set({ 'i' }, '<c-u>', require('luasnip.extras.select_choice'), opts)
local s = ls.snippet
@@ -34,44 +33,48 @@ local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local r = ls.restore_node
-local events = require("luasnip.util.events")
-local ai = require("luasnip.nodes.absolute_indexer")
+local events = require('luasnip.util.events')
+local ai = require('luasnip.nodes.absolute_indexer')
local p = require('luasnip.extras').partial
local rep = require('luasnip.extras').rep
local fmt = require('luasnip.extras.fmt').fmt
-local function shell(_, _, command)
- local file = io.popen(command, 'r')
- local res = {}
- for line in file:lines() do table.insert(res, line) end
- return res
+local shell = function(command)
+ return function()
+ local file = io.popen(command, 'r')
+ local res = {}
+ for line in file:lines() do table.insert(res, line) end
+ return res[1]
+ end
+end
+local cmt = function()
+ return require('luasnip.util.util').buffer_comment_chars()[1]
end
ls.cleanup()
-ls.add_snippets("all", {
+ls.add_snippets('all', {
s('bang', t('#!/usr/bin/env ')),
s('date', p(os.date, '%d.%m.%Y')),
s('time', p(os.date, '%H:%M:%S')),
s('todo', {
- f(function(_, _, _) return require('luasnip.util.util').buffer_comment_chars()[1] end, {}),
+ f(cmt),
t(' TODO('),
- f(shell, {}, 'id -un'),
+ f(shell('id -un')),
t(') '),
p(os.date, '%d.%m.%y'),
t(': '),
}),
})
-ls.add_snippets("lua", {
+ls.add_snippets('lua', {
s('f', fmt('function() {} end', { i(1) })),
s('r', fmt('require(\'{}\')', { i(1) })),
s('l', fmt('local {} = {}', { i(1), i(2) })),
s('lr', fmt('local {} = require(\'{}\')', { i(1), rep(1) })),
})
-
-ls.add_snippets("dart", {
+ls.add_snippets('dart', {
s('s', fmt('String {}{}', { i(1), i(2, ';') })),
s('sn', fmt('String? {}{}', { i(1), i(2, ';') })),
s('i', fmt('int {}{}', { i(1), i(2, ';') })),
@@ -91,7 +94,7 @@ ls.add_snippets("dart", {
})
-- Angular
-ls.add_snippets("html", {
+ls.add_snippets('html', {
s('if', fmt('*ngIf="{}"', { i(1) })),
s('nf', fmt('*ngFor="let {} of {}"', { i(1), i(2) })),
s('nfi', fmt('*ngFor="let {} of {}; let i=index"', { i(1), i(2) })),
@@ -100,6 +103,4 @@ ls.add_snippets("html", {
s('nb', fmt('[({})]="{}"', { i(1), i(2) })),
})
-ls.add_snippets("scss", {
- s('v', fmt('var(--{})', { i(1) }))
-})
+ls.add_snippets('scss', { s('v', fmt('var(--{})', { i(1) })) })
diff --git a/after/plugin/neorg.lua b/after/plugin/neorg.lua
@@ -0,0 +1,26 @@
+if not pcall(require, 'neorg') then return end
+
+require('neorg').setup({
+ -- Tell Neorg what modules to load
+ load = {
+ ['core.integrations.treesitter'] = {},
+ ['core.mode'] = {},
+ ['core.norg.news'] = {}, -- Handles the displaying of Neorg news and other forms of media in a popup.
+ ['core.norg.qol.todo_items'] = {},
+ ['core.norg.esupports'] = {},
+ ['core.norg.esupports.metagen'] = {},
+ ['core.norg.esupports.hop'] = {},
+ ['core.norg.manoeuvre'] = {},
+ ['core.neorgcmd'] = {},
+ ['core.autocommands'] = {},
+ -- ['core.norg.concealer'] = {}, -- Allows for use of icons
+ ['core.norg.dirman'] = { -- Manage your directories with Neorg
+ config = { workspaces = { my = '~/neorg' } },
+ },
+ ['core.gtd.base'] = {}, -- todo
+ ['core.norg.completion'] = { config = { engine = 'nvim-cmp' } },
+ ['core.keybinds'] = {
+ config = { default_keybinds = true, neorg_leader = '<Leader>o' },
+ },
+ },
+})
diff --git a/after/plugin/nulls.lua b/after/plugin/nulls.lua
@@ -0,0 +1,58 @@
+if not pcall(require, 'null-ls') then return end
+
+local null_ls = require('null-ls')
+local h = require('null-ls.helpers')
+local builtins = null_ls.builtins
+
+local zsh_diag = function()
+ return {
+ name = 'zsh check',
+ method = null_ls.methods.DIAGNOSTICS,
+ filetypes = { 'zsh' },
+ update_on_insert = true,
+ generator = null_ls.generator({
+ command = 'zsh',
+ args = { '-n', '$FILENAME' },
+ format = 'line',
+ check_exit_code = function(code) return code <= 1 end,
+ from_stderr = true,
+ to_stdin = true,
+ on_output = h.diagnostics.from_patterns({
+ { pattern = [[%w+:(%d+): (.*)]], groups = { 'row', 'message' } },
+ }),
+ }),
+ }
+end
+
+null_ls.setup({
+ on_attach = function(client, bufnr)
+ if client.resolved_capabilities.document_formatting == true then
+ -- vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
+ vim.keymap.set('n', 'Q', vim.lsp.buf.formatting,
+ { silent = true, buffer = bufnr, noremap = true })
+ vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting,
+ { silent = true, buffer = bufnr, noremap = true })
+ end
+ end,
+ sources = {
+ -- formatting
+ builtins.formatting.prettier.with {
+ filetypes = { 'html', 'yaml', 'markdown', 'css', 'scss' },
+ args = h.range_formatting_args_factory({
+ '--parser',
+ vim.api.nvim_buf_get_option(0, 'filetype'),
+ '--stdin-filepath',
+ '$FILENAME',
+ }, '--range-start', '--range-end'),
+ },
+ builtins.formatting.lua_format,
+ -- builtins.formatting.clang_format,
+ builtins.formatting.shfmt.with {
+ filetypes = { 'sh', 'zsh' },
+ args = { '-i', vim.opt.shiftwidth:get(), '-filename', '$FILENAME' },
+ },
+ -- diagnostic
+ builtins.diagnostics.shellcheck,
+ zsh_diag(),
+ },
+})
diff --git a/after/plugin/refactoring.lua b/after/plugin/refactoring.lua
@@ -0,0 +1,12 @@
+if not pcall(require, 'refactoring') then return end
+local refactor = require('refactoring')
+refactor.setup({})
+vim.keymap.set('n', '<leader>re',
+ require('refactoring').refactor('Extract Function'),
+ { silent = true, noremap = true })
+vim.keymap.set('v', '<leader>rf',
+ require('refactoring').refactor('Extract Function To File'),
+ { silent = true, noremap = true })
+vim.keymap.set('n', '<leader>rv',
+ require('refactoring').refactor('Extract Variable'),
+ { silent = true, noremap = true })
diff --git a/after/plugin/rest-nvim.lua b/after/plugin/rest-nvim.lua
@@ -0,0 +1,6 @@
+if not pcall(require, 'rest-nvim') then return end
+
+require('rest-nvim').setup()
+vim.api.nvim_create_user_command('Rest', function() require('rest-nvim').run(false) end, {})
+vim.api.nvim_create_user_command('RestPreview', function() require('rest-nvim').run(true) end, {})
+vim.api.nvim_create_user_command('RestLast', require('rest-nvim').last, {})
diff --git a/after/plugin/sidebar.lua b/after/plugin/sidebar.lua
@@ -0,0 +1,16 @@
+if not pcall(require, 'sidebar-nvim') then
+ return
+end
+
+local files = require('tms.p.sidebar.files')
+local gitlab = require('tms.p.sidebar.gitlab')
+
+require('sidebar-nvim').setup({
+ initial_width = 40,
+ hide_statusline = true,
+ sections = { files.section, 'diagnostics', gitlab.section },
+ disable_closing_prompt = true,
+})
+
+vim.keymap.set('n', '<space>s', '<cmd>SidebarNvimToggle<cr>', { noremap = true })
+vim.keymap.set('n', '<space>S', '<cmd>SidebarNvimFocus<cr>', { noremap = true })
diff --git a/after/plugin/spectre.lua b/after/plugin/spectre.lua
@@ -0,0 +1,62 @@
+if not pcall(require, 'spectre') then
+ return
+end
+
+vim.keymap.set('n', '<leader>S', function() require('spectre').open() end, { noremap = true })
+vim.keymap.set('v', '<leader>s', function() require('spectre').open_visual() end, { noremap = true })
+
+require('spectre').setup({
+ mapping = {
+ ['toggle_line'] = {
+ map = 'gd',
+ cmd = '<cmd>lua require(\'spectre\').toggle_line()<CR>',
+ desc = 'toggle current item',
+ },
+ ['enter_file'] = {
+ map = '<cr>',
+ cmd = '<cmd>lua require(\'spectre.actions\').select_entry()<CR>',
+ desc = 'goto current file',
+ },
+ ['send_to_qf'] = {
+ map = 'gq',
+ cmd = '<cmd>lua require(\'spectre.actions\').send_to_qf()<CR>',
+ desc = 'send all item to quickfix',
+ },
+ ['replace_cmd'] = {
+ map = 'gc',
+ cmd = '<cmd>lua require(\'spectre.actions\').replace_cmd()<CR>',
+ desc = 'input replace vim command',
+ },
+ ['show_option_menu'] = {
+ map = 'go',
+ cmd = '<cmd>lua require(\'spectre\').show_options()<CR>',
+ desc = 'show option',
+ },
+ ['run_replace'] = {
+ map = 'gR',
+ cmd = '<cmd>lua require(\'spectre.actions\').run_replace()<CR>',
+ desc = 'replace all',
+ },
+ ['change_view_mode'] = {
+ map = 'tt',
+ cmd = '<cmd>lua require(\'spectre\').change_view()<CR>',
+ desc = 'change result view mode',
+ },
+ ['toggle_live_update'] = {
+ map = 'tu',
+ cmd = '<cmd>lua require(\'spectre\').toggle_live_update()<CR>',
+ desc = 'update change when vim write file.',
+ },
+ ['toggle_ignore_case'] = {
+ map = 'ti',
+ cmd = '<cmd>lua require(\'spectre\').change_options(\'ignore-case\')<CR>',
+ desc = 'toggle ignore case',
+ },
+ ['toggle_ignore_hidden'] = {
+ map = 'th',
+ cmd = '<cmd>lua require(\'spectre\').change_options(\'hidden\')<CR>',
+ desc = 'toggle search hidden',
+ },
+ -- you can put your mapping here it only use normal mode
+ },
+})
diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua
@@ -0,0 +1,23 @@
+if not pcall(require, 'telescope') then return end
+
+local actions = require('telescope.actions')
+local action_generate = require('telescope.actions.generate')
+
+require('telescope').setup {
+ defaults = {
+ mappings = {
+ i = {
+ ['<esc>'] = actions.close,
+ ['<c-?>'] = action_generate.which_key({
+ name_width = 20, -- typically leads to smaller floats
+ max_height = 0.5, -- increase potential maximum height
+ seperator = ' > ', -- change sep between mode, keybind, and name
+ close_with_action = false, -- do not close float on action
+ }),
+ },
+ },
+ },
+ extensions = {
+ fzy_native = { override_generic_sorter = false, override_file_sorter = true },
+ },
+}
diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua
@@ -0,0 +1,104 @@
+if not pcall(require, 'nvim-treesitter') then return end
+
+local parser_configs = require('nvim-treesitter.parsers').get_parser_configs()
+
+parser_configs.http = {
+ install_info = {
+ url = 'https://github.com/NTBBloodbath/tree-sitter-http',
+ files = { 'src/parser.c' },
+ branch = 'main',
+ },
+}
+
+parser_configs.norg = {
+ install_info = {
+ url = 'https://github.com/nvim-neorg/tree-sitter-norg',
+ files = { 'src/parser.c', 'src/scanner.cc' },
+ branch = 'main',
+ },
+}
+
+parser_configs.norg_meta = {
+ install_info = {
+ url = 'https://github.com/nvim-neorg/tree-sitter-norg-meta',
+ files = { 'src/parser.c' },
+ branch = 'main',
+ },
+}
+
+parser_configs.norg_table = {
+ install_info = {
+ url = 'https://github.com/nvim-neorg/tree-sitter-norg-table',
+ files = { 'src/parser.c' },
+ branch = 'main',
+ },
+}
+
+require'nvim-treesitter.configs'.setup {
+ ensure_intalled = 'maintained',
+ highlight = { enable = true --[[ , disable = {'scss'} --]] },
+
+ indent = { enable = true },
+
+ refactor = { highlight_definitions = { enable = false } },
+
+ textobjects = {
+ enable = true,
+ select = {
+ enable = true,
+ keymaps = {
+ -- ['ia'] = "@parameter.inner",
+ -- ['aa'] = "@parameter.outer",
+ ['af'] = '@function.outer',
+ ['if'] = '@function.inner',
+ ['ac'] = '@comment.outer',
+ ['im'] = '@identifier',
+ },
+ },
+ swap = {
+ enable = true,
+ swap_next = {
+ -- [">p"] = "@parameter.inner",
+ ['>m'] = '@function.outer',
+ },
+ swap_previous = {
+ -- ["<p"] = "@parameter.inner",
+ ['<m'] = '@function.outer',
+ },
+ },
+ move = {
+ enable = true,
+ goto_next_start = { [']]'] = '@function.outer', [']c'] = '@class.outer' },
+ goto_next_end = { [']['] = '@function.inner', [']C'] = '@class.outer' },
+ goto_previous_start = {
+ ['[['] = '@function.outer',
+ ['[c'] = '@class.outer',
+ },
+ goto_previous_end = { ['[]'] = '@function.inner', ['[C'] = '@class.outer' },
+ },
+ lsp_interop = {
+ enable = true,
+ border = 'single',
+ peek_definition_code = {
+ ['<leader>sf'] = '@function.outer',
+ ['<leader>sc'] = '@class.outer',
+ },
+ },
+ },
+
+ playground = {
+ enable = true,
+ disable = {},
+ updatetime = 25,
+ persist_queries = false,
+ },
+ context_commentstring = {
+ enable = true,
+ enable_autocmd = false,
+ config = { scss = '// %s' },
+ },
+}
+
+vim.api
+ .nvim_create_user_command('TSHRefresh', 'write|TSBufEnable highlight', {})
+vim.keymap.set('n', '<leader>su', '<cmd>TSHRefresh<cr>', { noremap = true })
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -1,7 +1,7 @@
vim.g.dart_style_guide = 2
vim.g.dart_html_in_string = true
-local opts = {buffer = true}
+local opts = { buffer = nil }
-- vim.cmd [[command! -buffer DartAnalyzer lua require('tms.ft.dart.analyze').qf2131()]]
vim.api.nvim_create_user_command('DartDebug', require('tms.ft.dart.debug').func, opts)
vim.api.nvim_create_user_command('DartPrint', require('tms.ft.dart.debug').print, opts)
@@ -9,7 +9,7 @@ vim.api.nvim_create_user_command('DartOrganizeImports', require('tms.ft.dart.lsp
vim.api.nvim_create_user_command('DartFixAll', require('tms.ft.dart.lsp').fix_all, opts)
vim.api.nvim_create_user_command('DartExtract', require('tms.ft.dart.lsp').extract, opts)
-opts = {buffer = true, noremap = true}
+opts = { buffer = true, noremap = true }
vim.keymap.set('n', '<leader>pp', function() require('tms.ft.dart.debug').print() end, opts)
vim.keymap.set('n', '<leader>pa', function() require('tms.ft.dart.analyze').qf2131() end, opts)
vim.keymap.set('n', '<leader>po', function() require('tms.ft.dart.lsp').organize_imports() end, opts)
diff --git a/init.lua b/init.lua
@@ -20,7 +20,6 @@ require('colorbuddy').colorscheme('my-default')
vim.g.loaded_netrw = true
vim.g.loaded_netrwPlugin = true
-
-- OPTIONS
-- external vimrc
vim.opt.exrc = true
@@ -62,8 +61,8 @@ vim.opt.list = false
vim.opt.laststatus = 3
vim.opt.statusline = ' '
vim.opt.ruler = false
-vim.opt.listchars = {space = '·', tab = '» ', extends = '›', precedes = '‹', nbsp = '_', trail = '_', eol = '$'}
-vim.opt.fillchars = {eob = '•', fold = ' '}
+vim.opt.listchars = { space = '·', tab = '» ', extends = '›', precedes = '‹', nbsp = '_', trail = '_', eol = '$' }
+vim.opt.fillchars = { eob = '•', fold = ' ' }
vim.opt.number = false
vim.opt.scrolloff = 5
vim.opt.sidescrolloff = 5
@@ -74,80 +73,80 @@ vim.g.mapleader = ','
-- forget visual
vim.keymap.set('n', 'Q', '<nop>')
-- kb.nnoremap('<tab>', 'za')
-vim.keymap.set('n', '<esc>', '<cmd>nohl<cr>', {silent = true})
-vim.keymap.set('n', 'gA', 'ga', {noremap = true})
-vim.keymap.set('n', 'Y', 'y$', {noremap = true})
-vim.keymap.set('n', 'n', 'nzzzv', {noremap = true})
-vim.keymap.set('n', 'N', 'Nzzzv', {noremap = true})
-vim.keymap.set('n', 'J', 'mzJ`z', {noremap = true})
-vim.keymap.set('i', ',', ',<c-g>u', {noremap = true})
-vim.keymap.set('i', '.', '.<c-g>u', {noremap = true})
-vim.keymap.set('i', '!', '!<c-g>u', {noremap = true})
-vim.keymap.set('i', '?', '?<c-g>u', {noremap = true})
+vim.keymap.set('n', '<esc>', '<cmd>nohl<cr>', { silent = true })
+vim.keymap.set('n', 'gA', 'ga', { noremap = true })
+vim.keymap.set('n', 'Y', 'y$', { noremap = true })
+vim.keymap.set('n', 'n', 'nzzzv', { noremap = true })
+vim.keymap.set('n', 'N', 'Nzzzv', { noremap = true })
+vim.keymap.set('n', 'J', 'mzJ`z', { noremap = true })
+vim.keymap.set('i', ',', ',<c-g>u', { noremap = true })
+vim.keymap.set('i', '.', '.<c-g>u', { noremap = true })
+vim.keymap.set('i', '!', '!<c-g>u', { noremap = true })
+vim.keymap.set('i', '?', '?<c-g>u', { noremap = true })
-- shortcuts
-vim.keymap.set('n', '<leader>w', '<cmd>write<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>W', '<cmd>wall<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>e', '<cmd>edit<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>E', ':e %:h/', {noremap = true})
-vim.keymap.set('n', '<leader>q', '<cmd>quit<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>Q', '<cmd>quit!<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>M', '<cmd>messages<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>so', '<cmd>source<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>bo', '<cmd>BufOnly<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>bO', '<cmd>BufOnly!<cr>', {noremap = true})
+vim.keymap.set('n', '<leader>w', '<cmd>write<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>W', '<cmd>wall<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>e', '<cmd>edit<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>E', ':e %:h/', { noremap = true })
+vim.keymap.set('n', '<leader>q', '<cmd>quit<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>Q', '<cmd>quit!<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>M', '<cmd>messages<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>so', '<cmd>source<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>bo', '<cmd>BufOnly<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>bO', '<cmd>BufOnly!<cr>', { noremap = true })
-- window movement
-vim.keymap.set('n', '<a-h>', '<c-w>h', {noremap = true})
-vim.keymap.set('n', '<a-j>', '<c-w>j', {noremap = true})
-vim.keymap.set('n', '<a-k>', '<c-w>k', {noremap = true})
-vim.keymap.set('n', '<a-l>', '<c-w>l', {noremap = true})
+vim.keymap.set('n', '<a-h>', '<c-w>h', { noremap = true })
+vim.keymap.set('n', '<a-j>', '<c-w>j', { noremap = true })
+vim.keymap.set('n', '<a-k>', '<c-w>k', { noremap = true })
+vim.keymap.set('n', '<a-l>', '<c-w>l', { noremap = true })
-- window movement in terminal
-vim.keymap.set('t', '<a-l>', '<c-\\><c-n><c-w>l', {noremap = true})
-vim.keymap.set('t', '<a-j>', '<c-\\><c-n><c-w>j', {noremap = true})
-vim.keymap.set('t', '<a-k>', '<c-\\><c-n><c-w>k', {noremap = true})
-vim.keymap.set('t', '<a-h>', '<c-\\><c-n><c-w>h', {noremap = true})
-vim.keymap.set('t', '<a-r>', '<c-\\><c-n>', {noremap = true})
+vim.keymap.set('t', '<a-l>', '<c-\\><c-n><c-w>l', { noremap = true })
+vim.keymap.set('t', '<a-j>', '<c-\\><c-n><c-w>j', { noremap = true })
+vim.keymap.set('t', '<a-k>', '<c-\\><c-n><c-w>k', { noremap = true })
+vim.keymap.set('t', '<a-h>', '<c-\\><c-n><c-w>h', { noremap = true })
+vim.keymap.set('t', '<a-r>', '<c-\\><c-n>', { noremap = true })
-- window split
-vim.keymap.set('n', '<c-w><c-v>', '<cmd>vnew<cr>', {noremap = true})
-vim.keymap.set('n', '<c-w><c-s>', '<cmd>new<cr>', {noremap = true})
+vim.keymap.set('n', '<c-w><c-v>', '<cmd>vnew<cr>', { noremap = true })
+vim.keymap.set('n', '<c-w><c-s>', '<cmd>new<cr>', { noremap = true })
-- line movement
-vim.keymap.set('n', '<c-j>', ':m .+1<cr>==', {noremap = true})
-vim.keymap.set('n', '<c-k>', ':m .-2<cr>==', {noremap = true})
-vim.keymap.set('i', '<c-j>', '<esc>:m .+1<cr>==', {noremap = true})
-vim.keymap.set('i', '<c-k>', '<esc>:m .-2<cr>==', {noremap = true})
-vim.keymap.set('v', '<c-j>', ':m \'>+1<cr>gv=gv', {noremap = true})
-vim.keymap.set('v', '<c-k>', ':m \'<-2<cr>gv=gv', {noremap = true})
+vim.keymap.set('n', '<c-j>', ':m .+1<cr>==', { noremap = true })
+vim.keymap.set('n', '<c-k>', ':m .-2<cr>==', { noremap = true })
+vim.keymap.set('i', '<c-j>', '<esc>:m .+1<cr>==', { noremap = true })
+vim.keymap.set('i', '<c-k>', '<esc>:m .-2<cr>==', { noremap = true })
+vim.keymap.set('v', '<c-j>', ':m \'>+1<cr>gv=gv', { noremap = true })
+vim.keymap.set('v', '<c-k>', ':m \'<-2<cr>gv=gv', { noremap = true })
-- quickfix/loclist
-vim.keymap.set('n', '<leader>c', '<cmd>call ToggleList("Quickfix List", "c")<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>C', '<cmd>cexpr []|cclose<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>l', '<cmd>call ToggleList("Location List", "l")<cr>', {noremap = true})
-vim.keymap.set('n', '<leader>L', '<cmd>lexpr []|lclose<cr>', {noremap = true})
+vim.keymap.set('n', '<leader>c', '<cmd>call ToggleList("Quickfix List", "c")<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>C', '<cmd>cexpr []|cclose<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>l', '<cmd>call ToggleList("Location List", "l")<cr>', { noremap = true })
+vim.keymap.set('n', '<leader>L', '<cmd>lexpr []|lclose<cr>', { noremap = true })
-- fold
-vim.keymap.set('n', 'zH', 'zM', {noremap = true})
-vim.keymap.set('n', 'zh', 'zm', {noremap = true})
-vim.keymap.set('n', 'zj', 'zo', {noremap = true})
-vim.keymap.set('n', 'zJ', 'zO', {noremap = true})
-vim.keymap.set('n', 'zk', 'zc', {noremap = true})
-vim.keymap.set('n', 'zK', 'zC', {noremap = true})
-vim.keymap.set('n', 'zl', 'zr', {noremap = true})
-vim.keymap.set('n', 'zL', 'zR', {noremap = true})
+vim.keymap.set('n', 'zH', 'zM', { noremap = true })
+vim.keymap.set('n', 'zh', 'zm', { noremap = true })
+vim.keymap.set('n', 'zj', 'zo', { noremap = true })
+vim.keymap.set('n', 'zJ', 'zO', { noremap = true })
+vim.keymap.set('n', 'zk', 'zc', { noremap = true })
+vim.keymap.set('n', 'zK', 'zC', { noremap = true })
+vim.keymap.set('n', 'zl', 'zr', { noremap = true })
+vim.keymap.set('n', 'zL', 'zR', { noremap = true })
-- remap double usage
-vim.keymap.set('n', 'y.', 'yy', {noremap = true})
-vim.keymap.set('n', 'z.', 'mmz.`m', {noremap = true})
-vim.keymap.set('n', 'd.', 'dd', {noremap = true})
-vim.keymap.set('n', 'c.', 'cc', {noremap = true})
-vim.keymap.set('n', 'g.', 'gg', {noremap = true})
-vim.keymap.set('n', 'v.', 'V', {noremap = true})
-vim.keymap.set('n', '=.', '==', {noremap = true})
-vim.keymap.set('n', 'gc.', 'gcc', {noremap = true})
+vim.keymap.set('n', 'y.', 'yy', { noremap = true })
+vim.keymap.set('n', 'z.', 'mmz.`m', { noremap = true })
+vim.keymap.set('n', 'd.', 'dd', { noremap = true })
+vim.keymap.set('n', 'c.', 'cc', { noremap = true })
+vim.keymap.set('n', 'g.', 'gg', { noremap = true })
+vim.keymap.set('n', 'v.', 'V', { noremap = true })
+vim.keymap.set('n', '=.', '==', { noremap = true })
+vim.keymap.set('n', 'gc.', 'gcc', { noremap = true })
-- autocommands
-vim.api.nvim_create_autocmd('BufEnter', {pattern = 'vifm:*', command = 'startinsert'})
-vim.api.nvim_create_autocmd('WinEnter', {command = 'setlocal cursorline'})
-vim.api.nvim_create_autocmd('WinLeave', {command = 'setlocal nocursorline'})
+vim.api.nvim_create_autocmd('BufEnter', { pattern = 'vifm:*', command = 'startinsert' })
+vim.api.nvim_create_autocmd('WinEnter', { command = 'setlocal cursorline' })
+vim.api.nvim_create_autocmd('WinLeave', { command = 'setlocal nocursorline' })
vim.api.nvim_create_autocmd('TextYankPost',
- {pattern = '*', callback = function() require('vim.highlight').on_yank() end})
-vim.api.nvim_create_autocmd('ColorScheme', {callback = function() require('tms.u.reload').colors() end})
+ { pattern = '*', callback = function() require('vim.highlight').on_yank() end })
+vim.api.nvim_create_autocmd('ColorScheme', { callback = function() require('tms.u.reload').colors() end })
-- Load plugins
vim.cmd [[ packadd cfilter ]]
diff --git a/lua/tms/lsp/init.lua b/lua/tms/lsp/init.lua
@@ -3,6 +3,12 @@ local servers = require('tms.lsp.servers')
local M = {}
local keybind = function(client, bufnr)
+ -- TODO(tms) 11.04.22: handle genericaly for all servers
+ if (client.name == 'sumneko_lua') then
+ client.resolved_capabilities.document_formatting = false
+ client.resolved_capabilities.range_formatting = false
+ end
+
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { silent = true, buffer = bufnr })
vim.keymap.set('n', 'gD', '<cmd>vsplit | lua vim.lsp.buf.definition()<cr>', { silent = true, buffer = bufnr })
vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, { silent = true, buffer = bufnr })
@@ -13,7 +19,7 @@ local keybind = function(client, bufnr)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, { silent = true, buffer = bufnr })
vim.keymap.set('n', 'ga', vim.lsp.buf.code_action, { silent = true, buffer = bufnr })
vim.keymap.set('n', 'gn', vim.lsp.buf.rename, { silent = true, buffer = bufnr })
- -- Formatting
+ -- formatting
if client.resolved_capabilities.document_formatting == true then
vim.keymap.set('n', 'Q', vim.lsp.buf.formatting, { silent = true, buffer = bufnr })
vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting, { silent = true, buffer = bufnr })
@@ -28,14 +34,18 @@ local attach_callbacks = {}
local on_attach = function(client, bufnr)
local lsp = vim.lsp
- lsp.handlers['textDocument/hover'] = lsp.with(lsp.handlers.hover, { border = 'single' })
- lsp.handlers['textDocument/signatureHelp'] = lsp.with(lsp.handlers.signature_help, { border = 'single' })
+
+ local hh = lsp.with(lsp.handlers.hover, { border = 'single' })
+ lsp.handlers['textDocument/hover'] = hh
+
+ local sh = lsp.with(lsp.handlers.signature_help, { border = 'single' })
+ lsp.handlers['textDocument/signatureHelp'] = sh
if client.resolved_capabilities.goto_definition then
vim.api.nvim_buf_set_option(bufnr, 'tagfunc', 'v:lua.vim.lsp.tagfunc')
end
- if client.resolved_capabilities.document_formatting then
- -- vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
- end
+ -- if client.resolved_capabilities.document_formatting then
+ -- vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
+ -- end
for _, cb in ipairs(attach_callbacks) do
if cb.test(client, bufnr) then --
cb.fn(client, bufnr)
@@ -44,7 +54,7 @@ local on_attach = function(client, bufnr)
keybind(client, bufnr)
end
-local capabilities = function(name)
+local capabilities = function()
local ok, cnl = pcall(require, 'cmp_nvim_lsp')
if ok then
return cnl.update_capabilities(vim.lsp.protocol.make_client_capabilities())
@@ -56,7 +66,7 @@ end
local server_opts = function(name)
local opts = {}
opts.on_attach = on_attach
- opts.capabilities = capabilities(name)
+ opts.capabilities = capabilities()
opts = servers.setup(name, opts)
return opts
end
@@ -68,6 +78,7 @@ end
M.setup = function()
attach_callbacks = {}
+
-- LSP Installer
local lsp_installer = require('nvim-lsp-installer')
lsp_installer.on_server_ready(function(server)
diff --git a/lua/tms/lsp/servers.lua b/lua/tms/lsp/servers.lua
@@ -8,28 +8,17 @@ M.setup = function(name, opts, server)
end
M.jsonls = function(opts)
- opts.settings = {
- json = {
- schemas = require('schemastore').json
- .schemas(),
- },
- }
+ opts.settings = { json = { schemas = require('schemastore').json.schemas() } }
return opts
end
M.yamlls = function(opts)
- opts.settings = {
- yaml = {
- schemaStore = { enable = true },
- },
- }
+ opts.settings = { yaml = { schemaStore = { enable = true } } }
return opts
end
M.cssls = function(opts)
- opts.capabilities.textDocument
- .completion.completionItem
- .snippetSupport = true
+ opts.capabilities.textDocument.completion.completionItem.snippetSupport = true
return opts
end
@@ -39,91 +28,62 @@ M.sumneko_lua = function(opts, server)
runtime = { version = 'LuaJIT' },
diagnostics = { globals = { 'vim' } },
telemetry = { enable = false },
- format = {
- enable = true,
- defaultConfig = {
- indent_style = 'space',
- indent_size = '2',
- quote_style = 'single',
- call_arg_parentheses = 'keep',
- continuation_indent_size = '4',
- local_assign_continuation_align_to_first_expression = true,
- align_call_args = true,
- align_function_define_params = true,
- keep_one_space_between_table_and_bracket = true,
- align_table_field_to_first_field = true,
- continuous_assign_statement_align_to_equal_sign = true,
- continuous_assign_table_field_align_to_equal_sign = true,
- if_condition_no_continuation_indent = false,
- end_of_line = 'lf',
- },
- },
+ -- format = {
+ -- enable = true,
+ -- defaultConfig = {
+ -- indent_style = 'space',
+ -- indent_size = '2',
+ -- quote_style = 'single',
+ -- call_arg_parentheses = 'keep',
+ -- continuation_indent_size = '4',
+ -- local_assign_continuation_align_to_first_expression = true,
+ -- align_call_args = true,
+ -- align_function_define_params = true,
+ -- keep_one_space_between_table_and_bracket = true,
+ -- align_table_field_to_first_field = true,
+ -- continuous_assign_statement_align_to_equal_sign = true,
+ -- continuous_assign_table_field_align_to_equal_sign = true,
+ -- if_condition_no_continuation_indent = false,
+ -- end_of_line = 'lf',
+ -- },
+ -- },
},
}
- opts = vim.tbl_deep_extend('force',
- server:get_default_options(),
- opts)
- opts = require('lua-dev').setup({
- lspconfig = opts,
- })
+ opts = vim.tbl_deep_extend('force', server:get_default_options(), opts)
+ opts = require('lua-dev').setup({ lspconfig = opts })
return opts
end
M.emmet_ls = function(opts)
- opts.root_dir = require('lspconfig').util
- .root_pattern('.git',
- vim.fn.getcwd())
+ opts.root_dir = require('lspconfig').util.root_pattern('.git', vim.fn.getcwd())
return opts
end
M.gopls = function(opts)
- opts.root_dir = require('lspconfig').util
- .root_pattern('go.mod', '.git',
- vim.fn.getcwd())
+ opts.root_dir = require('lspconfig').util.root_pattern('go.mod', '.git', vim.fn.getcwd())
return opts
end
M.html = function(opts)
- opts.init_options = {
- provideFormatter = false,
- }
+ opts.init_options = { provideFormatter = false }
return opts
end
M.dartls = function(opts)
opts.cmd = require('tms.ft.dart.bin').lsp_cmd()
- opts.init_options = {
- closingLabels = true,
- outline = true,
- }
+ 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())
+ 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
end
M.intelephense = function(opts)
opts.init_options = {
clearCache = true,
- licenceKey = os.getenv(
- 'XDG_CONFIG_HOME') ..
- '/intelephense/licenceKey.txt',
- globalStoragePath = os.getenv(
- 'XDG_CONFIG_HOME') ..
- '/intelephense',
+ licenceKey = os.getenv('XDG_CONFIG_HOME') .. '/intelephense/licenceKey.txt',
+ globalStoragePath = os.getenv('XDG_CONFIG_HOME') .. '/intelephense',
}
return opts
end
diff --git a/lua/tms/p/actions/init.lua b/lua/tms/p/actions/init.lua
@@ -1,64 +0,0 @@
-local utils = require 'actions.utils'
-local my_utils = require('tms.p.actions.predicates')
-local M = {}
-
-local actions = {}
-local mappings = {['n <leader>dr'] = 'run', ['n <leader>dt'] = 'test', ['n <leader>db'] = 'build'}
-
--- general actions
-local function make(_) vim.cmd [[make]] end
-
--- helpers
-local add = function(action) table.insert(actions, action) end
-
--- make_language_predicated
-local add_lang = function(lang, a) add {predicate = utils.make_language_predicate(lang), actions = a} end
-
--- make_git_predicate
-local add_git = function(project, escape, a)
- if type(escape) == 'table' then
- a = escape
- escape = false
- end
- add {predicate = my_utils.make_git_predicate(project, escape), actions = a}
-end
-
-M.setup = function()
- add_lang('dart', {
- run = make,
- build = function(_) -- analyze
- require('tms.ft.dart.analyze').qf2103()
- end,
- })
- add_lang('lua', {run = make})
- add_lang('go', {
- run = function(_)
- vim.cmd [[set makeprg=go\ run\ %]]
- vim.cmd [[make]]
- vim.cmd [[comp go]]
- end,
- test = function(_)
- vim.cmd [[set makeprg=go\ test]]
- vim.cmd [[make]]
- vim.cmd [[comp go]]
- end,
- build = make,
- })
- add_lang('zsh', {
- run = function(_)
- vim.cmd [[set makeprg=./%]]
- vim.cmd [[set efm=%f:%.%#:%l:\ %m,%f:%l:\ %m,%-G%.%#]]
- vim.cmd [[make]]
- vim.cmd [[comp zsh]]
- end,
- build = make,
- })
- add_lang('gdscript',
- {run = function(_) vim.cmd [[GodotRun]] end, build = function(_) vim.api.nvim_input(':GodotRun ') end})
- add_lang('sh', {run = make})
-
- actions.mappings = mappings
- require('actions'):setup(actions)
-end
-
-return M
diff --git a/lua/tms/p/actions/predicates.lua b/lua/tms/p/actions/predicates.lua
@@ -1,29 +0,0 @@
-local git = require('tms.u.git')
-local M = {}
-
-M.make_git_predicate = function(git_path, escape)
- local escape_pattern = function(text) return text:gsub('([^%w])', '%%%1') end
- if escape then
- git_path = escape_pattern(git_path)
- end
- return function(_)
- if git.is_git(vim.fn.getcwd()) then
- local found
- local id = vim.fn.jobstart('git remote show origin | awk \'/Fetch URL/\'', {
- on_stdout = function(_, d, _)
- for _, line in ipairs(d) do
- if line:find(git_path) then
- found = true
- end
- end
- end,
- })
- vim.fn.jobwait({id})
- return found
- else
- return false
- end
- end
-end
-
-return M
diff --git a/lua/tms/p/aerial.lua b/lua/tms/p/aerial.lua
@@ -1,19 +0,0 @@
-local M = {}
-
-M.setup = function()
- local aerial = require('aerial')
- aerial.setup({})
- require('telescope').load_extension('aerial')
- require('tms.lsp').add_attach({
- fn = function(client, bufnr)
- -- vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>r', '<cmd>AerialToggle!<CR>', {})
- -- vim.api.nvim_buf_set_keymap(bufnr, 'n', '(', '<cmd>AerialPrev<CR>', {})
- -- vim.api.nvim_buf_set_keymap(bufnr, 'n', ')', '<cmd>AerialNext<CR>', {})
- -- vim.api.nvim_buf_set_keymap(bufnr, 'n', ']]', '<cmd>AerialPrevUp<CR>', {})
- -- vim.api.nvim_buf_set_keymap(bufnr, 'n', '[[', '<cmd>AerialNextUp<CR>', {})
- aerial.on_attach(client, bufnr)
- end,
- })
-end
-
-return M
diff --git a/lua/tms/p/bqf.lua b/lua/tms/p/bqf.lua
@@ -1,11 +0,0 @@
-local M = {}
-
-M.setup = function()
- require('bqf').setup {
- auto_enable = true,
- auto_resize_height = false,
- preview = {auto_preview = true},
- }
-end
-
-return M
diff --git a/lua/tms/p/dap.lua b/lua/tms/p/dap.lua
@@ -1,68 +0,0 @@
-local M = {}
-
-local cpp = function(dap)
- dap.adapters.cpp = {
- type = 'executable',
- attach = {pidProperty = 'pid', pidSelect = 'ask'},
- command = 'lldb', -- my binary was called 'lldb-vscode-11'
- env = {LLDB_LAUNCH_FLAG_LAUNCH_IN_TTY = 'YES'},
- name = 'lldb',
- }
-
- dap.configurations.cpp = {{type = 'cpp', request = 'launch', name = 'Launch File', program = '${file}'}}
-end
-
-local dart = function(dap)
- dap.defaults.fallback.external_terminal = {command = '/usr/bin/alacritty', args = {'-e'}}
-
- dap.adapters.dart = {
- type = 'executable',
- command = 'node',
- args = {os.getenv('HOME') .. '/downloads/Dart-Code/out/dist/debug.js', 'dart'},
- }
-
- dap.configurations.dart = {
- {
- type = 'dart',
- request = 'launch',
- name = 'Launch File',
- dartSdkPath = os.getenv('HOME') .. '/.local/lib/dart/stable/',
- -- flutterSdkPath = os.getenv('HOME') .. "/flutter",
- program = '${file}',
- cwd = '${workspaceFolder}',
- },
- }
-end
-
-local function lua(dap)
- dap.configurations.lua = {
- {
- type = 'nlua',
- request = 'attach',
- name = 'Attach to running Neovim instance',
- host = function()
- local value = vim.fn.input('Host [127.0.0.1]: ')
- if value ~= '' then return value end
- return '127.0.0.1'
- end,
- port = function()
- local val = tonumber(vim.fn.input('Port: '))
- assert(val, 'Please provide a port number')
- return val
- end,
- },
- }
-
- dap.adapters.nlua = function(callback, config) callback({type = 'server', host = config.host, port = config.port}) end
-end
-
-function M.setup()
- local dap = require('dap')
- -- cpp(dap)
- -- dart(dap)
- lua(dap)
-end
-
-function M.setup_ui() require('dapui').setup() end
-
-return M
diff --git a/lua/tms/p/gitsigns.lua b/lua/tms/p/gitsigns.lua
@@ -1,55 +0,0 @@
-local M = {}
-
-local get_theme = function()
- local dark_theme = {add = '│', change = '│', delete = '│', topdelete = '‾', changedel = '│'}
- local light_theme = {add = ' ', change = ' ', delete = ' ', topdelete = ' ', changedel = ' '}
- local theme = dark_theme
- if vim.opt.background:get() == 'light' then theme = light_theme end
- return theme
-end
-
-M.setup = function()
- local theme = get_theme()
- require('gitsigns').setup {
- signs = {
- add = {
- hl = 'GitSignsAdd',
- text = theme.add,
- -- text = ' ',
- numhl = 'GitSignsAddNr',
- linehl = 'GitSignsAddLn',
- },
- change = {
- hl = 'GitSignsChange',
- text = theme.change,
- -- text = ' ',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn',
- },
- delete = {
- hl = 'GitSignsDelete',
- text = theme.delete,
- -- text = ' ',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn',
- },
- topdelete = {
- hl = 'GitSignsDelete',
- text = theme.topdelete,
- -- text = ' ',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn',
- },
- changedelete = {
- hl = 'GitSignsChange',
- text = theme.changedel,
- -- text = ' ',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn',
- },
- },
- keymaps = {},
- }
-end
-
-return M
diff --git a/lua/tms/p/neorg.lua b/lua/tms/p/neorg.lua
@@ -1,28 +0,0 @@
-local M = {}
-
-M.setup = function()
- require('neorg').setup({
- -- Tell Neorg what modules to load
- load = {
- ['core.integrations.treesitter'] = {},
- ['core.mode'] = {},
- ['core.norg.news'] = {}, -- Handles the displaying of Neorg news and other forms of media in a popup.
- ['core.norg.qol.todo_items'] = {},
- ['core.norg.esupports'] = {},
- ['core.norg.esupports.metagen'] = {},
- ['core.norg.esupports.hop'] = {},
- ['core.norg.manoeuvre'] = {},
- ['core.neorgcmd'] = {},
- ['core.autocommands'] = {},
- -- ['core.norg.concealer'] = {}, -- Allows for use of icons
- ['core.norg.dirman'] = { -- Manage your directories with Neorg
- config = {workspaces = {my = '~/neorg'}},
- },
- ['core.gtd.base'] = {}, -- todo
- ['core.norg.completion'] = {config = {engine = 'nvim-cmp'}},
- ['core.keybinds'] = {config = {default_keybinds = true, neorg_leader = '<Leader>o'}},
- },
- })
-end
-
-return M
diff --git a/lua/tms/p/nullls.lua b/lua/tms/p/nullls.lua
@@ -1,59 +0,0 @@
-local M = {}
-
-local zsh_diag = function()
- local null_ls = require('null-ls')
- local h = require('null-ls.helpers')
- return {
- name = 'zsh check',
- method = null_ls.methods.DIAGNOSTICS,
- filetypes = {'zsh'},
- update_on_insert = true,
- generator = null_ls.generator({
- command = 'zsh',
- args = {'-n', '$FILENAME'},
- format = 'line',
- check_exit_code = function(code) return code <= 1 end,
- from_stderr = true,
- to_stdin = true,
- on_output = h.diagnostics.from_patterns({{pattern = [[%w+:(%d+): (.*)]], groups = {'row', 'message'}}}),
- }),
- }
-end
-
-M.setup = function()
- local null_ls = require('null-ls')
- local h = require('null-ls.helpers')
- local builtins = null_ls.builtins
- null_ls.setup({
- on_attach = function(client, bufnr)
- if client.resolved_capabilities.document_formatting == true then
- -- vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
- vim.keymap.set('n', 'Q', vim.lsp.buf.formatting, {silent = true, buffer = bufnr, noremap = true})
- vim.keymap.set('v', 'Q', vim.lsp.buf.range_formatting, {silent = true, buffer = bufnr, noremap = true})
- end
- end,
- sources = {
- -- formatting
- builtins.formatting.prettier.with {
- filetypes = {'html', 'yaml', 'markdown', 'css', 'scss'},
- args = h.range_formatting_args_factory({
- '--parser',
- vim.api.nvim_buf_get_option(0, 'filetype'),
- '--stdin-filepath',
- '$FILENAME',
- }, '--range-start', '--range-end'),
- },
- -- builtins.formatting.lua_format,
- -- builtins.formatting.clang_format,
- builtins.formatting.shfmt.with {
- filetypes = {'sh', 'zsh'},
- args = {'-i', vim.opt.shiftwidth:get(), '-filename', '$FILENAME'},
- },
- -- diagnostic
- builtins.diagnostics.shellcheck,
- zsh_diag(),
- },
- })
-end
-
-return M
diff --git a/lua/tms/p/refactoring.lua b/lua/tms/p/refactoring.lua
@@ -1,13 +0,0 @@
-local M = {}
-
-M.setup = function()
- local refactor = require('refactoring')
- refactor.setup({})
- vim.keymap.set('n', '<leader>re', [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]],
- {silent = true, noremap = true})
- vim.keymap.set('v', '<leader>rf', [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
- {silent = true, noremap = true})
- vim.keymap.set('n', '<leader>rv', [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
- {silent = true, noremap = true})
-end
-return M
diff --git a/lua/tms/p/sidebar/init.lua b/lua/tms/p/sidebar/init.lua
@@ -1,18 +0,0 @@
-local files = require('tms.p.sidebar.files')
-local gitlab = require('tms.p.sidebar.gitlab')
-local M = {}
-
-M.setup = function()
- require('sidebar-nvim').setup({
- --
- initial_width = 40,
- hide_statusline = true,
- sections = {files.section, 'diagnostics', gitlab.section},
- disable_closing_prompt = true,
- })
-
- vim.keymap.set('n', '<space>s', '<cmd>SidebarNvimToggle<cr>', {noremap = true})
- vim.keymap.set('n', '<space>S', '<cmd>SidebarNvimFocus<cr>', {noremap = true})
-end
-
-return M
diff --git a/lua/tms/p/spectre.lua b/lua/tms/p/spectre.lua
@@ -1,60 +0,0 @@
-local M = {}
-M.setup = function()
- require('spectre').setup({
- mapping = {
- ['toggle_line'] = {
- map = 'gd',
- cmd = '<cmd>lua require(\'spectre\').toggle_line()<CR>',
- desc = 'toggle current item',
- },
- ['enter_file'] = {
- map = '<cr>',
- cmd = '<cmd>lua require(\'spectre.actions\').select_entry()<CR>',
- desc = 'goto current file',
- },
- ['send_to_qf'] = {
- map = 'gq',
- cmd = '<cmd>lua require(\'spectre.actions\').send_to_qf()<CR>',
- desc = 'send all item to quickfix',
- },
- ['replace_cmd'] = {
- map = 'gc',
- cmd = '<cmd>lua require(\'spectre.actions\').replace_cmd()<CR>',
- desc = 'input replace vim command',
- },
- ['show_option_menu'] = {
- map = 'go',
- cmd = '<cmd>lua require(\'spectre\').show_options()<CR>',
- desc = 'show option',
- },
- ['run_replace'] = {
- map = 'gR',
- cmd = '<cmd>lua require(\'spectre.actions\').run_replace()<CR>',
- desc = 'replace all',
- },
- ['change_view_mode'] = {
- map = 'tt',
- cmd = '<cmd>lua require(\'spectre\').change_view()<CR>',
- desc = 'change result view mode',
- },
- ['toggle_live_update'] = {
- map = 'tu',
- cmd = '<cmd>lua require(\'spectre\').toggle_live_update()<CR>',
- desc = 'update change when vim write file.',
- },
- ['toggle_ignore_case'] = {
- map = 'ti',
- cmd = '<cmd>lua require(\'spectre\').change_options(\'ignore-case\')<CR>',
- desc = 'toggle ignore case',
- },
- ['toggle_ignore_hidden'] = {
- map = 'th',
- cmd = '<cmd>lua require(\'spectre\').change_options(\'hidden\')<CR>',
- desc = 'toggle search hidden',
- },
- -- you can put your mapping here it only use normal mode
- },
- })
-end
-
-return M
diff --git a/lua/tms/p/telescope.lua b/lua/tms/p/telescope.lua
@@ -3,7 +3,6 @@ local themes = require('telescope.themes')
local builtin = require('telescope.builtin')
local actions = require('telescope.actions')
local action_set = require('telescope.actions.set')
-local action_generate = require('telescope.actions.generate')
local action_state = require('telescope.actions.state')
local pickers = require('telescope.pickers')
local finders = require('telescope.finders')
@@ -17,37 +16,18 @@ M.e = extensions
local layouts = {
dd = themes.get_dropdown(),
- dd_noprev = themes.get_dropdown ({previewer = false}),
- dd_large = themes.get_dropdown({layout_config = {width = 120}}),
- dd_large_noprev = themes.get_dropdown {layout_config = {width = 120}, previewer = false},
+ dd_noprev = themes.get_dropdown({ previewer = false }),
+ dd_large = themes.get_dropdown({ layout_config = { width = 120 } }),
+ dd_large_noprev = themes.get_dropdown {
+ layout_config = { width = 120 },
+ previewer = false,
+ },
}
-function M.setup()
- telescope.setup {
- defaults = {
- --
- mappings = {
- --
- i = {
- --
- ['<esc>'] = actions.close,
- ['<c-?>'] = action_generate.which_key({
- name_width = 20, -- typically leads to smaller floats
- max_height = 0.5, -- increase potential maximum height
- seperator = ' > ', -- change sep between mode, keybind, and name
- close_with_action = false, -- do not close float on action
- }),
- },
- },
- },
- extensions = {fzy_native = {override_generic_sorter = false, override_file_sorter = true}},
- }
-end
-
M.mail_address = function()
pickers.new {
results_title = 'Adresses',
- finder = finders.new_oneshot_job({'goobook', 'query', '.*'}),
+ finder = finders.new_oneshot_job({ 'goobook', 'query', '.*' }),
sorter = sorters.get_fuzzy_file(),
attach_mappings = function(_)
action_set.select:replace(function(prompt_bufnr, _)
@@ -63,12 +43,17 @@ M.mail_address = function()
end
M.edit_neovim = function()
- builtin.find_files(themes.get_dropdown {prompt_title = 'dotfiles', cwd = '~/.config/nvim', previewer = false})
+ builtin.find_files(themes.get_dropdown {
+ prompt_title = 'dotfiles',
+ cwd = '~/.config/nvim',
+ previewer = false,
+ })
end
M.find_files = function() builtin.find_files(layouts.dd_large_noprev) end
M.spell_suggest = function() builtin.spell_suggest(layouts.dd) end
-M.lines = function() builtin.current_buffer_fuzzy_find(layouts.dd_large_noprev) end
+M.lines =
+ function() builtin.current_buffer_fuzzy_find(layouts.dd_large_noprev) end
M.reloader = function() builtin.reloader(layouts.dd_noprev) end
M.buffers = function() builtin.buffers(layouts.dd_large) end
M.snippets = function() extensions.snippets.snippets(layouts.dd_large) end
@@ -77,7 +62,9 @@ M.aerial = function() extensions.aerial.aerial(layouts.dd_large) end
M.keymaps = function() builtin.keymaps(layouts.dd_large) end
M.quickfix = function() builtin.quickfix(layouts.dd_large_noprev) end
M.lsp_code_actions = function() builtin.lsp_code_actions(layouts.dd) end
-M.lsp_document_symbols = function() builtin.lsp_document_symbols(layouts.dd_large) end
+M.lsp_document_symbols = function()
+ builtin.lsp_document_symbols(layouts.dd_large)
+end
M.lsp_definitions = function() builtin.lsp_definitions(layouts.dd) end
return M
diff --git a/lua/tms/p/treesitter.lua b/lua/tms/p/treesitter.lua
@@ -1,82 +0,0 @@
-local M = {}
-
-M.setup = function()
-
- local parser_configs = require('nvim-treesitter.parsers').get_parser_configs()
-
- parser_configs.norg = {
- install_info = {
- url = 'https://github.com/nvim-neorg/tree-sitter-norg',
- files = {'src/parser.c', 'src/scanner.cc'},
- branch = 'main',
- },
- }
-
- parser_configs.norg_meta = {
- install_info = {
- url = 'https://github.com/nvim-neorg/tree-sitter-norg-meta',
- files = {'src/parser.c'},
- branch = 'main',
- },
- }
-
- parser_configs.norg_table = {
- install_info = {
- url = 'https://github.com/nvim-neorg/tree-sitter-norg-table',
- files = {'src/parser.c'},
- branch = 'main',
- },
- }
-
- require'nvim-treesitter.configs'.setup {
- ensure_intalled = 'maintained',
- highlight = {enable = true --[[ , disable = {'scss'} --]] },
-
- indent = {enable = true},
-
- refactor = {highlight_definitions = {enable = false}},
-
- textobjects = {
- enable = true,
- select = {
- enable = true,
- keymaps = {
- -- ['ia'] = "@parameter.inner",
- -- ['aa'] = "@parameter.outer",
- ['af'] = '@function.outer',
- ['if'] = '@function.inner',
- ['ac'] = '@comment.outer',
- ['im'] = '@identifier',
- },
- },
- swap = {
- enable = true,
- swap_next = {
- -- [">p"] = "@parameter.inner",
- ['>m'] = '@function.outer',
- },
- swap_previous = {
- -- ["<p"] = "@parameter.inner",
- ['<m'] = '@function.outer',
- },
- },
- move = {
- enable = true,
- goto_next_start = {[']]'] = '@function.outer', [']c'] = '@class.outer'},
- goto_next_end = {[']['] = '@function.inner', [']C'] = '@class.outer'},
- goto_previous_start = {['[['] = '@function.outer', ['[c'] = '@class.outer'},
- goto_previous_end = {['[]'] = '@function.inner', ['[C'] = '@class.outer'},
- },
- lsp_interop = {
- enable = true,
- border = 'single',
- peek_definition_code = {['<leader>sf'] = '@function.outer', ['<leader>sc'] = '@class.outer'},
- },
- },
-
- playground = {enable = true, disable = {}, updatetime = 25, persist_queries = false},
- context_commentstring = {enable = true, enable_autocmd = false, config = {scss = '// %s'}},
- }
-end
-
-return M
diff --git a/lua/tms/plugins.lua b/lua/tms/plugins.lua
@@ -6,15 +6,15 @@ return packer.startup({
packer.use_rocks('luautf8')
- use {'wbthomason/packer.nvim', opt = true}
+ use { 'wbthomason/packer.nvim', opt = true }
-- meta
- use {'tweekmonster/startuptime.vim'}
- use {'nathom/filetype.nvim'}
- use {'lewis6991/impatient.nvim'}
+ use { 'tweekmonster/startuptime.vim' }
+ use { 'nathom/filetype.nvim' }
+ use { 'lewis6991/impatient.nvim' }
-- colorscheme
- use {'tjdevries/colorbuddy.nvim'}
+ use { 'tjdevries/colorbuddy.nvim' }
-- spell
use 'xxdavid/bez-diakritiky.vim'
@@ -35,68 +35,44 @@ return packer.startup({
use 'tpope/vim-surround'
use 'chaoren/vim-wordmotion' -- word counts with _,.,-,...
use 'romgrk/equal.operator' -- equal text object `lefthand = righthand`
- use {'godlygeek/tabular'} -- align
- use {'luukvbaal/stabilize.nvim'}
+ use { 'godlygeek/tabular' } -- align
+ use { 'luukvbaal/stabilize.nvim' }
use {
'windwp/nvim-autopairs',
config = function()
- require('nvim-autopairs').setup({disable_filetype = {'TelescopePrompt', 'vim'}})
+ require('nvim-autopairs').setup({ disable_filetype = { 'TelescopePrompt', 'vim' } })
-- local cmp_autopairs = require('nvim-autopairs.completion.cmp')
-- local cmp = require('cmp')
-- cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done({map_char = {tex = ''}}))
end,
}
- use {
- 'numToStr/Comment.nvim',
- config = function()
- require('Comment').setup({
- ignore = '^$',
- pre_hook = function(ctx)
- -- Only calculate commentstring for tsx filetypes
- local U = require('Comment.utils')
- -- Detemine whether to use linewise or blockwise commentstring
- local type = ctx.ctype == U.ctype.line and '__default' or '__multiline'
- -- Determine the location where to calculate commentstring from
- local location = nil
- if ctx.ctype == U.ctype.block then
- location = require('ts_context_commentstring.utils').get_cursor_location()
- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
- location = require('ts_context_commentstring.utils').get_visual_start_location()
- end
- return require('ts_context_commentstring.internal').calculate_commentstring({
- key = type,
- location = location,
- })
- end,
- })
- end,
- }
+ use { 'numToStr/Comment.nvim' }
use { -- undo tree
'mbbill/undotree',
setup = function()
vim.g.undotree_WindowLayout = 2
vim.g.undotree_SplitWidth = 50
end,
- config = function() vim.keymap.set('n', '<F5>', '<cmd>UndotreeToggle<cr>', {noremap = true}) end,
+ config = function() vim.keymap.set('n', '<F5>', '<cmd>UndotreeToggle<cr>', { noremap = true }) end,
}
use { -- animate height/width of window
'camspiers/animate.vim',
config = function()
vim.cmd('let g:animate#duration = 100.0')
- vim.keymap.set('n', '<c-up>', ':call animate#window_delta_height(10)<cr>', {silent = true})
- vim.keymap.set('n', '<c-down>', ':call animate#window_delta_height(-10)<cr>', {silent = true})
- vim.keymap.set('n', '<c-left>', ':call animate#window_delta_width(-10)<cr>', {silent = true})
- vim.keymap.set('n', '<c-right>', ':call animate#window_delta_width(10)<cr>', {silent = true})
- vim.keymap.set('n', '<s-up>', ':call animate#window_delta_height(1)<cr>', {silent = true})
- vim.keymap.set('n', '<s-down>', ':call animate#window_delta_height(-1)<cr>', {silent = true})
- vim.keymap.set('n', '<s-left>', ':call animate#window_delta_width(-1)<cr>', {silent = true})
- vim.keymap.set('n', '<s-right>', ':call animate#window_delta_width(1)<cr>', {silent = true})
+ vim.keymap.set('n', '<c-up>', ':call animate#window_delta_height(10)<cr>', { silent = true })
+ vim.keymap.set('n', '<c-down>', ':call animate#window_delta_height(-10)<cr>', { silent = true })
+ vim.keymap.set('n', '<c-left>', ':call animate#window_delta_width(-10)<cr>', { silent = true })
+ vim.keymap.set('n', '<c-right>', ':call animate#window_delta_width(10)<cr>', { silent = true })
+ vim.keymap.set('n', '<s-up>', ':call animate#window_delta_height(1)<cr>', { silent = true })
+ vim.keymap.set('n', '<s-down>', ':call animate#window_delta_height(-1)<cr>', { silent = true })
+ vim.keymap.set('n', '<s-left>', ':call animate#window_delta_width(-1)<cr>', { silent = true })
+ vim.keymap.set('n', '<s-right>', ':call animate#window_delta_width(1)<cr>', { silent = true })
end,
}
use { -- colorize rgb format
'norcalli/nvim-colorizer.lua',
config = function()
- require'colorizer'.setup({'css', 'scss', 'less'}, {
+ require'colorizer'.setup({ 'css', 'scss', 'less' }, {
RGB = true, -- #RGB hex codes
RRGGBB = true, -- #RRGGBB hex codes
names = true, -- "Name" codes like Blue
@@ -139,14 +115,13 @@ return packer.startup({
['gui'] = 'bold',
}
end,
- config = function() end,
}
use {
'jandamm/cryoline.nvim',
- after = {'vim-fugitive'},
+ after = { 'vim-fugitive' },
config = function()
require('cryoline').config {
- ft = {fugitive = '%{FugitiveStatusline()}'},
+ ft = { fugitive = '%{FugitiveStatusline()}' },
line = function()
local git_head = vim.fn.FugitiveHead()
local branch = ''
@@ -160,24 +135,24 @@ return packer.startup({
use { -- smooth scrolling
'karb94/neoscroll.nvim',
config = function()
- require('neoscroll').setup({mappings = {'<C-u>', '<C-d>', '<C-b>', '<C-f>', 'zt', 'zz', 'zb'}})
+ require('neoscroll').setup({ mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>', 'zt', 'zz', 'zb' } })
local t = {}
-- Syntax: t[keys] = {function , {function arguments}}
- t['<C-u>'] = {'scroll', {'-vim.wo.scroll', 'true', '80'}}
- t['<C-d>'] = {'scroll', {'vim.wo.scroll', 'true', '80'}}
- t['<C-b>'] = {'scroll', {'-vim.api.nvim_win_get_height(0)', 'true', '100'}}
- t['<C-f>'] = {'scroll', {'vim.api.nvim_win_get_height(0)', 'true', '100'}}
- t['zt'] = {'zt', {'100'}}
- t['zz'] = {'zz', {'100'}}
- t['zb'] = {'zb', {'100'}}
+ t['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '80' } }
+ t['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '80' } }
+ t['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '100' } }
+ t['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '100' } }
+ t['zt'] = { 'zt', { '100' } }
+ t['zz'] = { 'zz', { '100' } }
+ t['zb'] = { 'zb', { '100' } }
require('neoscroll.config').set_mappings(t)
end,
}
use { -- parameter switch
'AndrewRadev/sideways.vim',
config = function()
- vim.keymap.set('n', '<c-h>', '<cmd>SidewaysLeft<cr>', {noremap = true})
- vim.keymap.set('n', '<c-l>', '<cmd>SidewaysRight<cr>', {noremap = true})
+ vim.keymap.set('n', '<c-h>', '<cmd>SidewaysLeft<cr>', { noremap = true })
+ vim.keymap.set('n', '<c-l>', '<cmd>SidewaysRight<cr>', { noremap = true })
vim.keymap.set('o', 'aa', '<Plug>SidewaysArgumentTextobjA')
vim.keymap.set('o', 'a.', '<Plug>SidewaysArgumentTextobjA')
vim.keymap.set('x', 'aa', '<Plug>SidewaysArgumentTextobjA')
@@ -190,35 +165,20 @@ return packer.startup({
vim.keymap.set('n', '<leader>aL', '<Plug>SidewaysArgumentAppendLast')
end,
}
- use { -- replace
- 'windwp/nvim-spectre',
- config = function()
- require('tms.p.spectre').setup()
- vim.keymap.set('n', '<leader>S', function() require('spectre').open() end, {noremap = true})
- vim.keymap.set('v', '<leader>s', function() require('spectre').open_visual() end, {noremap = true})
- end,
- }
- use {
- 'sidebar-nvim/sidebar.nvim',
- requires = {'kyazdani42/nvim-web-devicons'},
- config = function() require('tms.p.sidebar').setup() end,
- }
+ use { 'windwp/nvim-spectre' }
+ use { 'sidebar-nvim/sidebar.nvim', requires = { 'kyazdani42/nvim-web-devicons' } }
-- Notes
- use {
- 'nvim-neorg/neorg',
- requires = {'nvim-lua/plenary.nvim'},
- config = function() require('tms.p.neorg').setup() end,
- }
+ use { 'nvim-neorg/neorg', requires = { 'nvim-lua/plenary.nvim' } }
use {
'mickael-menu/zk-nvim',
- requires = {'neovim/nvim-lspconfig'},
- after = {'telescope.nvim'},
+ requires = { 'neovim/nvim-lspconfig' },
+ -- after = { 'telescope.nvim' },
-- config = function() require('tms.p.zk').setup() end,
}
-- quickfix list
- use {'kevinhwang91/nvim-bqf', config = function() require('tms.p.bqf').setup() end}
+ use { 'kevinhwang91/nvim-bqf' }
-- distraction
use 'junegunn/limelight.vim'
@@ -226,7 +186,7 @@ return packer.startup({
'folke/zen-mode.nvim',
config = function()
require('zen-mode').setup {}
- vim.keymap.set('n', '<leader>Z', '<cmd>ZenMode<cr>', {noremap = true})
+ vim.keymap.set('n', '<leader>Z', '<cmd>ZenMode<cr>', { noremap = true })
end,
}
@@ -236,9 +196,8 @@ return packer.startup({
-- vcs
use {
'lewis6991/gitsigns.nvim',
- requires = {'nvim-lua/plenary.nvim'},
+ requires = { 'nvim-lua/plenary.nvim' },
config = function()
- require('tms.p.gitsigns').setup()
vim.keymap.set('n', '>c', function() require('gitsigns').next_hunk() end)
vim.keymap.set('n', '>[', function() require('gitsigns').next_hunk() end)
vim.keymap.set('n', '<c', function() require('gitsigns').prev_hunk() end)
@@ -264,54 +223,43 @@ return packer.startup({
use { -- git integration
'tpope/vim-fugitive',
config = function()
- vim.keymap.set('n', '<leader>gg', '<cmd>G<cr>', {noremap = true})
- vim.keymap.set('n', '<leader>gc', '<cmd>G commit<cr>', {noremap = true})
- vim.keymap.set('n', '<leader>gb', '<cmd>Git blame<cr>', {noremap = true})
+ vim.keymap.set('n', '<leader>gg', '<cmd>G<cr>', { noremap = true })
+ vim.keymap.set('n', '<leader>gc', '<cmd>G commit<cr>', { noremap = true })
+ vim.keymap.set('n', '<leader>gb', '<cmd>Git blame<cr>', { noremap = true })
end,
}
use { -- git info for current line
'rhysd/git-messenger.vim',
- setup = function() vim.g.git_messenger_floating_win_opts = {border = 'single'} end,
- config = function() vim.keymap.set('n', '<leader>gm', '<plug>(git-messenger)', {noremap = true}) end,
+ setup = function() vim.g.git_messenger_floating_win_opts = { border = 'single' } end,
+ config = function() vim.keymap.set('n', '<leader>gm', '<plug>(git-messenger)', { noremap = true }) end,
}
use {
'ThePrimeagen/git-worktree.nvim',
- after = {'telescope.nvim'},
+ after = { 'telescope.nvim' },
config = function()
require('git-worktree').setup()
require('telescope').load_extension('git_worktree')
- vim.keymap.set('n', '<space>wo', require('telescope').extensions.git_worktree.git_worktrees, {noremap = true})
+ vim.keymap.set('n', '<space>wo', require('telescope').extensions.git_worktree.git_worktrees, { noremap = true })
vim.keymap.set('n', '<space>wi', require('telescope').extensions.git_worktree.create_git_worktree,
- {noremap = true})
+ { noremap = true })
end,
}
-- http
- use {disable = true, 'nicwest/vim-http'}
- use {
- 'NTBBloodbath/rest.nvim',
- requires = {'nvim-lua/plenary.nvim'},
- config = function()
- require('rest-nvim').setup()
- vim.api.nvim_create_user_command('Rest', require('rest-nvim').run, {})
- vim.api.nvim_create_user_command('RestPreview', function() require('rest-nvim').run(true) end, {})
- vim.api.nvim_create_user_command('RestLast', require('rest-nvim').last, {})
- end,
- }
+ use { disable = true, 'nicwest/vim-http' }
+ use { 'NTBBloodbath/rest.nvim', ft = { 'http' }, requires = { 'nvim-lua/plenary.nvim' } }
-- tasks
- use {'amirrezaask/actions.nvim', config = function() require('tms.p.actions').setup() end}
+ use { 'amirrezaask/actions.nvim' }
-- filetype
use 'tikhomirov/vim-glsl'
- use {'windwp/nvim-ts-autotag', ft = {'html', 'php'}, config = function() require('nvim-ts-autotag').setup {} end} -- html tag autoclose/rename
- use {'vim-php/vim-composer', setup = function() vim.g.composer_cmd = 'composer' end}
- use 'fpob/nette.vim'
+ use { 'windwp/nvim-ts-autotag', ft = { 'html', 'php' }, config = function() require('nvim-ts-autotag').setup {} end } -- html tag autoclose/rename
use 'baskerville/vim-sxhkdrc'
- use {'dart-lang/dart-vim-plugin', ft = {'dart'}}
+ use { 'dart-lang/dart-vim-plugin', ft = { 'dart' } }
-- snippets
- use {'L3MON4D3/luaSnip'}
+ use { 'L3MON4D3/luaSnip' }
-- completion
use {
@@ -335,7 +283,7 @@ return packer.startup({
'stevearc/dressing.nvim',
config = function()
require('dressing').setup({
- select = {backend = {'telescope', 'builtin'}, telescope = require('telescope.themes').get_dropdown()},
+ select = { backend = { 'telescope', 'builtin' }, telescope = require('telescope.themes').get_dropdown() },
})
end,
}
@@ -343,8 +291,8 @@ return packer.startup({
'rcarriga/nvim-notify',
config = function()
-- vim.notify = require('notify')
- require('notify').setup({on_open = function(win) vim.api.nvim_win_set_config(win, {focusable = false}) end})
- vim.keymap.set('n', '<leader>N', require('notify').dismiss, {noremap = true})
+ require('notify').setup({ on_open = function(win) vim.api.nvim_win_set_config(win, { focusable = false }) end })
+ vim.keymap.set('n', '<leader>N', require('notify').dismiss, { noremap = true })
end,
}
@@ -352,46 +300,35 @@ return packer.startup({
use {
disable = true,
'ThePrimeagen/refactoring.nvim',
- after = {'nvim-treesitter'},
- requires = {'nvim-lua/plenary.nvim'},
- config = function() require('tms.p.refactoring').setup() end,
+ after = { 'nvim-treesitter' },
+ requires = { 'nvim-lua/plenary.nvim' },
}
-- lsp
use {
'neovim/nvim-lspconfig',
- after = {'nvim-lsp-installer', 'lua-dev.nvim', 'telescope.nvim'},
+ after = { 'nvim-lsp-installer', 'lua-dev.nvim', 'telescope.nvim' },
config = function() require('tms.lsp').setup() end,
}
- use {disable = true, 'ii14/lsp-command'}
+ use { disable = true, 'ii14/lsp-command' }
use 'williamboman/nvim-lsp-installer'
- use {'b0o/schemastore.nvim'}
- use {'folke/lua-dev.nvim'}
- use {
- 'jose-elias-alvarez/null-ls.nvim',
- after = {'nvim-lspconfig'},
- requires = {'nvim-lua/plenary.nvim'},
- config = function() require('tms.p.nullls').setup() end,
- }
+ use { 'b0o/schemastore.nvim' }
+ use { 'folke/lua-dev.nvim' }
+ use { 'jose-elias-alvarez/null-ls.nvim', after = { 'nvim-lspconfig' }, requires = { 'nvim-lua/plenary.nvim' } }
use {
'stevearc/aerial.nvim',
- after = {'telescope.nvim', 'nvim-treesitter'},
- setup = function() vim.g.aerial = {backends = {'lsp', 'treesitter'}, highlight_on_jump = 0} end,
- config = function()
- require('tms.p.aerial').setup()
- require('telescope').load_extension('aerial')
- vim.keymap.set('n', '<space>r', require('tms.p.telescope').aerial, {noremap = true})
- end,
+ after = { 'telescope.nvim', 'nvim-treesitter' },
+ setup = function() vim.g.aerial = { backends = { 'lsp', 'treesitter' }, highlight_on_jump = 0 } end,
}
-- dap
- use {'mfussenegger/nvim-dap', config = function() require('tms.p.dap').setup() end}
- use {'rcarriga/nvim-dap-ui', after = {'nvim-dap'}, config = function() require('tms.p.dap').setup_ui() end}
+ use { 'mfussenegger/nvim-dap' }
+ use { 'rcarriga/nvim-dap-ui', after = { 'nvim-dap' } }
use {
disable = true,
'Pocco81/DAPInstall.nvim',
- after = {'nvim-dap'},
- requires = {'jbyuki/one-small-step-for-vimkind'},
+ after = { 'nvim-dap' },
+ requires = { 'jbyuki/one-small-step-for-vimkind' },
config = function()
local dap_install = require('dap-install')
local dbg_list = require('dap-install.debuggers_list').debuggers
@@ -400,82 +337,65 @@ return packer.startup({
}
use {
'theHamsta/nvim-dap-virtual-text',
- after = {'nvim-dap'},
+ after = { 'nvim-dap' },
config = function() require('nvim-dap-virtual-text').setup(); end,
}
-- treesitter
- use {
- 'nvim-treesitter/nvim-treesitter',
- config = function()
- local parser_configs = require('nvim-treesitter.parsers').get_parser_configs()
- parser_configs.http = {
- install_info = {
- url = 'https://github.com/NTBBloodbath/tree-sitter-http',
- files = {'src/parser.c'},
- branch = 'main',
- },
- }
- require('tms.p.treesitter').setup()
- -- hack
- vim.api.nvim_create_user_command('TSHRefresh', 'write|TSBufEnable highlight', {})
- vim.keymap.set('n', '<leader>su', '<cmd>TSHRefresh<cr>', {noremap = true})
- end,
- }
- use {'nvim-treesitter/nvim-treesitter-textobjects', after = {'nvim-treesitter'}}
- use {'nvim-treesitter/nvim-treesitter-refactor', after = {'nvim-treesitter'}}
- use {'nvim-treesitter/playground', after = {'nvim-treesitter'}}
- use {'JoosepAlviste/nvim-ts-context-commentstring', after = {'nvim-treesitter'}}
+ use { 'nvim-treesitter/nvim-treesitter' }
+ use { 'nvim-treesitter/nvim-treesitter-textobjects', after = { 'nvim-treesitter' } }
+ use { 'nvim-treesitter/nvim-treesitter-refactor', after = { 'nvim-treesitter' } }
+ use { 'nvim-treesitter/playground', after = { 'nvim-treesitter' } }
+ use { 'JoosepAlviste/nvim-ts-context-commentstring', after = { 'nvim-treesitter' } }
-- telescope
use {
'nvim-telescope/telescope.nvim',
- requires = {'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', 'kyazdani42/nvim-web-devicons'},
+ requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', 'kyazdani42/nvim-web-devicons' },
config = function()
- local telescope = require('tms.p.telescope')
- telescope.setup()
- vim.keymap.set('n', '<space>h', telescope.b.help_tags, {noremap = true})
- vim.keymap.set('n', '<space>d', telescope.find_files, {noremap = true})
- vim.keymap.set('n', '<space>D', telescope.b.find_files, {noremap = true})
- vim.keymap.set('n', '<space>g', telescope.b.git_files, {noremap = true})
- vim.keymap.set('n', '<space>b', telescope.buffers, {noremap = true})
- vim.keymap.set('n', '<space>l', telescope.lines, {noremap = true})
- -- vim.keymap.nnoremap {'<space>r', telescope.b.live_grep}
- vim.keymap.set('n', '<space>e', telescope.b.grep_string, {noremap = true})
- vim.keymap.set('n', '<space>c', telescope.b.git_status, {noremap = true})
- vim.keymap.set('n', '<space>q', telescope.quickfix, {noremap = true})
- vim.keymap.set('n', '<space>k', telescope.keymaps, {noremap = true})
- vim.keymap.set('n', '<space>m', telescope.b.man_pages, {noremap = true})
- vim.keymap.set('n', '<space>p', telescope.reloader, {noremap = true})
+ local tscope = require('tms.p.telescope')
+ local opts = { noremap = true }
+ vim.keymap.set('n', '<space>h', tscope.b.help_tags, opts)
+ vim.keymap.set('n', '<space>d', tscope.find_files, opts)
+ vim.keymap.set('n', '<space>D', tscope.b.find_files, opts)
+ vim.keymap.set('n', '<space>g', tscope.b.git_files, opts)
+ vim.keymap.set('n', '<space>b', tscope.buffers, opts)
+ vim.keymap.set('n', '<space>l', tscope.lines, opts)
+ vim.keymap.set('n', '<space>e', tscope.b.grep_string, opts)
+ vim.keymap.set('n', '<space>c', tscope.b.git_status, opts)
+ vim.keymap.set('n', '<space>q', tscope.quickfix, opts)
+ vim.keymap.set('n', '<space>k', tscope.keymaps, opts)
+ vim.keymap.set('n', '<space>m', tscope.b.man_pages, opts)
+ vim.keymap.set('n', '<space>p', tscope.e.packer.packer, opts)
+ vim.keymap.set('n', '<space>P', tscope.reloader, opts)
-- extensions
- vim.keymap.set('n', '<space>M', telescope.media_files, {noremap = true})
+ vim.keymap.set('n', '<space>M', tscope.media_files, opts)
-- custom
- vim.keymap.set('n', '<space>n', telescope.edit_neovim, {noremap = true})
+ vim.keymap.set('n', '<space>n', tscope.edit_neovim, opts)
-- maybe - almost unsuedtelescope
- vim.keymap.set('n', '<space>o', telescope.b.oldfiles, {noremap = true})
- vim.keymap.set('n', '<space>t', telescope.b.treesitter, {noremap = true})
- vim.keymap.set('n', '<space>P', telescope.e.packer.packer, {noremap = true})
+ vim.keymap.set('n', '<space>o', tscope.b.oldfiles, opts)
+ vim.keymap.set('n', '<space>t', tscope.b.treesitter, opts)
end,
}
- use {'nvim-telescope/telescope-packer.nvim', after = {'telescope.nvim'}}
+ use { 'nvim-telescope/telescope-packer.nvim', after = { 'telescope.nvim' } }
use {
'nvim-telescope/telescope-fzy-native.nvim',
- after = {'telescope.nvim'},
+ after = { 'telescope.nvim' },
config = function() require('telescope').load_extension('fzy_native') end,
}
use {
'nvim-telescope/telescope-dap.nvim',
- after = {'telescope.nvim'},
+ after = { 'telescope.nvim' },
config = function() require('telescope').load_extension('dap') end,
}
use {
'nvim-telescope/telescope-media-files.nvim',
- after = {'telescope.nvim'},
+ after = { 'telescope.nvim' },
config = function() require('telescope').load_extension('media_files') end,
}
-- Godot
- use {'habamax/vim-godot'}
+ use { 'habamax/vim-godot' }
-- personal
use {
@@ -487,8 +407,8 @@ return packer.startup({
}
-- database
- use {'tpope/vim-dadbod'}
- use {'kristijanhusak/vim-dadbod-ui'}
+ use { 'tpope/vim-dadbod' }
+ use { 'kristijanhusak/vim-dadbod-ui' }
use {
'kristijanhusak/vim-dadbod-completion',
config = function()
@@ -496,5 +416,5 @@ return packer.startup({
end,
}
end,
- config = {compile_path = vim.fn.stdpath('config') .. '/lua/packer_compiled.lua'},
+ config = { compile_path = vim.fn.stdpath('config') .. '/lua/packer_compiled.lua' },
})