commit f85077e58047ffb589d68fbf8cb39565588ff2ce
parent 6b3136053c28c2f844b888a19041b006520112ed
Author: Tomas Nemec <nemi@skaut.cz>
Date: Tue, 23 Aug 2022 23:29:30 +0200
update
Diffstat:
8 files changed, 168 insertions(+), 67 deletions(-)
diff --git a/after/plugin/color-picker.lua b/after/plugin/color-picker.lua
@@ -0,0 +1,8 @@
+if not pcall(require, 'color-picker') then
+ return
+end
+
+local opts = { noremap = true, silent = true }
+
+vim.keymap.set('n', '<C-c>', '<cmd>PickColor<cr>', opts)
+vim.keymap.set('i', '<C-c>', '<cmd>PickColorInsert<cr>', opts)
diff --git a/after/plugin/comment.lua b/after/plugin/comment.lua
@@ -1,19 +1,8 @@
-if not pcall(require, 'Comment') then return end
+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,
+ pre_hook = require('ts_context_commentstring.integrations.comment_nvim').create_pre_hook(),
})
diff --git a/after/plugin/dap.lua b/after/plugin/dap.lua
@@ -1,32 +1,59 @@
-if not pcall(require, 'dap') then return end
+if not pcall(require, 'dap') then
+ return
+end
-vim.keymap.set('n', '<leader>dc', function() require'dap'.continue() end, { silent = true, desc = 'DAP Continue' })
-vim.keymap.set('n', '<leader>do', function() require'dap'.step_over() end, { silent = true, desc = 'DAP Step Over' })
-vim.keymap.set('n', '<leader>di', function() require'dap'.step_into() end, { silent = true, desc = 'DAP Step Into' })
-vim.keymap.set('n', '<leader>dt', function() require'dap'.step_out() end, { silent = true, desc = 'DAP Step Out' })
-vim.keymap.set('n', '<leader>db', function() require'dap'.toggle_breakpoint() end,
- { silent = true, desc = 'DAP Toggle Breakpoint' })
-vim.keymap.set('n', '<leader>dC', function() require'dap'.clear_breakpoints() end,
- { silent = true, desc = 'DAP Clear Breakpoint' })
-vim.keymap.set('n', '<Leader>dB', function() require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: ')) end,
- { silent = true, desc = 'DAP Set Breakpoint' })
-vim.keymap.set('n', '<leader>dL',
- function() require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end,
- { silent = true, desc = 'DAP Set Log Point' })
-vim.keymap.set('n', '<leader>dr', function() require'dap'.repl.open() end, { silent = true, desc = 'DAP Open Repl' })
-vim.keymap.set('n', '<leader>dl', function() require'dap'.run_last() end, { silent = true, desc = 'DAP Run Last' })
+vim.keymap.set('n', '<leader>dc', function()
+ require'dap'.continue()
+end, { silent = true, desc = 'DAP Continue' })
+vim.keymap.set('n', '<leader>do', function()
+ require'dap'.step_over()
+end, { silent = true, desc = 'DAP Step Over' })
+vim.keymap.set('n', '<leader>di', function()
+ require'dap'.step_into()
+end, { silent = true, desc = 'DAP Step Into' })
+vim.keymap.set('n', '<leader>dt', function()
+ require'dap'.step_out()
+end, { silent = true, desc = 'DAP Step Out' })
+vim.keymap.set('n', '<leader>db', function()
+ require'dap'.toggle_breakpoint()
+end, { silent = true, desc = 'DAP Toggle Breakpoint' })
+vim.keymap.set('n', '<leader>dC', function()
+ require'dap'.clear_breakpoints()
+end, { silent = true, desc = 'DAP Clear Breakpoint' })
+vim.keymap.set('n', '<Leader>dB', function()
+ require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
+end, { silent = true, desc = 'DAP Set Breakpoint' })
+vim.keymap.set('n', '<leader>dL', function()
+ require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
+end, { silent = true, desc = 'DAP Set Log Point' })
+vim.keymap.set('n', '<leader>dr', function()
+ require'dap'.repl.open()
+end, { silent = true, desc = 'DAP Open Repl' })
+vim.keymap.set('n', '<leader>dl', function()
+ require'dap'.run_last()
+end, { silent = true, desc = 'DAP Run Last' })
local dap = require('dap')
local has_dapui, dapui = pcall(require, 'dapui')
if has_dapui then
dapui.setup()
- dap.listeners.after.event_initialized['dapui_config'] = function() dapui.open() end
- dap.listeners.before.event_terminated['dapui_config'] = function() dapui.close() end
- dap.listeners.before.event_exited['dapui_config'] = function() dapui.close() end
- vim.keymap.set('n', '<leader>du', function() dapui.toggle() end, { silent = true, desc = 'DAP UI Toggle' })
+ dap.listeners.after.event_initialized['dapui_config'] = function()
+ dapui.open()
+ end
+ dap.listeners.before.event_terminated['dapui_config'] = function()
+ dapui.close()
+ end
+ dap.listeners.before.event_exited['dapui_config'] = function()
+ dapui.close()
+ end
+ vim.keymap.set('n', '<leader>du', function()
+ dapui.toggle()
+ end, { silent = true, desc = 'DAP UI Toggle' })
end
local has_dapvt, dapvt = pcall(require, 'nvim-dap-virtual-text')
-if has_dapvt then dapvt.setup() end
+if has_dapvt then
+ dapvt.setup()
+end
-- cpp
-- dap.adapters.cpp = {
@@ -77,6 +104,40 @@ if has_dapvt then dapvt.setup() end
-- }
-- dap.adapters.nlua = function(callback, config) callback({ type = 'server', host = config.host, port = config.port }) end
+local has_vscode, vscode = pcall(require, 'dap-vscode-js')
+if has_vscode then
+ vscode.setup { adapters = { 'pwa-chrome' } }
+else
+ dap.adapters['pwa-chrome'] = {
+ type = 'server',
+ port = '${port}',
+ id = 'pwa-chrome',
+ executable = {
+ command = 'node',
+ args = { vim.fn.stdpath 'data' .. '/site/pack/packer/opt/vscode-js-debug/out/src/vsDebugServer.js', '${port}' },
+ detached = false,
+ cwd = vim.fn.getcwd(),
+ },
+ }
+end
+
+dap.set_log_level('TRACE')
+dap.configurations.dart = {
+ {
+ type = 'pwa-chrome',
+ request = 'attach',
+ name = 'Attach',
+
+ cwd = vim.fn.getcwd(),
+ port = 9222,
+ webRoot = '${workspaceFolder}',
+ -- sourceMapPathOverrides = {},
+
+ },
+}
+
-- go
local has_dapgo, dapgo = pcall(require, 'dap-go')
-if has_dapgo then dapgo.setup() end
+if has_dapgo then
+ dapgo.setup()
+end
diff --git a/after/plugin/exrc.lua b/after/plugin/exrc.lua
@@ -0,0 +1,7 @@
+if not pcall(require, 'exrc') then
+ return
+end
+
+vim.o.exrc = false
+
+require('exrc').setup {}
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -1,16 +1,16 @@
vim.g.dart_style_guide = 2
vim.g.dart_html_in_string = true
-if not pcall(require, 'dartls-helper.lsp') then return end
+if not pcall(require, 'dartls-helper.lsp') then
+ return
+end
local lsp = require('dartls-helper.lsp')
local req = require('dartls-helper.request')
local ddebug = require('tms.ft.dart.debug')
-local analyze = require('tms.ft.dart.analyze')
local cmd_opts = {}
--- vim.cmd [[command! -buffer DartAnalyzer lua require('tms.ft.dart.analyze').qf2131()]]
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)
@@ -18,25 +18,35 @@ 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 opts = function(desc) return { buffer = true, desc = desc } end
-vim.keymap.set('n', '<leader>pp', function() ddebug.print() end, opts('Dart Debug Print'))
-vim.keymap.set('n', '<leader>pn', function() analyze.qf2131() end, opts('Dart Analyze'))
+local opts = function(desc)
+ return { buffer = true, desc = desc }
+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('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'))
+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/lua/plugins.lua b/lua/plugins.lua
@@ -10,18 +10,19 @@ return packer.startup({
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'
+ use 'MunifTanjim/exrc.nvim'
-- colorscheme
- use { 'tjdevries/colorbuddy.nvim' }
+ use 'tjdevries/colorbuddy.nvim'
-- spell
use 'xxdavid/bez-diakritiky.vim'
-- movements
- use { 'ggandor/leap.nvim' }
+ use 'ggandor/leap.nvim'
-- editor
use 'tpope/vim-repeat'
@@ -35,6 +36,7 @@ return packer.startup({
use 'mbbill/undotree'
use 'camspiers/animate.vim'
use 'norcalli/nvim-colorizer.lua'
+ use 'ziontee113/color-picker.nvim'
use 'rainbowhxch/beacon.nvim'
-- use 'Yggdroot/hiPairs'
use 'jandamm/cryoline.nvim'
@@ -63,7 +65,6 @@ return packer.startup({
use { 'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' } }
use 'sindrets/diffview.nvim'
use 'tpope/vim-fugitive'
- use { 'ipod825/igit.nvim', requires = { 'nvim-lua/plenary.nvim', 'ipod825/libp.nvim' } }
use 'rhysd/git-messenger.vim'
use 'ThePrimeagen/git-worktree.nvim'
use 'rhysd/conflict-marker.vim'
@@ -119,6 +120,12 @@ return packer.startup({
use 'leoluz/nvim-dap-go'
use 'rcarriga/nvim-dap-ui'
use 'theHamsta/nvim-dap-virtual-text'
+ use "mxsdev/nvim-dap-vscode-js"
+ use {
+ "microsoft/vscode-js-debug",
+ opt = true,
+ run = "npm install --legacy-peer-deps && npm run compile"
+ }
-- treesitter
use 'nvim-treesitter/nvim-treesitter'
diff --git a/lua/tms/ws/init.lua b/lua/tms/ws/init.lua
@@ -7,4 +7,17 @@ M.medoro = {
end,
}
+M.dart = {
+ root_pattern = 'pubspec.yaml',
+ config = function()
+ local analyze = require('tms.ft.dart.analyze')
+ local opts = function(desc)
+ return { buffer = true, desc = desc }
+ end
+ vim.keymap.set('n', '<leader>pn', function()
+ analyze.qf2131()
+ end, opts('Dart Analyze'))
+ end,
+}
+
return M
diff --git a/plugin/ws.lua b/plugin/ws.lua
@@ -2,13 +2,19 @@ local ws = require('tms.ws')
for name, setup in pairs(ws) do
if setup.path then
- local group = vim.api.nvim_create_augroup('user-project-' .. name, { clear = true })
- vim.api.nvim_create_autocmd('VimEnter', { group = group, pattern = setup.path, callback = setup.config })
+ local group = vim.api.nvim_create_augroup('user-project-' .. name, {})
+ vim.api.nvim_create_autocmd('BufEnter', { group = group, pattern = setup.path, callback = setup.config })
+ end
+ if setup.root_pattern then
+ local group = vim.api.nvim_create_augroup('user-project-' .. name, {})
+ vim.api.nvim_create_autocmd('BufEnter', {
+ group = group,
+ callback = function()
+ if require('lspconfig.util').root_pattern(setup.root_pattern)(vim.fn.getcwd()) then
+ setup.config()
+ end
+ end,
+ })
end
-- if setup.buffer then au.addListener('user-project-buffer-' .. name, {'BufEnter ' .. setup.buffer}, setup.config) end
- -- if setup.filetypes then
- -- for _, filetype in ipairs(setup.filetypes) do
- -- au.addListener('user-project-ft-' .. name, {'FileType ' .. filetype}, setup.config)
- -- end
- -- end
end