From f313eb7f69bbb1a2bbdec4a4510038b11f13ca1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Dudr?= Date: Thu, 3 Nov 2022 15:05:24 +0100 Subject: [PATCH] neovim: cleanup --- dot_config/nvim/after/ftplugin/json.vim | 1 + dot_config/nvim/dot_editorconfig | 6 + dot_config/nvim/init.lua | 64 +--- dot_config/nvim/lua/configs/colors.lua | 43 +-- dot_config/nvim/lua/configs/fterm.lua | 6 +- dot_config/nvim/lua/configs/lsp.lua | 14 +- dot_config/nvim/lua/configs/misc.lua | 21 ++ dot_config/nvim/lua/configs/neoray.lua | 15 + dot_config/nvim/lua/configs/neotree.lua | 418 ++++++++++----------- dot_config/nvim/lua/configs/null-ls.lua | 6 +- dot_config/nvim/lua/configs/nvim-cmp.lua | 58 +-- dot_config/nvim/lua/configs/nvimtree.lua | 54 +-- dot_config/nvim/lua/configs/options.lua | 67 ++-- dot_config/nvim/lua/configs/packages.lua | 52 +-- dot_config/nvim/lua/configs/telescope.lua | 62 +-- dot_config/nvim/lua/configs/treesitter.lua | 18 +- dot_config/php/80/php.ini.tmpl | 1 + 17 files changed, 448 insertions(+), 458 deletions(-) create mode 100644 dot_config/nvim/after/ftplugin/json.vim create mode 100644 dot_config/nvim/lua/configs/misc.lua create mode 100644 dot_config/nvim/lua/configs/neoray.lua diff --git a/dot_config/nvim/after/ftplugin/json.vim b/dot_config/nvim/after/ftplugin/json.vim new file mode 100644 index 0000000..1b4c30f --- /dev/null +++ b/dot_config/nvim/after/ftplugin/json.vim @@ -0,0 +1 @@ +setlocal tabstop=2 shiftwidth=2 diff --git a/dot_config/nvim/dot_editorconfig b/dot_config/nvim/dot_editorconfig index 34c926e..9ac0429 100644 --- a/dot_config/nvim/dot_editorconfig +++ b/dot_config/nvim/dot_editorconfig @@ -2,3 +2,9 @@ root = true [*.lua] indent_style = space indent_size = 2 + +tab_width = 4 +quote_style = single +insert_final_newline = true +call_arg_parentheses = keep +table_separator_style = comma diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua index ec9482e..002175c 100644 --- a/dot_config/nvim/init.lua +++ b/dot_config/nvim/init.lua @@ -1,62 +1,8 @@ -require("configs.packages").setup() -require("configs.options").setup() +require('configs.packages').setup() +require('configs.options').setup() +require('configs.neoray') +require('configs.colors') +require('configs.misc') --- vsnip {{{ -vim.cmd 'imap vsnip#jumpable(1) ? \'(vsnip-jump-next)\' : \'\'' -vim.cmd 'smap vsnip#jumpable(1) ? \'(vsnip-jump-next)\' : \'\'' -vim.cmd 'imap vsnip#jumpable(-1) ? \'(vsnip-jump-prev)\' : \'\'' -vim.cmd 'smap vsnip#jumpable(-1) ? \'(vsnip-jump-prev)\' : \'\'' --- vsnip }}} - --- dressing.nvim {{{ -require('dressing').setup({ - input = { - relative = "editor", - }, -}) - --- }}} - --- Indent lines {{{ -vim.g.indent_blankline_filetype_exclude = { 'help', 'NvimTree', 'TelescopePrompt', 'lspinfo' } -vim.g.indent_blankline_buftype_exclude = { 'terminal', 'nofile', 'prompt' } --- indent lines }}} - --- NEORAY {{{ -vim.o.guifont = "Noto Sans Mono:14h" -vim.cmd [[ - if exists('g:neoray') - NeoraySet CursorAnimTime 0 - NeoraySet Transparency 0.95 - NeoraySet TargetTPS 120 - NeoraySet ContextMenuOn FALSE - NeoraySet BoxDrawingOn TRUE - NeoraySet WindowSize 100x40 - NeoraySet WindowState none - NeoraySet KeyZoomIn <> - NeoraySet KeyZoomOut <> - endif ]] - --- }}} - -require("configs.colors") - --- }}} - --- {{{ LAYA -vim.cmd [[ - augroup layaAbbrevs - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev TR $this->obtainer()->translator()->t(); - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev TI $this->obtainer()->translator()->t() - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev LOG $this->obtainer()->logger()->log(); - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev DBG $this->obtainer()->logger()->log('debug', 'debug',); - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev PROD $this->producer() - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev FILE $this->producer()->file() - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev LINK $this->producer()->link($this, '') - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev NW $this->obtainer()->notifications()->warning(); - autocmd BufRead,BufNewFile ~/jopixel/**/*.php iabbrev NS $this->obtainer()->notifications()->success(); - augroup END -]] --- }}} LAYA -- vim: sw=2: ts=2: fdm=marker: diff --git a/dot_config/nvim/lua/configs/colors.lua b/dot_config/nvim/lua/configs/colors.lua index c316a70..03e71e5 100644 --- a/dot_config/nvim/lua/configs/colors.lua +++ b/dot_config/nvim/lua/configs/colors.lua @@ -1,14 +1,14 @@ -local hl = function(group, opts) - if (opts.default == nil) then - opts.default = true +local function normalizeTSHighlight() --- {{{ + -- helper {{{ + local hl = function(group, opts) + if (opts.default == nil) then + opts.default = true + end + vim.api.nvim_set_hl(0, group, opts) end - vim.api.nvim_set_hl(0, group, opts) -end - -local function normalizeTSHighlight() + -- }}} -- Misc {{{ hl('@comment', { link = 'Comment' }) - -- hl('@error', {link = 'Error'}) hl('@none', { bg = 'NONE', fg = 'NONE' }) hl('@preproc', { link = 'PreProc' }) hl('@define', { link = 'Define' }) @@ -103,16 +103,9 @@ local function normalizeTSHighlight() hl('@tag.attribute', { link = 'Identifier' }) hl('@tag.delimiter', { link = 'Delimiter' }) -- }}} -end +end -- }}} -local function customLinks() - local cterm = vim.api.nvim_get_hl_by_name('Normal', false) - local gui = vim.api.nvim_get_hl_by_name('Normal', true) - hl('Function', { ctermfg = cterm.foreground, fg = gui.foreground, default = false }) - hl('Operator', { ctermfg = cterm.foreground, fg = gui.foreground, default = false }) -end - -local function normalizeTerminal() +local function normalizeTerminal() -- {{{ vim.g.terminal_color_0 = 0 vim.g.terminal_color_1 = 1 vim.g.terminal_color_2 = 2 @@ -129,12 +122,19 @@ local function normalizeTerminal() vim.g.terminal_color_13 = 13 vim.g.terminal_color_14 = 14 vim.g.terminal_color_15 = 15 +end -- }}} + +local function customLinks() + local cterm = vim.api.nvim_get_hl_by_name('Normal', false) + local gui = vim.api.nvim_get_hl_by_name('Normal', true) + vim.api.nvim_set_hl(0, 'Function', { ctermfg = cterm.foreground, fg = gui.foreground }) + vim.api.nvim_set_hl(0, 'Operator', { ctermfg = cterm.foreground, fg = gui.foreground }) end local augr = vim.api.nvim_create_augroup('config_colorscheme', {}); vim.api.nvim_create_autocmd('Colorscheme', { group = augr, - pattern = "*", + pattern = '*', callback = function() normalizeTSHighlight() customLinks() @@ -142,12 +142,13 @@ vim.api.nvim_create_autocmd('Colorscheme', { end }) - vim.api.nvim_create_autocmd('Colorscheme', { group = augr, - pattern = "gruvbox", + pattern = 'gruvbox', callback = function() - hl('Directory', { link = 'GruvboxGreen', default = false }) + vim.api.nvim_set_hl(0, 'Directory', { link = 'GruvboxGreen' }) + vim.api.nvim_set_hl(0, 'TelescopeSelection', { link = 'GruvboxOrangeSign' }) + vim.api.nvim_set_hl(0, 'TelescopeMatching', { link = 'GruvboxAqua' }) end }) diff --git a/dot_config/nvim/lua/configs/fterm.lua b/dot_config/nvim/lua/configs/fterm.lua index bb999c4..5d0e28b 100644 --- a/dot_config/nvim/lua/configs/fterm.lua +++ b/dot_config/nvim/lua/configs/fterm.lua @@ -2,11 +2,11 @@ local M = {} function M.setup() - local fterm = require("FTerm") + local fterm = require('FTerm') local lazygit = fterm:new({ -- ft = 'fterm_lazygit', -- You can also override the default filetype, if you want - cmd = "lazygit", + cmd = 'lazygit', dimensions = { height = 0.9, width = 0.9 @@ -20,7 +20,7 @@ function M.setup() vim.keymap.set('n', 'H', function() local file = vim.api.nvim_buf_get_name(0) - local cmd = 'git log -p --ext-diff '..file + local cmd = 'git log -p --ext-diff ' .. file local git_history = fterm:new({ -- ft = 'git_history', -- You can also override the default filetype, if you want cmd = cmd, diff --git a/dot_config/nvim/lua/configs/lsp.lua b/dot_config/nvim/lua/configs/lsp.lua index f84305c..4cab896 100644 --- a/dot_config/nvim/lua/configs/lsp.lua +++ b/dot_config/nvim/lua/configs/lsp.lua @@ -32,7 +32,7 @@ local function on_attach(args) vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) end - if client.supports_method("textDocument/hover") and client.name ~= 'null-ls' then + if client.supports_method('textDocument/hover') and client.name ~= 'null-ls' then vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) end @@ -61,7 +61,7 @@ local function on_attach(args) end function M.setup() - require("neodev").setup({}) + require('neodev').setup({}) vim.api.nvim_create_autocmd('LspAttach', { callback = on_attach @@ -103,12 +103,12 @@ function M.setup() replace = { ['openapi.json'] = { description = 'A JSON schema for Open API documentation files', - fileMatch = { "openapi.json", "openapi.yml", "openapi.yaml", "openapi/*.json" }, + fileMatch = { 'openapi.json', 'openapi.yml', 'openapi.yaml', 'openapi/*.json' }, name = 'openapi.json', url = 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json', versions = { - ["3.1"] = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json", - ["3.0"] = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json", + ['3.1'] = 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json', + ['3.0'] = 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json', } }, }, @@ -143,7 +143,7 @@ function M.setup() capabilities = capabilities, } - local util = require("lspconfig.util") + --[[ local util = require("lspconfig.util") require("lspconfig.configs").coffeesense = { default_config = { cmd = { '/home/vladimir/devel/coffeesense/server/bin/coffeesense-language-server' }, @@ -158,7 +158,7 @@ function M.setup() } } - require("lspconfig").coffeesense.setup({}) + require("lspconfig").coffeesense.setup({}) ]] end diff --git a/dot_config/nvim/lua/configs/misc.lua b/dot_config/nvim/lua/configs/misc.lua new file mode 100644 index 0000000..ff46b8e --- /dev/null +++ b/dot_config/nvim/lua/configs/misc.lua @@ -0,0 +1,21 @@ +-- {{{ LAYA + +local aug = vim.api.nvim_create_augroup('laya', {}) + +vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, { + group = aug, + pattern = '~/jopixel/**/*.php', + callback = function() + vim.cmd.iabbrev({ args = { '', 'TR', '$this->obtainer()->translator()->t();' } }) + vim.cmd.iabbrev({ args = { '', 'TI', '$this->obtainer()->translator()->t()' } }) + vim.cmd.iabbrev({ args = { '', 'LOG', '$this->obtainer()->logger()->log();' } }) + vim.cmd.iabbrev({ args = { '', 'DBG', "$this->obtainer()->logger()->log('debug', 'debug',);" } }) + vim.cmd.iabbrev({ args = { '', 'PROD', '$this->producer()' } }) + vim.cmd.iabbrev({ args = { '', 'FILE', '$this->producer()->file()' } }) + vim.cmd.iabbrev({ args = { '', 'LINK', "$this->producer()->link($this, '')" } }) + vim.cmd.iabbrev({ args = { '', 'NW', '$this->obtainer()->notifications()->warning();' } }) + vim.cmd.iabbrev({ args = { '', 'NS', '$this->obtainer()->notifications()->success();' } }) + end +}) + +-- }}} LAYA diff --git a/dot_config/nvim/lua/configs/neoray.lua b/dot_config/nvim/lua/configs/neoray.lua new file mode 100644 index 0000000..41bc915 --- /dev/null +++ b/dot_config/nvim/lua/configs/neoray.lua @@ -0,0 +1,15 @@ +vim.o.guifont = 'Noto Sans Mono:14h' + +if not vim.g.neoray then + return +end + +vim.cmd.NeoraySet('CursorAnimTime', 0) +vim.cmd.NeoraySet('Transparency', 0.95) +vim.cmd.NeoraySet('TargetTPS', 120) +vim.cmd.NeoraySet('ContextMenuOn', false) +vim.cmd.NeoraySet('BoxDrawingOn', true) +vim.cmd.NeoraySet('WindowSize', '100x40') +vim.cmd.NeoraySet('WindowState', 'none') +vim.cmd.NeoraySet('KeyZoomIn', '<>') +vim.cmd.NeoraySet('KeyZoomOut', '<>') diff --git a/dot_config/nvim/lua/configs/neotree.lua b/dot_config/nvim/lua/configs/neotree.lua index 2275cf6..8e1b6ab 100644 --- a/dot_config/nvim/lua/configs/neotree.lua +++ b/dot_config/nvim/lua/configs/neotree.lua @@ -1,223 +1,211 @@ local M = {} function M.setup() - vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]]) + vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]]) - -- If you want icons for diagnostic errors, you'll need to define them somewhere: - --[[ vim.fn.sign_define("DiagnosticSignError", - { text = " ", texthl = "DiagnosticSignError" }) - vim.fn.sign_define("DiagnosticSignWarn", - { text = " ", texthl = "DiagnosticSignWarn" }) - vim.fn.sign_define("DiagnosticSignInfo", - { text = " ", texthl = "DiagnosticSignInfo" }) - vim.fn.sign_define("DiagnosticSignHint", - { text = "", texthl = "DiagnosticSignHint" }) ]] - -- NOTE: this is changed from v1.x, which used the old style of highlight groups - -- in the form "LspDiagnosticsSignWarning" - - require("neo-tree").setup({ - close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab - popup_border_style = "rounded", - enable_git_status = true, - enable_diagnostics = false, - sort_case_insensitive = false, -- used when sorting files and directories in the tree - sort_function = nil, -- use a custom function for sorting files and directories in the tree - -- sort_function = function (a,b) - -- if a.type == b.type then - -- return a.path > b.path - -- else - -- return a.type > b.type - -- end - -- end , -- this sorts files and directories descendantly - default_component_configs = { - container = { - enable_character_fade = true - }, - indent = { - indent_size = 2, - padding = 1, -- extra padding on left hand side - -- indent guides - with_markers = true, - indent_marker = "│", - last_indent_marker = "└", - highlight = "NeoTreeIndentMarker", - -- expander config, needed for nesting files - with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders - expander_collapsed = "", - expander_expanded = "", - expander_highlight = "NeoTreeExpander", - }, - icon = { - folder_closed = "", - folder_open = "", - folder_empty = "ﰊ", - -- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there - -- then these will never be used. - default = "*", - highlight = "NeoTreeFileIcon" - }, - modified = { - symbol = "[+]", - highlight = "NeoTreeModified", - }, - name = { - trailing_slash = false, - use_git_status_colors = true, - highlight = "NeoTreeFileName", - }, - git_status = { - symbols = { - -- Change type - added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name - modified = "", -- or "", but this is redundant info if you use git_status_colors on the name - deleted = "✖", -- this can only be used in the git_status source - renamed = "", -- this can only be used in the git_status source - -- Status type - untracked = "", - ignored = "", - unstaged = "", - staged = "", - conflict = "", - } - }, - }, - window = { - position = "left", - width = 40, - mapping_options = { - noremap = true, - nowait = true, - }, - mappings = { - [""] = { - "toggle_node", - nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use - }, - ["<2-LeftMouse>"] = "open", - [""] = "open", - [""] = "revert_preview", - ["P"] = { "toggle_preview", config = { use_float = true } }, - ["S"] = "open_split", - ["s"] = "open_vsplit", - -- ["S"] = "split_with_window_picker", - -- ["s"] = "vsplit_with_window_picker", - ["t"] = "open_tabnew", - -- [""] = "open_drop", - -- ["t"] = "open_tab_drop", - ["w"] = "open_with_window_picker", - --["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing - ["C"] = "close_node", - ["z"] = "close_all_nodes", - --["Z"] = "expand_all_nodes", - ["a"] = { - "add", - -- some commands may take optional config options, see `:h neo-tree-mappings` for details - config = { - show_path = "none" -- "none", "relative", "absolute" - } - }, - ["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". - ["d"] = "delete", - ["r"] = "rename", - ["y"] = "copy_to_clipboard", - ["x"] = "cut_to_clipboard", - ["p"] = "paste_from_clipboard", - ["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add": - -- ["c"] = { - -- "copy", - -- config = { - -- show_path = "none" -- "none", "relative", "absolute" - -- } - --} - ["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add". - ["q"] = "close_window", - ["R"] = "refresh", - ["?"] = "show_help", - ["<"] = "prev_source", - [">"] = "next_source", - } - }, - nesting_rules = {}, - filesystem = { - filtered_items = { - visible = false, -- when true, they will just be displayed differently than normal items - hide_dotfiles = true, - hide_gitignored = true, - hide_hidden = true, -- only works on Windows for hidden files/directories - hide_by_name = { - --"node_modules" - }, - hide_by_pattern = { -- uses glob style patterns - --"*.meta", - --"*/src/*/tsconfig.json", - }, - always_show = { -- remains visible even if other settings would normally hide it - ".config", - --".gitignored", - }, - never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show - --".DS_Store", - --"thumbs.db" - }, - never_show_by_pattern = { -- uses glob style patterns - ".null-ls_*", - }, - }, - follow_current_file = false, -- This will find and focus the file in the active buffer every - -- time the current file is changed while the tree is open. - group_empty_dirs = false, -- when true, empty folders will be grouped together - hijack_netrw_behavior = "open_default", -- netrw disabled, opening a directory opens neo-tree - -- in whatever position is specified in window.position - -- "open_current", -- netrw disabled, opening a directory opens within the - -- window like netrw would, regardless of window.position - -- "disabled", -- netrw left alone, neo-tree does not handle opening dirs - use_libuv_file_watcher = true, -- This will use the OS level file watchers to detect changes - -- instead of relying on nvim autocmd events. - window = { - mappings = { - [""] = "navigate_up", - ["."] = "set_root", - ["H"] = "toggle_hidden", - ["/"] = "noop", - ["D"] = "fuzzy_finder_directory", - ["f"] = "filter_on_submit", - [""] = "clear_filter", - ["[g"] = "prev_git_modified", - ["]g"] = "next_git_modified", - } - } - }, - buffers = { - follow_current_file = true, -- This will find and focus the file in the active buffer every - -- time the current file is changed while the tree is open. - group_empty_dirs = true, -- when true, empty folders will be grouped together - show_unloaded = true, - window = { - mappings = { - ["bd"] = "buffer_delete", - [""] = "navigate_up", - ["."] = "set_root", - } - }, - }, - git_status = { - window = { - position = "float", - mappings = { - ["A"] = "git_add_all", - ["gu"] = "git_unstage_file", - ["ga"] = "git_add_file", - ["gr"] = "git_revert_file", - ["gc"] = "git_commit", - ["gp"] = "git_push", - ["gg"] = "git_commit_and_push", - } - } + require('neo-tree').setup({ + close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab + popup_border_style = 'rounded', + enable_git_status = true, + enable_diagnostics = false, + sort_case_insensitive = false, -- used when sorting files and directories in the tree + sort_function = nil, -- use a custom function for sorting files and directories in the tree + -- sort_function = function (a,b) + -- if a.type == b.type then + -- return a.path > b.path + -- else + -- return a.type > b.type + -- end + -- end , -- this sorts files and directories descendantly + default_component_configs = { + container = { + enable_character_fade = true + }, + indent = { + indent_size = 2, + padding = 1, -- extra padding on left hand side + -- indent guides + with_markers = true, + indent_marker = '│', + last_indent_marker = '└', + highlight = 'NeoTreeIndentMarker', + -- expander config, needed for nesting files + with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders + expander_collapsed = '', + expander_expanded = '', + expander_highlight = 'NeoTreeExpander', + }, + icon = { + folder_closed = '', + folder_open = '', + folder_empty = 'ﰊ', + -- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there + -- then these will never be used. + default = '*', + highlight = 'NeoTreeFileIcon' + }, + modified = { + symbol = '[+]', + highlight = 'NeoTreeModified', + }, + name = { + trailing_slash = false, + use_git_status_colors = true, + highlight = 'NeoTreeFileName', + }, + git_status = { + symbols = { + -- Change type + added = '', -- or "✚", but this is redundant info if you use git_status_colors on the name + modified = '', -- or "", but this is redundant info if you use git_status_colors on the name + deleted = '✖', -- this can only be used in the git_status source + renamed = '', -- this can only be used in the git_status source + -- Status type + untracked = '', + ignored = '', + unstaged = '', + staged = '', + conflict = '', } - }) + }, + }, + window = { + position = 'left', + width = 40, + mapping_options = { + noremap = true, + nowait = true, + }, + mappings = { + [''] = { + 'toggle_node', + nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use + }, + ['<2-LeftMouse>'] = 'open', + [''] = 'open', + [''] = 'revert_preview', + ['P'] = { 'toggle_preview', config = { use_float = true } }, + ['S'] = 'open_split', + ['s'] = 'open_vsplit', + -- ["S"] = "split_with_window_picker", + -- ["s"] = "vsplit_with_window_picker", + ['t'] = 'open_tabnew', + -- [""] = "open_drop", + -- ["t"] = "open_tab_drop", + ['w'] = 'open_with_window_picker', + --["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing + ['C'] = 'close_node', + ['z'] = 'close_all_nodes', + --["Z"] = "expand_all_nodes", + ['a'] = { + 'add', + -- some commands may take optional config options, see `:h neo-tree-mappings` for details + config = { + show_path = 'none' -- "none", "relative", "absolute" + } + }, + ['A'] = 'add_directory', -- also accepts the optional config.show_path option like "add". + ['d'] = 'delete', + ['r'] = 'rename', + ['y'] = 'copy_to_clipboard', + ['x'] = 'cut_to_clipboard', + ['p'] = 'paste_from_clipboard', + ['c'] = 'copy', -- takes text input for destination, also accepts the optional config.show_path option like "add": + -- ["c"] = { + -- "copy", + -- config = { + -- show_path = "none" -- "none", "relative", "absolute" + -- } + --} + ['m'] = 'move', -- takes text input for destination, also accepts the optional config.show_path option like "add". + ['q'] = 'close_window', + ['R'] = 'refresh', + ['?'] = 'show_help', + ['<'] = 'prev_source', + ['>'] = 'next_source', + } + }, + nesting_rules = {}, + filesystem = { + filtered_items = { + visible = false, -- when true, they will just be displayed differently than normal items + hide_dotfiles = true, + hide_gitignored = true, + hide_hidden = true, -- only works on Windows for hidden files/directories + hide_by_name = { + --"node_modules" + }, + hide_by_pattern = { -- uses glob style patterns + --"*.meta", + --"*/src/*/tsconfig.json", + }, + always_show = { -- remains visible even if other settings would normally hide it + '.config', + --".gitignored", + }, + never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show + --".DS_Store", + --"thumbs.db" + }, + never_show_by_pattern = { -- uses glob style patterns + '.null-ls_*', + }, + }, + follow_current_file = false, -- This will find and focus the file in the active buffer every + -- time the current file is changed while the tree is open. + group_empty_dirs = false, -- when true, empty folders will be grouped together + hijack_netrw_behavior = 'open_default', -- netrw disabled, opening a directory opens neo-tree + -- in whatever position is specified in window.position + -- "open_current", -- netrw disabled, opening a directory opens within the + -- window like netrw would, regardless of window.position + -- "disabled", -- netrw left alone, neo-tree does not handle opening dirs + use_libuv_file_watcher = true, -- This will use the OS level file watchers to detect changes + -- instead of relying on nvim autocmd events. + window = { + mappings = { + [''] = 'navigate_up', + ['.'] = 'set_root', + ['H'] = 'toggle_hidden', + ['/'] = 'noop', + ['D'] = 'fuzzy_finder_directory', + ['f'] = 'filter_on_submit', + [''] = 'clear_filter', + ['[g'] = 'prev_git_modified', + [']g'] = 'next_git_modified', + } + } + }, + buffers = { + follow_current_file = true, -- This will find and focus the file in the active buffer every + -- time the current file is changed while the tree is open. + group_empty_dirs = true, -- when true, empty folders will be grouped together + show_unloaded = true, + window = { + mappings = { + ['bd'] = 'buffer_delete', + [''] = 'navigate_up', + ['.'] = 'set_root', + } + }, + }, + git_status = { + window = { + position = 'float', + mappings = { + ['A'] = 'git_add_all', + ['gu'] = 'git_unstage_file', + ['ga'] = 'git_add_file', + ['gr'] = 'git_revert_file', + ['gc'] = 'git_commit', + ['gp'] = 'git_push', + ['gg'] = 'git_commit_and_push', + } + } + } + }) - vim.api.nvim_set_keymap('n', '', [[Neotree toggle]], {}) - vim.api.nvim_set_keymap('n', '', [[Neotree reveal]], {}) - vim.api.nvim_set_keymap('n', 'G', [[Neotree git_status]], {}) + vim.api.nvim_set_keymap('n', '', [[Neotree toggle]], {}) + vim.api.nvim_set_keymap('n', '', [[Neotree reveal]], {}) + vim.api.nvim_set_keymap('n', 'G', [[Neotree git_status]], {}) end return M diff --git a/dot_config/nvim/lua/configs/null-ls.lua b/dot_config/nvim/lua/configs/null-ls.lua index d5063df..6f75cac 100644 --- a/dot_config/nvim/lua/configs/null-ls.lua +++ b/dot_config/nvim/lua/configs/null-ls.lua @@ -1,7 +1,7 @@ local M = {} function M.setup() - local nls = require "null-ls" + local nls = require 'null-ls' nls.setup({ debug = false, @@ -12,11 +12,11 @@ function M.setup() nls.builtins.diagnostics.phpstan.with({ cwd = function(params) -- falls back to root if return value is nil - return params.root:match("jopixel") and not params.root:match("repo") and "www"; + return params.root:match('jopixel') and not params.root:match('repo') and 'www'; end }), nls.builtins.formatting.phpcsfixer.with({ - extra_args = { "--rules", [[ { + extra_args = { '--rules', [[ { "@Symfony":true, "nullable_type_declaration_for_default_null_value":true, "array_syntax":{"syntax":"short"}, diff --git a/dot_config/nvim/lua/configs/nvim-cmp.lua b/dot_config/nvim/lua/configs/nvim-cmp.lua index 1817a2b..e7b1eea 100644 --- a/dot_config/nvim/lua/configs/nvim-cmp.lua +++ b/dot_config/nvim/lua/configs/nvim-cmp.lua @@ -1,36 +1,36 @@ local M = {} function M.setup() - local cmp = require 'cmp' + local cmp = require 'cmp' - cmp.setup({ - -- documentation = true, - sources = { - { name = 'nvim_lsp' }, - { name = 'nvim_lua' }, - { name = 'buffer' }, - { name = 'path' }, - -- { name = 'nvim_lsp_signature_help' }, - }, - formatting = { - format = require 'lspkind'.cmp_format({ - -- mode = 'symbol', - }), - }, - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.confirm({ select = false }) - }), - snippet = { - expand = function(args) - -- For `vsnip` user. - vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` user. - end - } - }) + cmp.setup({ + -- documentation = true, + sources = { + { name = 'nvim_lsp' }, + { name = 'nvim_lua' }, + { name = 'buffer' }, + { name = 'path' }, + -- { name = 'nvim_lsp_signature_help' }, + }, + formatting = { + format = require 'lspkind'.cmp_format({ + -- mode = 'symbol', + }), + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.confirm({ select = false }) + }), + snippet = { + expand = function(args) + -- For `vsnip` user. + vim.fn['vsnip#anonymous'](args.body) -- For `vsnip` user. + end + } + }) end return M diff --git a/dot_config/nvim/lua/configs/nvimtree.lua b/dot_config/nvim/lua/configs/nvimtree.lua index 0635744..182cc21 100644 --- a/dot_config/nvim/lua/configs/nvimtree.lua +++ b/dot_config/nvim/lua/configs/nvimtree.lua @@ -1,33 +1,33 @@ local M = {} function M.setup() - require('nvim-tree').setup({ - sync_root_with_cwd = true, - renderer = { - add_trailing = true, - special_files = {}, - highlight_git = true, - indent_markers = { - enable = true, - }, - icons = { - show = { - file = false, - folder = false, - folder_arrow = false, - git = false - } - }, - }, - git = { - ignore = true - }, - filters = { - dotfiles = true, - }, - }) + require('nvim-tree').setup({ + sync_root_with_cwd = true, + renderer = { + add_trailing = true, + special_files = {}, + highlight_git = true, + indent_markers = { + enable = true, + }, + icons = { + show = { + file = false, + folder = false, + folder_arrow = false, + git = false + } + }, + }, + git = { + ignore = true + }, + filters = { + dotfiles = true, + }, + }) - vim.api.nvim_set_keymap('n', '', [[NvimTreeToggle]], {}) - vim.api.nvim_set_keymap('n', '', [[NvimTreeFindFile]], {}) + vim.api.nvim_set_keymap('n', '', [[NvimTreeToggle]], {}) + vim.api.nvim_set_keymap('n', '', [[NvimTreeFindFile]], {}) end return M diff --git a/dot_config/nvim/lua/configs/options.lua b/dot_config/nvim/lua/configs/options.lua index c3bcadf..ce044d3 100644 --- a/dot_config/nvim/lua/configs/options.lua +++ b/dot_config/nvim/lua/configs/options.lua @@ -1,40 +1,41 @@ local M = {} function M.setup() - vim.o.ruler = true - vim.o.mouse = '' - vim.o.showcmd = true - vim.o.scrolloff = 3 - vim.o.ignorecase = true - vim.o.smartcase = true - vim.o.incsearch = true - vim.o.inccommand = 'split' - vim.o.hidden = true - vim.o.autoread = true - vim.o.completeopt = 'menuone,noinsert,noselect' - vim.o.tabstop = 4 - vim.o.softtabstop = 4 - vim.o.swapfile = true - vim.o.undofile = true - vim.o.expandtab = true - vim.o.shiftwidth = 4 - vim.o.number = true - --vim.o.colorcolumn=0 - vim.o.foldmethod='marker' - vim.o.foldcolumn = 'auto:1' - vim.o.signcolumn = 'yes' - vim.o.list = false - vim.o.relativenumber = false - vim.o.foldenable = true - vim.o.cursorline = true - vim.o.autoindent = true - vim.o.smartindent = true - vim.o.fileencodings = 'ucs-bom,utf-8,default,windows-1250,cp852' - vim.o.path = '**' - --vim.o.clipboard = "unnamedplus" + --vim.o.colorcolumn=0 + vim.o.autoindent = true + vim.o.autoread = true + vim.o.completeopt = 'menuone,noinsert,noselect' + vim.o.cursorline = true + vim.o.expandtab = true + vim.o.fileencodings = 'ucs-bom,utf-8,default,windows-1250,cp852' + vim.o.foldcolumn = 'auto:1' + vim.o.foldenable = true + vim.o.foldmethod = 'marker' + vim.o.foldopen = 'hor,mark,percent,quickfix,search,tag,undo' + vim.o.hidden = true + vim.o.ignorecase = true + vim.o.inccommand = 'split' + vim.o.incsearch = true + vim.o.list = false + vim.o.mouse = '' + vim.o.number = true + vim.o.path = '**' + vim.o.relativenumber = false + vim.o.ruler = true + vim.o.scrolloff = 3 + vim.o.shiftwidth = 4 + vim.o.showcmd = true + vim.o.signcolumn = 'yes' + vim.o.smartcase = true + vim.o.smartindent = true + vim.o.softtabstop = 4 + vim.o.swapfile = true + vim.o.tabstop = 4 + vim.o.undofile = true + --vim.o.clipboard = "unnamedplus" - -- Buffer - vim.cmd([[ + -- Buffer + vim.cmd([[ augroup forceRecheck au FocusGained,BufEnter * :silent! ! augroup END diff --git a/dot_config/nvim/lua/configs/packages.lua b/dot_config/nvim/lua/configs/packages.lua index 5929432..1ad99d8 100644 --- a/dot_config/nvim/lua/configs/packages.lua +++ b/dot_config/nvim/lua/configs/packages.lua @@ -26,15 +26,19 @@ function M.setup() use { 'neovim/nvim-lspconfig', - config = function() require("configs.lsp").setup() end, + config = function() require('configs.lsp').setup() end, requires = { 'b0o/schemastore.nvim' } } - use { 'hrsh7th/nvim-cmp', requires = { 'neovim/nvim-lspconfig' }, config = require("configs.nvim-cmp").setup } + use { 'hrsh7th/nvim-cmp', requires = { 'neovim/nvim-lspconfig' }, config = require('configs.nvim-cmp').setup } use { 'hrsh7th/cmp-nvim-lsp', requires = { 'hrsh7th/nvim-cmp' } } use { 'hrsh7th/cmp-buffer', requires = { 'hrsh7th/nvim-cmp' } } use { 'hrsh7th/cmp-path', requires = { 'hrsh7th/nvim-cmp' } } use { 'hrsh7th/cmp-nvim-lua', requires = { 'hrsh7th/nvim-cmp' } } - use 'hrsh7th/vim-vsnip' + use { 'hrsh7th/vim-vsnip', config = function() + vim.keymap.set({ 'i', 's' }, '', [[vsnip#jumpable(1) ? '(vsnip-jump-next)' : ]], { expr = true }) + vim.keymap.set({ 'i', 's' }, '', [[vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : ]], { expr = true }) + end } + use 'hrsh7th/cmp-nvim-lsp-signature-help' use { 'hrsh7th/cmp-vsnip', requires = { 'hrsh7th/nvim-cmp', 'hrsh7th/vim-vsnip' } } @@ -44,21 +48,27 @@ function M.setup() -- use { 'weilbith/nvim-code-action-menu', cmd = 'CodeActionMenu' } -- use { 'simrat39/symbols-outline.nvim', cmd = 'SymbolsOutline' } - use { 'stevearc/dressing.nvim' } + use { 'stevearc/dressing.nvim', config = function() + require('dressing').setup({ + input = { + relative = 'editor', + }, + }) + end } - use { 'jose-elias-alvarez/null-ls.nvim', requires = { "nvim-lua/plenary.nvim" }, - config = require("configs.null-ls").setup } + use { 'jose-elias-alvarez/null-ls.nvim', requires = { 'nvim-lua/plenary.nvim' }, + config = require('configs.null-ls').setup } use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', - config = require("configs.treesitter").setup, + config = require('configs.treesitter').setup, } use 'nvim-treesitter/playground' - use({ "yioneko/nvim-yati", requires = "nvim-treesitter/nvim-treesitter" }) + use({ 'yioneko/nvim-yati', requires = 'nvim-treesitter/nvim-treesitter' }) use { 'nvim-telescope/telescope.nvim', requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim' }, - config = require("configs.telescope").setup, + config = require('configs.telescope').setup, } use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' @@ -68,8 +78,8 @@ function M.setup() use { 'chrisbra/Colorizer', cmd = 'ColorToggle', keys = { 'n', 'c ColorToggle' } } - use { "numToStr/FTerm.nvim", - config = require("configs.fterm").setup + use { 'numToStr/FTerm.nvim', + config = require('configs.fterm').setup } use { 'lewis6991/gitsigns.nvim', @@ -78,7 +88,7 @@ function M.setup() use { 'hoob3rt/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons' }, - config = require("configs.lualine").setup + config = require('configs.lualine').setup } use { 'AndrewRadev/linediff.vim', cmd = 'LineDiffAdd' } @@ -87,7 +97,7 @@ function M.setup() use { 'b3nj5m1n/kommentary', - config = function() require('kommentary.config').configure_language("php", + config = function() require('kommentary.config').configure_language('php', { prefer_single_line_comments = true, }) end } @@ -96,19 +106,19 @@ function M.setup() use { 'kyazdani42/nvim-tree.lua', - config = require("configs.nvimtree"), + config = require('configs.nvimtree'), disable = true, } use { - "nvim-neo-tree/neo-tree.nvim", - branch = "v2.x", + 'nvim-neo-tree/neo-tree.nvim', + branch = 'v2.x', requires = { - "nvim-lua/plenary.nvim", - "kyazdani42/nvim-web-devicons", -- not strictly required, but recommended - "MunifTanjim/nui.nvim", + 'nvim-lua/plenary.nvim', + 'kyazdani42/nvim-web-devicons', -- not strictly required, but recommended + 'MunifTanjim/nui.nvim', }, - config = require("configs.neotree").setup, + config = require('configs.neotree').setup, } use { @@ -128,7 +138,7 @@ function M.setup() use { 'folke/trouble.nvim', - requires = "kyazdani42/nvim-web-devicons", + requires = 'kyazdani42/nvim-web-devicons', cmd = 'TroubleToggle', keys = { 'n', 't TroubleToggle' }, config = function() require('trouble').setup({ diff --git a/dot_config/nvim/lua/configs/telescope.lua b/dot_config/nvim/lua/configs/telescope.lua index a7b79c5..899f48c 100644 --- a/dot_config/nvim/lua/configs/telescope.lua +++ b/dot_config/nvim/lua/configs/telescope.lua @@ -1,16 +1,16 @@ local M = {} function M.setup() - vim.api.nvim_set_keymap('n', 'b', [[Telescope buffers]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'f', [[Telescope fd]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'T', [[Telescope]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'b', [[Telescope buffers]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'f', [[Telescope fd]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'T', [[Telescope]], { noremap = true, silent = true }) - require("telescope").setup { - defaults = { - preview = { - hide_on_startup = true - }, - --[[ mappings = { + require('telescope').setup { + defaults = { + preview = { + hide_on_startup = true + }, + --[[ mappings = { i = { [""] = actions.toggle_preview, }, @@ -18,33 +18,33 @@ n = { [""] = actions.toggle_preview, }, }, ]] - }, - pickers = { - buffers = { - show_all_buffers = true, - sort_lastused = false, - sort_mru = true, - -- theme = "dropdown", - mappings = { - i = { [""] = "delete_buffer", }, - n = { [""] = "delete_buffer", } - } - } + }, + pickers = { + buffers = { + show_all_buffers = true, + sort_lastused = false, + sort_mru = true, + -- theme = "dropdown", + mappings = { + i = { [''] = 'delete_buffer', }, + n = { [''] = 'delete_buffer', } } + } } + } - require('telescope').load_extension('fzf') + require('telescope').load_extension('fzf') - --[[ local telescope_ag = vim.api.nvim_create_augroup('Telescope') + --[[ local telescope_ag = vim.api.nvim_create_augroup('Telescope') nvim.nvim_create_autocmd('FileType', { pattern='TelescopePrompt', command = nvim.nvim_buf_set_keymap('n', '' ]] - vim.cmd 'augroup Telescope' - vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope buffers initial_mode=insert' - vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope fd initial_mode=insert' - vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope buffers initial_mode=insert' - vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope fd initial_mode=insert' - vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope builtin initial_mode=insert' - vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope builtin initial_mode=insert' - vim.cmd 'augroup END' + vim.cmd 'augroup Telescope' + vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope buffers initial_mode=insert' + vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope fd initial_mode=insert' + vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope buffers initial_mode=insert' + vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope fd initial_mode=insert' + vim.cmd 'autocmd FileType TelescopePrompt inoremap Telescope builtin initial_mode=insert' + vim.cmd 'autocmd FileType TelescopePrompt nnoremap Telescope builtin initial_mode=insert' + vim.cmd 'augroup END' end diff --git a/dot_config/nvim/lua/configs/treesitter.lua b/dot_config/nvim/lua/configs/treesitter.lua index a67b560..7dec208 100644 --- a/dot_config/nvim/lua/configs/treesitter.lua +++ b/dot_config/nvim/lua/configs/treesitter.lua @@ -5,17 +5,17 @@ function M.setup() ensure_installed = 'all', -- one of "all", "maintained" (parsers with maintainers), or a list of languages highlight = { enable = true, - disable = { "help" }, + disable = { 'help' }, }, playground = { enable = true, }, yati = { enable = true, }, incremental_selection = { enable = true, keymaps = { - init_selection = "gnn", - node_incremental = "+", - scope_incremental = "grc", - node_decremental = "-", + init_selection = 'gnn', + node_incremental = '+', + scope_incremental = 'grc', + node_decremental = '-', }, }, indent = { @@ -27,14 +27,14 @@ function M.setup() local ts_parsers = require 'nvim-treesitter.parsers'.get_parser_configs() ts_parsers.xml = { install_info = { - url = "https://github.com/dorgnarg/tree-sitter-xml", -- local path or git repo - files = { "src/parser.c" }, + url = 'https://github.com/dorgnarg/tree-sitter-xml', -- local path or git repo + files = { 'src/parser.c' }, -- optional entries: - branch = "main", -- default branch in case of git repo if different from master + branch = 'main', -- default branch in case of git repo if different from master generate_requires_npm = false, -- if stand-alone parser without npm dependencies requires_generate_from_grammar = true, -- if folder contains pre-generated src/parser.c }, - filetype = "xml", -- if filetype does not match the parser name + filetype = 'xml', -- if filetype does not match the parser name } end diff --git a/dot_config/php/80/php.ini.tmpl b/dot_config/php/80/php.ini.tmpl index fc261d4..cee0549 100644 --- a/dot_config/php/80/php.ini.tmpl +++ b/dot_config/php/80/php.ini.tmpl @@ -911,6 +911,7 @@ extension=pgsql.so extension=pdo_mysql.so extension=pdo_pgsql.so extension=pdo_sqlite.so +extension=pdo_firebird.so extension=phar.so extension=posix.so extension=simplexml.so