From 8082bd0f1e87228a6ade162425a7570d93a05f06 Mon Sep 17 00:00:00 2001 From: pro100ton Date: Fri, 31 Jan 2025 20:36:04 +0300 Subject: [PATCH] Start config revamp based on neovim docs --- DESCRIPTION.md | 2 - Dockerfile | 37 ------ Dockerfile_old | 26 ----- README.md | 53 +-------- archived/nvim-tree.lua | 40 ------- ftplugin/go.lua | 1 + init.lua | 38 +++++- lua/{t0xa/plugins => custom}/oil.lua | 10 +- lua/custom/plugins/oil.lua | 8 ++ lua/t0xa/core/keybindings.lua | 13 --- lua/t0xa/core/options.lua | 51 -------- lua/t0xa/lazy.lua | 22 ---- lua/t0xa/plugins/autopairs.lua | 31 ----- lua/t0xa/plugins/blame.lua | 6 - lua/t0xa/plugins/colorscheme.lua | 24 ---- lua/t0xa/plugins/comment.lua | 19 --- lua/t0xa/plugins/dadbod.lua | 5 - lua/t0xa/plugins/dressing.lua | 4 - lua/t0xa/plugins/lsp/lspconfig.lua | 147 ------------------------ lua/t0xa/plugins/lsp/mason.lua | 49 -------- lua/t0xa/plugins/lualine.lua | 24 ---- lua/t0xa/plugins/neogen.lua | 15 --- lua/t0xa/plugins/none-ls.lua | 18 --- lua/t0xa/plugins/nvim-cmp.lua | 90 --------------- lua/t0xa/plugins/nvim-tree.lua | 43 ------- lua/t0xa/plugins/obsidian.lua | 32 ------ lua/t0xa/plugins/plenary.lua | 3 - lua/t0xa/plugins/rust-tools.lua | 3 - lua/t0xa/plugins/telescope.lua | 41 ------- lua/t0xa/plugins/todo-comments.lua | 21 ---- lua/t0xa/plugins/treesitter.lua | 66 ----------- lua/t0xa/plugins/trouble.lua | 37 ------ lua/t0xa/plugins/vim-tmux-navigator.lua | 17 --- lua/t0xa/plugins/which-key.lua | 19 --- snippets/go.json | 17 --- snippets/package.json | 20 ---- snippets/python.json | 36 ------ 37 files changed, 47 insertions(+), 1041 deletions(-) delete mode 100644 Dockerfile delete mode 100644 Dockerfile_old delete mode 100644 archived/nvim-tree.lua create mode 100644 ftplugin/go.lua rename lua/{t0xa/plugins => custom}/oil.lua (76%) create mode 100644 lua/custom/plugins/oil.lua delete mode 100644 lua/t0xa/core/keybindings.lua delete mode 100644 lua/t0xa/core/options.lua delete mode 100644 lua/t0xa/lazy.lua delete mode 100644 lua/t0xa/plugins/autopairs.lua delete mode 100644 lua/t0xa/plugins/blame.lua delete mode 100644 lua/t0xa/plugins/colorscheme.lua delete mode 100644 lua/t0xa/plugins/comment.lua delete mode 100644 lua/t0xa/plugins/dadbod.lua delete mode 100644 lua/t0xa/plugins/dressing.lua delete mode 100644 lua/t0xa/plugins/lsp/lspconfig.lua delete mode 100644 lua/t0xa/plugins/lsp/mason.lua delete mode 100644 lua/t0xa/plugins/lualine.lua delete mode 100644 lua/t0xa/plugins/neogen.lua delete mode 100644 lua/t0xa/plugins/none-ls.lua delete mode 100644 lua/t0xa/plugins/nvim-cmp.lua delete mode 100644 lua/t0xa/plugins/nvim-tree.lua delete mode 100644 lua/t0xa/plugins/obsidian.lua delete mode 100644 lua/t0xa/plugins/plenary.lua delete mode 100644 lua/t0xa/plugins/rust-tools.lua delete mode 100644 lua/t0xa/plugins/telescope.lua delete mode 100644 lua/t0xa/plugins/todo-comments.lua delete mode 100644 lua/t0xa/plugins/treesitter.lua delete mode 100644 lua/t0xa/plugins/trouble.lua delete mode 100644 lua/t0xa/plugins/vim-tmux-navigator.lua delete mode 100644 lua/t0xa/plugins/which-key.lua delete mode 100644 snippets/go.json delete mode 100644 snippets/package.json delete mode 100644 snippets/python.json diff --git a/DESCRIPTION.md b/DESCRIPTION.md index b0d8f92..e69de29 100644 --- a/DESCRIPTION.md +++ b/DESCRIPTION.md @@ -1,2 +0,0 @@ -# Useful links -- [neovim stup guide](https://www.youtube.com/watch?v=6pAG3BHurdM) diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 5d86dda..0000000 --- a/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:latest - -# Install build tools and nvim deps -RUN apt-get update && apt-get install -y --no-install-recommends \ - cmake \ - gettext \ - unzip \ - git \ - build-essential \ - curl \ - nodejs \ - npm \ - fzf \ - golang-go \ - python3 \ - python3-pip \ - python3-venv \ - ripgrep - -# Clone neovim repo -RUN git clone --depth 1 --branch v0.10.1 https://github.com/neovim/neovim.git -# Build neovim -RUN cd neovim && CMAKE_BUILD_TYPE=Release && make install - -# Install rust -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -y | sh - -# Create user -RUN useradd -m nvim_playground -USER nvim_playground - -# Copy config to user folders -RUN mkdir -p /home/nvim_playground/.config/nvim -WORKDIR /home/nvim_playground/.config/nvim -COPY --chown=nvim_playground:nvim_playground . . - -USER nvim_playground diff --git a/Dockerfile_old b/Dockerfile_old deleted file mode 100644 index a28923a..0000000 --- a/Dockerfile_old +++ /dev/null @@ -1,26 +0,0 @@ -FROM ubuntu:latest - -LABEL maintainer="pro100ton@gmail.com" - -RUN apt-get update && apt-get install -y \ - build-essential \ - curl \ - neovim \ - git \ - nodejs \ - npm \ - fzf \ - golang-go \ - python3 \ - python3-pip \ - python3-venv \ - unzip \ - ripgrep -RUN useradd -m nvim_playground - -USER nvim_playground - -RUN mkdir /home/nvim_playground/.config -RUN mkdir /home/nvim_playground/.config/nvim -WORKDIR /home/nvim_playground/.config/nvim -COPY . . diff --git a/README.md b/README.md index 19683ef..6fb4778 100644 --- a/README.md +++ b/README.md @@ -1,52 +1 @@ -# Installation -## obsidian.nvim -Чтобы правильно работал плагин для obsidian'a - необходимо установить переменную окружения `OBSIDIAN_NOTES_PATH`, которая будет указывать путь до папки, где лежат документы obsidian. - -Код, в котором это используется: - -path: `lua/t0xa/plugins/obsidian.lua` -code -```lua -... -workspaces = { - { - name = "personal", - path = os.getenv("OBSIDIAN_NOTES_PATH"), - }, -}, -... -``` - - -# File structure -``` -. -├── Dockerfile -├── README.md -├── init.lua -└── lua - └── t0xa - ├── core - │   └── options.lua - └── plugins - └── lazy.lua -``` - -## init.lua -Файл, в который "смотрит" neovim при [старте](https://neovim.io/doc/user/starting.html#initialization). - -## t0xa -Вместо того, чтобы использовать обращение к файлам настройки напрямую - используется данная -папка. -Можно обходиться без нее, однако для избегания конфликтов нейминга решил что буду использовать -так. -## core -Тут хранятся базовые настройки для neovim -## plugins -Папка для хранения и настроек плагинов для neovim - -# Команда для запуска контейнеров - -``` -docker build -t nvim:nvim . && docker run -it --user nvim_playground nvim:nvim -``` +# Config refactor (v2.0) diff --git a/archived/nvim-tree.lua b/archived/nvim-tree.lua deleted file mode 100644 index e091d72..0000000 --- a/archived/nvim-tree.lua +++ /dev/null @@ -1,40 +0,0 @@ -return { - "nvim-tree/nvim-tree.lua", - dependencies = "nvim-tree/nvim-web-devicons", - config = function() - local nvimtree = require("nvim-tree") - -- recommended settings from nvim-tree documentation - vim.g.loaded_netrw = 1 - vim.g.loaded_netrwPlugin = 1 - - nvimtree.setup({ - view = { - -- width = 35, - adaptive_size = true, - relativenumber = true, - }, - -- disable window_picker for explorer to work well with window splits - actions = { - open_file = { - window_picker = { - enable = true, - }, - }, - }, - -- Custom list of vim regex for names that will not be shown - filters = { - custom = { ".DS_Store" }, - }, - -- Show files ignored by git - git = { - ignore = false, - }, - }) - - -- set nvim-tree keypmaps - local keymap = vim.keymap - keymap.set('n', 'nt', ':NvimTreeToggle', {desc = "Toggle file explorer"}) - keymap.set('n', 'nf', ':NvimTreeFindFileToggle', {desc = "Toggle file explorer on current file"}) - - end -} diff --git a/ftplugin/go.lua b/ftplugin/go.lua new file mode 100644 index 0000000..1473193 --- /dev/null +++ b/ftplugin/go.lua @@ -0,0 +1 @@ +print("Hello from golang file") diff --git a/init.lua b/init.lua index a06767a..a7a4306 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,34 @@ --- Omitting `lua` directory, because neovim autmaticaly serching in it -require("t0xa.core.options") -require("t0xa.core.keybindings") -require("t0xa.lazy") +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Making leader () key to space +vim.g.mapleader = " " +-- Making local leader () key to backslash +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "custom/plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "gruvbox-material" } }, + -- automatically check for plugin updates + checker = { enabled = false }, +}) diff --git a/lua/t0xa/plugins/oil.lua b/lua/custom/oil.lua similarity index 76% rename from lua/t0xa/plugins/oil.lua rename to lua/custom/oil.lua index af70737..0b43a33 100644 --- a/lua/t0xa/plugins/oil.lua +++ b/lua/custom/oil.lua @@ -1,7 +1,4 @@ -return { - "stevearc/oil.nvim", - ---@module 'oil' - ---@type oil.SetupOpts +require("oil").setup{ opts = { keymaps = { ["g?"] = "actions.show_help", @@ -25,7 +22,6 @@ return { show_hidden = true, }, }, - -- Optional dependencies - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons + -- Open parent directory in current window + vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }), } diff --git a/lua/custom/plugins/oil.lua b/lua/custom/plugins/oil.lua new file mode 100644 index 0000000..96156df --- /dev/null +++ b/lua/custom/plugins/oil.lua @@ -0,0 +1,8 @@ +return { + "stevearc/oil.nvim", + dependencies = { { "echasnovski/mini.icons", opts = {} } }, + config = function() + require "custom/oil" + end, +} + diff --git a/lua/t0xa/core/keybindings.lua b/lua/t0xa/core/keybindings.lua deleted file mode 100644 index 55dfcb9..0000000 --- a/lua/t0xa/core/keybindings.lua +++ /dev/null @@ -1,13 +0,0 @@ --- Obsidian-related keybinds -vim.keymap.set("n", "oit", "ObsidianTemplate", { silent = true, noremap = true, desc="Obsidian: insert template" }) -vim.keymap.set("n", "oo", "ObsidianQuickSwitch", { silent = true, noremap = true, desc="Obsidian: open file" }) -vim.keymap.set("n", "opi", "ObsidianPasteImg", { silent = true, noremap = true, desc="Obsidian: paste image" }) -vim.keymap.set("n", "or", "ObsidianRename", { silent = true, noremap = true, desc="Obsidian: rename file" }) -vim.keymap.set("n", "ol", "ObsidianToggleCheckbox", { silent = true, noremap = true, desc="Obsidian: toggle checkbox" }) -vim.keymap.set("n", "on", "ObsidianNew", { silent = true, noremap = true, desc="Obsidian: new file" }) -vim.keymap.set("n", "otoc", "ObsidianTOC", { silent = true, noremap = true, desc="Obsidian: open TOC" }) -vim.keymap.set("n", "ofl", "ObsidianFollowLink", { silent = true, noremap = true, desc="Obsidian: follow link" }) --- Oil keybinds -vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory" }) - -- Easy escape from terminal -vim.keymap.set("t", "", "") diff --git a/lua/t0xa/core/options.lua b/lua/t0xa/core/options.lua deleted file mode 100644 index 2511376..0000000 --- a/lua/t0xa/core/options.lua +++ /dev/null @@ -1,51 +0,0 @@ -local opt = vim.opt -- Shorcut to scip writing vim.opt.* in settings beneath - --- enable line number and relative line number -opt.number = true -- This will show the line number cursor is currently standing -opt.relativenumber = true -- This will enable relative numbers on the left side - --- tabs & indentation -opt.shiftwidth = 2 -- Set spaces for tabs == 2 -opt.tabstop = 2 -- Set spaces for indent with == 2 -opt.expandtab = true -- use number of spaces to insert a -opt.softtabstop = 2 - --- search settings -opt.ignorecase = true -- ignore case when searching -opt.smartcase = true -- If mixing cases while searching = you want case-sensitive search - --- Cursor line setting -opt.cursorline = true - --- Turn on termguicolors for colorschemes --- (Have to use true color terminal to see theese setting work) -opt.termguicolors = true -opt.background = "dark" -- colorschemes that can be light or dark will be made dark -opt.signcolumn = "yes" -- show sigh columns so that text doesn't shift - --- backspace setting -opt.backspace = "indent,eol,start" -- allow backspace on indent, end of line or insert mode start position - --- clipboard -opt.clipboard:append("unnamedplus") -- config to set up clipboard as default register - --- split windows settings -opt.splitright = true -- split vertical window to the right -opt.splitbelow = true -- split horizontal window to the bottom - --- disable swap files creation -opt.swapfile = false - --- Add line at 88 symbols -opt.colorcolumn = "120" - --- Obsidian setting fot concealing charachters -opt.conceallevel = 0 - --- Enbale folding column -opt.foldmethod = "indent" -opt.foldcolumn = "1" -opt.foldlevelstart = 10 - --- Live buffer editing -opt.inccommand = "split" diff --git a/lua/t0xa/lazy.lua b/lua/t0xa/lazy.lua deleted file mode 100644 index 46b5139..0000000 --- a/lua/t0xa/lazy.lua +++ /dev/null @@ -1,22 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - --- Initializing `lazy` lib and -require("lazy").setup({ - { - import = "t0xa.plugins", - }, - { - import = "t0xa.plugins.lsp", - }, -}) diff --git a/lua/t0xa/plugins/autopairs.lua b/lua/t0xa/plugins/autopairs.lua deleted file mode 100644 index e22b7db..0000000 --- a/lua/t0xa/plugins/autopairs.lua +++ /dev/null @@ -1,31 +0,0 @@ -return { - "windwp/nvim-autopairs", - event = { "InsertEnter" }, - dependencies = { - "hrsh7th/nvim-cmp", - }, - config = function() - -- import nvim-autopairs - local autopairs = require("nvim-autopairs") - - -- configure autopairs - autopairs.setup({ - check_ts = true, -- enable treesitter - ts_config = { - lua = { "string" }, -- don't add pairs in lua string treesitter nodes - javascript = { "template_string" }, -- don't add pairs in javscript template_string treesitter nodes - java = false, -- don't check treesitter on java - }, - }) - - -- import nvim-autopairs completion functionality - local cmp_autopairs = require("nvim-autopairs.completion.cmp") - - -- import nvim-cmp plugin (completions plugin) - local cmp = require("cmp") - - -- make autopairs and completion work together - cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) - end, -} - diff --git a/lua/t0xa/plugins/blame.lua b/lua/t0xa/plugins/blame.lua deleted file mode 100644 index b198696..0000000 --- a/lua/t0xa/plugins/blame.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - "FabijanZulj/blame.nvim", - config = function() - require("blame").setup() - end -} diff --git a/lua/t0xa/plugins/colorscheme.lua b/lua/t0xa/plugins/colorscheme.lua deleted file mode 100644 index d1ebd9c..0000000 --- a/lua/t0xa/plugins/colorscheme.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - "folke/tokyonight.nvim", - dependencies = { - "ellisonleao/gruvbox.nvim", - -- "morphez/gruvbox.nvim", - "sainnhe/everforest", - "sainnhe/gruvbox-material", - "rebelot/kanagawa.nvim", - "catppuccin/nvim", - "folke/tokyonight.nvim", - "luisiacc/gruvbox-baby", - }, - lazy = false, - priority = 1000, - config = function() - -- vim.cmd.colorscheme("tokyonight-night") - -- vim.cmd.colorscheme("gruvbox") - -- vim.cmd.colorscheme("gruvbox-baby") - vim.g.gruvbox_material_background = 'hard' - vim.g.gruvbox_material_enable_italic = true - vim.cmd.colorscheme("gruvbox-material") - -- vim.cmd.colorscheme("catppuccin-mocha") - end, -} diff --git a/lua/t0xa/plugins/comment.lua b/lua/t0xa/plugins/comment.lua deleted file mode 100644 index ecc93c4..0000000 --- a/lua/t0xa/plugins/comment.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - "numToStr/Comment.nvim", - event = { "BufReadPre", "BufNewFile" }, - dependencies = { - "JoosepAlviste/nvim-ts-context-commentstring", - }, - config = function() - -- import comment plugin safely - local comment = require("Comment") - - local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim") - - -- enable comment - comment.setup({ - -- for commenting tsx, jsx, svelte, html files - pre_hook = ts_context_commentstring.create_pre_hook(), - }) - end, -} diff --git a/lua/t0xa/plugins/dadbod.lua b/lua/t0xa/plugins/dadbod.lua deleted file mode 100644 index dc5d76b..0000000 --- a/lua/t0xa/plugins/dadbod.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - "tpope/vim-dadbod", - "kristijanhusak/vim-dadbod-completion", - "kristijanhusak/vim-dadbod-ui", -} diff --git a/lua/t0xa/plugins/dressing.lua b/lua/t0xa/plugins/dressing.lua deleted file mode 100644 index feadb27..0000000 --- a/lua/t0xa/plugins/dressing.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - "stevearc/dressing.nvim", - event = "VeryLazy" -} diff --git a/lua/t0xa/plugins/lsp/lspconfig.lua b/lua/t0xa/plugins/lsp/lspconfig.lua deleted file mode 100644 index 13e1ccd..0000000 --- a/lua/t0xa/plugins/lsp/lspconfig.lua +++ /dev/null @@ -1,147 +0,0 @@ -return { - "neovim/nvim-lspconfig", - event = { "BufReadPre", "BufNewFile" }, - dependencies = { - "hrsh7th/cmp-nvim-lsp", - -- Some additional QOL impovements like rename imports when file is renamed - { "antosha417/nvim-lsp-file-operations", config = true }, - -- Improved functionality when working with neovim config - { "folke/neodev.nvim", opts = {} }, - }, - config = function() - -- import lspconfig plugin - local lspconfig = require("lspconfig") - - -- import mason_lspconfig plugin - local mason_lspconfig = require("mason-lspconfig") - - -- import cmp-nvim-lsp plugin - local cmp_nvim_lsp = require("cmp_nvim_lsp") - - local keymap = vim.keymap -- for conciseness - - -- nvim_create_autocmd - used to execute some logic automaticaly on a specific event - -- Here it is used the LSP server attaches to file - vim.api.nvim_create_autocmd("LspAttach", { - -- Grouping together autocommands. Here we creating new group and calling it "UserLspConfig" - group = vim.api.nvim_create_augroup("UserLspConfig", {}), - -- callback defining logic to execute on the event - callback = function(ev) - -- Buffer local mappings. - -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = { buffer = ev.buf, silent = true } - - -- set keybinds - opts.desc = "Show LSP references" - keymap.set("n", "gR", "Telescope lsp_references", opts) -- show definition, references - - opts.desc = "Go to declaration" - keymap.set("n", "gD", vim.lsp.buf.declaration, opts) -- go to declaration - - opts.desc = "Show LSP definitions" - keymap.set("n", "gd", "Telescope lsp_definitions", opts) -- show lsp definitions - - opts.desc = "Show LSP implementations" - keymap.set("n", "gi", "Telescope lsp_implementations", opts) -- show lsp implementations - - opts.desc = "Show LSP type definitions" - keymap.set("n", "gt", "Telescope lsp_type_definitions", opts) -- show lsp type definitions - - opts.desc = "See available code actions" - keymap.set({ "n", "v" }, "ca", vim.lsp.buf.code_action, opts) -- see available code actions, in visual mode will apply to selection - - opts.desc = "Smart rename" - keymap.set("n", "rn", vim.lsp.buf.rename, opts) -- smart rename - - opts.desc = "Show buffer diagnostics" - keymap.set("n", "D", "Telescope diagnostics bufnr=0", opts) -- show diagnostics for file - - opts.desc = "Show line diagnostics" - keymap.set("n", "d", vim.diagnostic.open_float, opts) -- show diagnostics for line - - opts.desc = "Go to previous diagnostic" - keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) -- jump to previous diagnostic in buffer - - opts.desc = "Go to next diagnostic" - keymap.set("n", "]d", vim.diagnostic.goto_next, opts) -- jump to next diagnostic in buffer - - opts.desc = "Show documentation for what is under cursor" - keymap.set("n", "K", vim.lsp.buf.hover, opts) -- show documentation for what is under cursor - - opts.desc = "Restart LSP" - keymap.set("n", "rs", ":LspRestart", opts) -- mapping to restart lsp if necessary - - opts.desc = "Run formatting on current buffer" - keymap.set("n", "f", function() - vim.lsp.buf.format({ async = true }) - end, opts) - end, - }) - - -- used to enable autocompletion (assign to every lsp server config) - local capabilities = cmp_nvim_lsp.default_capabilities() - - mason_lspconfig.setup_handlers({ - -- default handler for installed servers - function(server_name) - lspconfig[server_name].setup({ - capabilities = capabilities, - }) - end, - ["clangd"] = function() - lspconfig["clangd"].setup({ - filetypes = { "c" }, - cmd = { - "clangd", - "--offset-encoding=utf-16", - }, - }) - end, - ["lua_ls"] = function() - -- configure lua server (with special settings) - lspconfig["lua_ls"].setup({ - capabilities = capabilities, - settings = { - Lua = { - -- make the language server recognize "vim" global - diagnostics = { - globals = { "vim" }, - }, - completion = { - callSnippet = "Replace", - }, - }, - }, - }) - end, - }) - - -- Ruff setup - lspconfig.ruff.setup({ - init_options = { - settings = { - -- Ruff language server settings go here - logLevel = "debug", - }, - }, - }) - - -- Pyright setup - lspconfig.pyright.setup({ - settings = { - pyright = { - -- Using Ruff's import organizer - disableOrganizeImports = true, - }, - python = { - analysis = { - -- Ignore all files for analysis to exclusively use Ruff for linting - ignore = { "*" }, - diagnosticMode = "off", - typeCheckingMode = "off", - }, - }, - }, - }) - end, -} diff --git a/lua/t0xa/plugins/lsp/mason.lua b/lua/t0xa/plugins/lsp/mason.lua deleted file mode 100644 index 2804377..0000000 --- a/lua/t0xa/plugins/lsp/mason.lua +++ /dev/null @@ -1,49 +0,0 @@ -return { - "williamboman/mason.nvim", - dependencies = { - "williamboman/mason-lspconfig.nvim", -- util for better language servers manipulation - "WhoIsSethDaniel/mason-tool-installer.nvim", - }, - config = function() - -- import mason - local mason = require("mason") - - -- import mason-lspconfig - local mason_lspconfig = require("mason-lspconfig") - - local mason_tool_installer = require("mason-tool-installer") - - -- enable mason and configure icons - mason.setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗", - }, - }, - }) - - mason_lspconfig.setup({ - -- list of servers for mason to install - ensure_installed = { - "lua_ls", - "pyright", - "gopls", - }, - }) - - mason_tool_installer.setup({ - ensure_installed = { - "golines", - "goimports-reviser", - "prettier", -- prettier formatter - "stylua", -- lua formatter - "ruff", -- Python formatter and linter - "gofumpt", - -- Astra settings for 3.7 Python - -- NOTE: On Astra you need to install Ruff as standalone package - }, - }) - end, -} diff --git a/lua/t0xa/plugins/lualine.lua b/lua/t0xa/plugins/lualine.lua deleted file mode 100644 index 502d8d4..0000000 --- a/lua/t0xa/plugins/lualine.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - "nvim-lualine/lualine.nvim", - dependencies = { "nvim-tree/nvim-web-devicons" }, - config = function() - local lualine = require("lualine") - -- configure lualine with modified theme - lualine.setup({ - options = { - -- theme = "tokyonight", - -- theme = "catppuccin-mocha", - theme = "gruvbox-material", - }, - sections = { - lualine_c = { - { - "filename", - file_status = true, - path = 2, - }, - }, - }, - }) - end, -} diff --git a/lua/t0xa/plugins/neogen.lua b/lua/t0xa/plugins/neogen.lua deleted file mode 100644 index e838b1e..0000000 --- a/lua/t0xa/plugins/neogen.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - "danymat/neogen", - version = "*", -- Follow only stable versions - enabled = true, - config = function() - local neogen = require("neogen") - neogen.setup({ - enabled = true - }) - local keymap = vim.keymap - local opts = { noremap = true, silent = true } - keymap.set("n", "ids", ":lua require('neogen').generate()", opts) - end, - -- config = true, -} diff --git a/lua/t0xa/plugins/none-ls.lua b/lua/t0xa/plugins/none-ls.lua deleted file mode 100644 index 0b57679..0000000 --- a/lua/t0xa/plugins/none-ls.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - "nvimtools/none-ls.nvim", - dependencies = { - "nvimtools/none-ls-extras.nvim", - }, - config = function() - local null_ls = require("null-ls") - - null_ls.setup({ - sources = { - null_ls.builtins.formatting.gofumpt, - null_ls.builtins.formatting.goimports_reviser, - null_ls.builtins.formatting.stylua, - null_ls.builtins.formatting.golines, - }, - }) - end, -} diff --git a/lua/t0xa/plugins/nvim-cmp.lua b/lua/t0xa/plugins/nvim-cmp.lua deleted file mode 100644 index 557a061..0000000 --- a/lua/t0xa/plugins/nvim-cmp.lua +++ /dev/null @@ -1,90 +0,0 @@ -return { - "hrsh7th/nvim-cmp", - event = "InsertEnter", -- Only load plugin when in INSERT mode - dependencies = { - "hrsh7th/cmp-buffer", -- source for text in buffer - "hrsh7th/cmp-path", -- source for file system paths - { - "L3MON4D3/LuaSnip", - -- follow latest release. - version = "v2.*", -- Replace by the latest released major (first number of latest release) - }, - "saadparwaiz1/cmp_luasnip", -- for autocompletion - "rafamadriz/friendly-snippets", -- useful snippets - "onsails/lspkind.nvim", -- vs-code like pictograms - }, - config = function() - -- Load custom snippets from path - require("luasnip.loaders.from_vscode").lazy_load() - require("luasnip.loaders.from_vscode").lazy_load({ paths = vim.fn.stdpath("config") .. "/snippets/" }) - - local cmp = require("cmp") - local luasnip = require("luasnip") - local lspkind = require("lspkind") - - -- loads vscode style snippets from installed plugins (e.g. friendly-snippets) - require("luasnip.loaders.from_vscode").lazy_load() - - cmp.setup({ - completion = { - completeopt = "menu,menuone,preview,noselect", - }, - snippet = { -- configure how nvim-cmp interacts with snippet engine - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.close(), - [""] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.locally_jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, { "i", "s" }), - - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.locally_jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }), - -- sources for autocompletion - -- !! Priority is important - autocompletion will be ordered from top to bottom - sources = cmp.config.sources({ - { name = "nvim_lsp" }, -- nvim LSP servers - { name = "luasnip" }, -- snippets - { name = "buffer" }, -- text within current buffer - { name = "path" }, -- file system paths - }), - - -- configure lspkind for vs-code like pictograms in completion menu - formatting = { - format = lspkind.cmp_format({ - maxwidth = 50, - ellipsis_char = "...", - }), - }, - }) - - cmp.setup.filetype({ "sql" }, { - sources = { - { name = "vim-dadbod-completion" }, - { name = "buffer" } - } - }) - end, -} diff --git a/lua/t0xa/plugins/nvim-tree.lua b/lua/t0xa/plugins/nvim-tree.lua deleted file mode 100644 index 2e4098a..0000000 --- a/lua/t0xa/plugins/nvim-tree.lua +++ /dev/null @@ -1,43 +0,0 @@ -return { - -} --- return { --- "nvim-tree/nvim-tree.lua", --- dependencies = "nvim-tree/nvim-web-devicons", --- config = function() --- local nvimtree = require("nvim-tree") --- -- recommended settings from nvim-tree documentation --- vim.g.loaded_netrw = 1 --- vim.g.loaded_netrwPlugin = 1 --- --- nvimtree.setup({ --- view = { --- -- width = 35, --- adaptive_size = true, --- relativenumber = true, --- }, --- -- disable window_picker for explorer to work well with window splits --- actions = { --- open_file = { --- window_picker = { --- enable = true, --- }, --- }, --- }, --- -- Custom list of vim regex for names that will not be shown --- filters = { --- custom = { ".DS_Store" }, --- }, --- -- Show files ignored by git --- git = { --- ignore = false, --- }, --- }) --- --- -- set nvim-tree keypmaps --- local keymap = vim.keymap --- keymap.set('n', 'nt', ':NvimTreeToggle', {desc = "Toggle file explorer"}) --- keymap.set('n', 'nf', ':NvimTreeFindFileToggle', {desc = "Toggle file explorer on current file"}) --- --- end --- } diff --git a/lua/t0xa/plugins/obsidian.lua b/lua/t0xa/plugins/obsidian.lua deleted file mode 100644 index 06603bf..0000000 --- a/lua/t0xa/plugins/obsidian.lua +++ /dev/null @@ -1,32 +0,0 @@ -return { - "epwalsh/obsidian.nvim", - version = "*", -- recommended, use latest release instead of latest commit - lazy = true, - ft = "markdown", - dependencies = { - -- Required. - "nvim-lua/plenary.nvim", - }, - opts = { - workspaces = { - { - name = "personal", - path = os.getenv("OBSIDIAN_NOTES_PATH"), - }, - }, - templates = { - folder = "Templates", - date_format = "%d.%m.%Y", - time_format = "%H:%M", - }, - -- disable adding properties on top of file on save - disable_frontmatter = true, - ui = { - enable = false - }, - follow_url_func = function(url) - print("Hello from URL") - vim.fn.jobstart({ "xdg-open", url }) - end, - }, -} diff --git a/lua/t0xa/plugins/plenary.lua b/lua/t0xa/plugins/plenary.lua deleted file mode 100644 index 9a1441c..0000000 --- a/lua/t0xa/plugins/plenary.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - "nvim-lua/plenary.nvim" -} diff --git a/lua/t0xa/plugins/rust-tools.lua b/lua/t0xa/plugins/rust-tools.lua deleted file mode 100644 index 2a55153..0000000 --- a/lua/t0xa/plugins/rust-tools.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - "simrat39/rust-tools.nvim", -} diff --git a/lua/t0xa/plugins/telescope.lua b/lua/t0xa/plugins/telescope.lua deleted file mode 100644 index 9949f7d..0000000 --- a/lua/t0xa/plugins/telescope.lua +++ /dev/null @@ -1,41 +0,0 @@ -return { - "nvim-telescope/telescope.nvim", - tag = "0.1.6", - dependencies = { - "nvim-lua/plenary.nvim", - -- Improving performance of finder - { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, - -- Display dev icons - "nvim-tree/nvim-web-devicons", - "folke/todo-comments.nvim", - }, - config = function() - local telescope = require("telescope") - local actions = require("telescope.actions") - - telescope.setup({ - defaults = { - path_display = { "smart" }, - mappings = { - i = { - [""] = actions.move_selection_previous, -- move to prev result - [""] = actions.move_selection_next, -- move to next result - }, - }, - }, - }) - - telescope.load_extension("fzf") -- load FZF extension to improve performance - - local builtin = require("telescope.builtin") - local keymap = vim.keymap - keymap.set("n", "ff", builtin.find_files, { desc = "FZF: find files in cwd" }) - keymap.set("n", "fml", builtin.marks, { desc = "FZF: find marks list" }) - keymap.set("n", "fmp", builtin.man_pages, { desc = "FZF: find available man pages" }) - keymap.set("n", "fg", builtin.live_grep, { desc = "FZF: find string in cwd" }) - keymap.set("n", "fb", builtin.buffers, { desc = "FZF: display opened buffers" }) - keymap.set("n", "fh", builtin.help_tags, { desc = "FZF: display help tags" }) - keymap.set("n", "ft", "TodoTelescope", { desc = "FZF: display TODO comments" }) - keymap.set("n", "fds", builtin.lsp_document_symbols, { desc = "FZF: Document symbols" }) - end, -} diff --git a/lua/t0xa/plugins/todo-comments.lua b/lua/t0xa/plugins/todo-comments.lua deleted file mode 100644 index f74baa9..0000000 --- a/lua/t0xa/plugins/todo-comments.lua +++ /dev/null @@ -1,21 +0,0 @@ -return { - "folke/todo-comments.nvim", - event = { "BufReadPre", "BufNewFile" }, - dependencies = { "nvim-lua/plenary.nvim" }, - config = function() - local todo_comments = require("todo-comments") - - -- set keymaps - local keymap = vim.keymap -- for conciseness - - keymap.set("n", "]t", function() - todo_comments.jump_next() - end, { desc = "Next todo comment" }) - - keymap.set("n", "[t", function() - todo_comments.jump_prev() - end, { desc = "Previous todo comment" }) - - todo_comments.setup() - end, -} diff --git a/lua/t0xa/plugins/treesitter.lua b/lua/t0xa/plugins/treesitter.lua deleted file mode 100644 index a5edee1..0000000 --- a/lua/t0xa/plugins/treesitter.lua +++ /dev/null @@ -1,66 +0,0 @@ -return { - "nvim-treesitter/nvim-treesitter", - -- open this plugin on two events: - -- BufReadPre - open existing file - -- BufNewFile - open new file - event = { "BufReadPre", "BufNewFile" }, - build = ":TSUpdate", -- Run whenever this plugin is installed or updated - dependencies = { - "windwp/nvim-ts-autotag", -- Auto-closing functionality within treesitter - }, - config = function() - -- import nvim-treesitter plugin - local treesitter = require("nvim-treesitter.configs") - - -- Configure treesitter - -- treesitter.setup({ - -- -- enable syntax highlighting - -- highligh = { - -- enable = true, - -- }, - -- - -- -- enable better indentation - -- indent = { - -- enable = true, - -- }, - -- - -- -- enable auto-tagging - -- autotag = { - -- enable = true, - -- }, - -- - -- -- ensure these languages parsers are installed - -- ensure_installed = { - -- "python", - -- "go", - -- "lua", - -- "bash", - -- "json", - -- "javascript", - -- "jq", - -- "markdown", - -- "markdown_inline", - -- "regex", - -- "vim", - -- "dockerfile", - -- }, - -- }) - -- end, - treesitter.setup({ - ensure_installed = { - "python", - "lua", - "vim", - "vimdoc", - "query", - "elixir", - "heex", - "javascript", - "html", - }, - sync_install = false, - highlight = { enable = true }, - indent = { enable = true }, - }) - end, -} diff --git a/lua/t0xa/plugins/trouble.lua b/lua/t0xa/plugins/trouble.lua deleted file mode 100644 index 3741f30..0000000 --- a/lua/t0xa/plugins/trouble.lua +++ /dev/null @@ -1,37 +0,0 @@ -return { - "folke/trouble.nvim", - opts = {}, -- for default options, refer to the configuration section for custom setup. - cmd = "Trouble", - keys = { - { - "xx", - "Trouble diagnostics toggle", - desc = "Diagnostics (Trouble)", - }, - { - "xX", - "Trouble diagnostics toggle filter.buf=0", - desc = "Buffer Diagnostics (Trouble)", - }, - { - "cs", - "Trouble symbols toggle focus=false", - desc = "Symbols (Trouble)", - }, - { - "cl", - "Trouble lsp toggle focus=false win.position=right", - desc = "LSP Definitions / references / ... (Trouble)", - }, - { - "xL", - "Trouble loclist toggle", - desc = "Location List (Trouble)", - }, - { - "xQ", - "Trouble qflist toggle", - desc = "Quickfix List (Trouble)", - }, - }, -} diff --git a/lua/t0xa/plugins/vim-tmux-navigator.lua b/lua/t0xa/plugins/vim-tmux-navigator.lua deleted file mode 100644 index 4421fed..0000000 --- a/lua/t0xa/plugins/vim-tmux-navigator.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - "christoomey/vim-tmux-navigator", - cmd = { - "TmuxNavigateLeft", - "TmuxNavigateDown", - "TmuxNavigateUp", - "TmuxNavigateRight", - "TmuxNavigatePrevious", - }, - keys = { - { "", "TmuxNavigateLeft" }, - { "", "TmuxNavigateDown" }, - { "", "TmuxNavigateUp" }, - { "", "TmuxNavigateRight" }, - { "", "TmuxNavigatePrevious" }, - }, -} diff --git a/lua/t0xa/plugins/which-key.lua b/lua/t0xa/plugins/which-key.lua deleted file mode 100644 index 078eebc..0000000 --- a/lua/t0xa/plugins/which-key.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - "folke/which-key.nvim", - -- Telling nvim that it can load this plugin later, and that it is not - -- that important for initial UI - event = "VeryLazy", - -- Function that will run while neovim startup instead of when plugin is actualy loads - init = function() - -- How long which-key will wait until activation - vim.o.timeout = true - vim.o.timeoutlen = 500 - end, - -- Options that will pass to setup function, but we are leaving it empty to use - -- default configuration - opts = { - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below - } -} diff --git a/snippets/go.json b/snippets/go.json deleted file mode 100644 index 28ce065..0000000 --- a/snippets/go.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "for statement": { - "prefix": "for", - "body": "for ${1:i} := 0; $1 < ${2:count}; $1${3:++} {\n\t$0\n}", - "description": "Snippet for a for loop" - }, - "for range statement": { - "prefix": "forrrrrr", - "body": "for ${1:_, }${2:var} := range ${3:var} {\n\t$0\n}", - "description": "Snippet for a for range loop" - }, - "if err != nil": { - "prefix": "iferr", - "body": "if err != nil {\n\t${1:return ${2:nil, }${3:err}}\n}", - "description": "Snippet for if err != nil" - } -} diff --git a/snippets/package.json b/snippets/package.json deleted file mode 100644 index 2d1f6e9..0000000 --- a/snippets/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "custom-snippets", - "engines": { - "vscode": "^1.11.0" - }, - "contributes": { - "snippets": [ - { - "language": "python", - "path": "./python.json" - }, - { - "language": "go", - "path": "./go.json" - } - - ] - } -} - diff --git a/snippets/python.json b/snippets/python.json deleted file mode 100644 index 34c6da5..0000000 --- a/snippets/python.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "implog": { - "prefix": "implog", - "body": [ - "import logging", - "_log = logging.getLogger(__name__)" - ], - "description": "Snippet for importing logger" - }, - "Log event": { - "prefix": "logevent", - "body": [ - "_log.error('${1:delimiter}' * 60)", - "_log.error(${2})", - "_log.error('${1:delimiter}' * 60)" - ], - "description": "Snippet for inserting error log" - }, - "Log debug": { - "prefix": "logdebug", - "body": [ - "_log.debug(${1:deug_body})" - ], - "description": "Snippet for inserting debug log" - }, - "tryexcept": { - "prefix": "tryexe", - "body": [ - "try:", - " print(x)", - "except ${1:exception}:", - " print('An exception occurred')" - ], - "description": "tryexcept method" - } -}