aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-02-10 11:19:21 +0200
committersrdusr <trevorgray@srdusr.com>2023-02-10 11:19:21 +0200
commitb91ee8da3ef2c1c154833b4b6e99250fe2c280e7 (patch)
tree56bc9d8b84e959105ee6c7e3ac6c9ab97bd71bbe
parentd90ccf4d620eb6da75f1dbf8aa98aa85aa799ffe (diff)
downloaddotfiles-b91ee8da3ef2c1c154833b4b6e99250fe2c280e7.tar.gz
dotfiles-b91ee8da3ef2c1c154833b4b6e99250fe2c280e7.zip
Removed all nvim files
-rw-r--r--.config/nvim/.gitignore2
-rw-r--r--.config/nvim/README.md1
-rw-r--r--.config/nvim/autoload/scripts.vim15
-rw-r--r--.config/nvim/init.lua139
-rw-r--r--.config/nvim/lua/plugins/autopairs.lua43
-rw-r--r--.config/nvim/lua/plugins/cmp-gh-source.lua72
-rw-r--r--.config/nvim/lua/plugins/cmp.lua332
-rw-r--r--.config/nvim/lua/plugins/colorizer.lua6
-rw-r--r--.config/nvim/lua/plugins/colorscheme.lua63
-rw-r--r--.config/nvim/lua/plugins/git.lua11
-rw-r--r--.config/nvim/lua/plugins/gitsigns.lua1
-rw-r--r--.config/nvim/lua/plugins/heirline.lua1211
-rw-r--r--.config/nvim/lua/plugins/lsp.lua308
-rw-r--r--.config/nvim/lua/plugins/lspsaga.lua46
-rw-r--r--.config/nvim/lua/plugins/luasnip.lua69
-rw-r--r--.config/nvim/lua/plugins/mason.lua61
-rw-r--r--.config/nvim/lua/plugins/modify-blend.lua43
-rw-r--r--.config/nvim/lua/plugins/neoscroll.lua21
-rw-r--r--.config/nvim/lua/plugins/null-ls.lua44
-rw-r--r--.config/nvim/lua/plugins/nvim-tree.lua77
-rw-r--r--.config/nvim/lua/plugins/prettier.lua19
-rw-r--r--.config/nvim/lua/plugins/scripts/lsp-ext.lua48
-rw-r--r--.config/nvim/lua/plugins/scripts/setcolors.lua121
-rw-r--r--.config/nvim/lua/plugins/scripts/toggleLsp.lua40
-rw-r--r--.config/nvim/lua/plugins/telescope.lua361
-rw-r--r--.config/nvim/lua/plugins/toggleterm.lua90
-rw-r--r--.config/nvim/lua/plugins/treesitter.lua31
-rw-r--r--.config/nvim/lua/plugins/web-devicons.lua17
-rw-r--r--.config/nvim/lua/plugins/zen-mode.lua7
-rw-r--r--.config/nvim/lua/user/keys.lua380
-rw-r--r--.config/nvim/lua/user/mods.lua138
-rw-r--r--.config/nvim/lua/user/opts.lua250
-rw-r--r--.config/nvim/lua/user/pack.lua421
-rw-r--r--.config/nvim/lua/user/utils.lua85
-rw-r--r--.config/nvim/snippets/boilerplate.lua75
-rw-r--r--.config/nvim/snippets/lua.lua264
-rw-r--r--.config/nvim/snippets/markdown.lua58
37 files changed, 0 insertions, 4970 deletions
diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore
deleted file mode 100644
index 308d183..0000000
--- a/.config/nvim/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-plugin/packer_compiled.lua
-startup.log
diff --git a/.config/nvim/README.md b/.config/nvim/README.md
deleted file mode 100644
index 630b8e5..0000000
--- a/.config/nvim/README.md
+++ /dev/null
@@ -1 +0,0 @@
-## Neovim
diff --git a/.config/nvim/autoload/scripts.vim b/.config/nvim/autoload/scripts.vim
deleted file mode 100644
index 5c695d3..0000000
--- a/.config/nvim/autoload/scripts.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-if !exists('*scripts#save_and_exec')
- function! scripts#save_and_exec() abort
- if &filetype == 'vim'
- :silent! write
- :source %
- elseif &filetype == 'lua'
- :silent! write
- :luafile %
- endif
-
- return
- endfunction
-endif
-
-
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
deleted file mode 100644
index 5c49c80..0000000
--- a/.config/nvim/init.lua
+++ /dev/null
@@ -1,139 +0,0 @@
---[[
- ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
- ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
- ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
- ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
- ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
- ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
- " ------------------------------------------------
- Author: srdusr
- Email: graytrevor98@gmail.com
- Url: https://github.com/srdusr/nvim.git
- ------------------------------------------------ "
---]]
-
---[[init.]]
-
--- ========================================================================== --
--- == DEPENDENCIES == --
--- ========================================================================== --
-
--- ripgrep - https://github.com/BurntSushi/ripgrep
--- fd - https://github.com/sharkdp/fd
--- git - https://git-scm.com/
--- make - https://www.gnu.org/software/make/
--- c compiler - gcc or tcc or zig
-
--- -------------------------------------------------------------------------- --
-
--- Initialize config with this one liner in the terminal
---nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit'
-
--- See startup time
---nvim --startuptime startup.log -c exit && tail -100 startup.log
-
--- Load impatient
-local impatient_ok, impatient = pcall(require, "impatient")
-if impatient_ok then
- impatient.enable_profile()
-end
-
--- Check if we have the latest stable version of nvim
-local utils = require("user.utils")
-local expected_ver = "0.8.0"
-local nvim_ver = utils.get_nvim_version()
-
-if nvim_ver ~= expected_ver then
- local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver)
-vim.api.nvim_err_writeln(msg)
- return
-end
-
--- Schedule reading shadafile to improve the startup time
-vim.opt.shadafile = "NONE"
-vim.schedule(function()
- vim.opt.shadafile = ""
- vim.cmd("silent! rsh")
-end)
-
-
--- Load/reload modules
-local modules = {
- "user.pack", -- Packer plugin manager
- "user.opts", -- Options
- "user.keys", -- Keymaps
- "user.utils", -- Utilities
- --"user.mods", -- Modules/functions
- --"user.deps", -- Plugins
- --"user.scripts",
- "plugins.treesitter",
- "plugins.telescope",
- "plugins.nvim-tree",
- "plugins.cmp",
- "plugins.luasnip",
- "plugins.colorizer",
- "plugins.prettier",
- "plugins.git",
- "plugins.gitsigns",
- "plugins.neoscroll",
- "plugins.lsp",
- "plugins.autopairs",
- "plugins.null-ls",
- "plugins.web-devicons",
- "plugins.zen-mode",
- "plugins.colorscheme",
- "plugins.heirline",
- "plugins.toggleterm",
- "plugins.modify-blend",
- --"plugins.dap",
- --"plugins.floatterm",
-}
-
--- Refresh module cache
-for k, v in pairs(modules) do
- package.loaded[v] = nil
- require(v)
-end
-
--- Snippets
-vim.g.snippets = "luasnip"
-
--- Improve speed by disabling some default plugins/modules
-local builtins = {
- "gzip",
- "zip",
- "zipPlugin",
- "tar",
- "tarPlugin",
- "getscript",
- "getscriptPlugin",
- "vimball",
- "vimballPlugin",
- "2html_plugin",
- --"matchit",
- --"matchparen",
- "logiPat",
- "rrhelper",
- "netrw",
- "netrwPlugin",
- "netrwSettings",
- "netrwFileHandlers",
- "tutor_mode_plugin",
- "fzf",
- "spellfile_plugin",
- "sleuth",
-}
-
-for _, plugin in ipairs(builtins) do
- vim.g["loaded_" .. plugin] = 1
-end
-vim.g.do_filetype_nvim = 1
-vim.g.did_load_filetypes = 0
-
---vim.cmd[[
---if maparg('<C-L>', 'n') ==# ''
--- nnoremap <silent> <C-L> :set lz!<CR>:nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L>:set lz!<CR>
---endif]]
---vim.cmd[[autocmd VimEnter * set nolazyredraw lazyredraw]]
---vim.cmd[[autocmd VimEnter * redraw!]]
-
diff --git a/.config/nvim/lua/plugins/autopairs.lua b/.config/nvim/lua/plugins/autopairs.lua
deleted file mode 100644
index fc39d2e..0000000
--- a/.config/nvim/lua/plugins/autopairs.lua
+++ /dev/null
@@ -1,43 +0,0 @@
--- Setup nvim-cmp.
-local status_ok, npairs = pcall(require, "nvim-autopairs")
-if not status_ok then
- return
-end
-
-npairs.setup {
- check_ts = true,
- ts_config = {
- lua = { "string", "source" },
- javascript = { "string", "template_string" },
- java = false,
- },
- map = "<M-e>",
- pairs_map = {
-['<'] = '>',
-},
- disable_filetype = { "TelescopePrompt", "spectre_panel" },
- disable_in_macro = true,
- disable_in_visualblock = true,
- enalbe_moveright = true,
- enable_afterquote = true, -- add bracket pairs after quote
- enable_check_bracket_line = true, --- check bracket in same line
- enable_bracket_in_quote = true, --
- break_undo = true, -- switch for basic rule break undo sequence
- fast_wrap = {
- chars = { "{", "[", "(", '"', "'" },
- pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
- offset = 0, -- Offset from pattern match
- end_key = "$",
- keys = "qwertyuiopzxcvbnmasdfghjkl",
- check_comma = true,
- highlight = "PmenuSel",
- highlight_grey = "LineNr",
- },
-}
-
-local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-local cmp_status_ok, cmp = pcall(require, "cmp")
-if not cmp_status_ok then
- return
-end
-cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
diff --git a/.config/nvim/lua/plugins/cmp-gh-source.lua b/.config/nvim/lua/plugins/cmp-gh-source.lua
deleted file mode 100644
index 05bba55..0000000
--- a/.config/nvim/lua/plugins/cmp-gh-source.lua
+++ /dev/null
@@ -1,72 +0,0 @@
-local ok, Job = pcall(require, "plenary.job")
-if not ok then
- return
-end
-
-local source = {}
-
-source.new = function()
- local self = setmetatable({ cache = {} }, { __index = source })
-
- return self
-end
-
-source.complete = function(self, _, callback)
- local bufnr = vim.api.nvim_get_current_buf()
-
- -- This just makes sure that we only hit the GH API once per session.
- --
- -- You could remove this if you wanted, but this just makes it so we're
- -- good programming citizens.
- if not self.cache[bufnr] then
- Job
- :new({
- -- Uses `gh` executable to request the issues from the remote repository.
- "gh",
- "issue",
- "list",
- "--limit",
- "1000",
- "--json",
- "title,number,body",
-
- on_exit = function(job)
- local result = job:result()
- local ok, parsed = pcall(vim.json.decode, table.concat(result, ""))
- if not ok then
- vim.notify "Failed to parse gh result"
- return
- end
-
- local items = {}
- for _, gh_item in ipairs(parsed) do
- gh_item.body = string.gsub(gh_item.body or "", "\r", "")
-
- table.insert(items, {
- label = string.format("#%s", gh_item.number),
- documentation = {
- kind = "markdown",
- value = string.format("# %s\n\n%s", gh_item.title, gh_item.body),
- },
- })
- end
-
- callback { items = items, isIncomplete = false }
- self.cache[bufnr] = items
- end,
- })
- :start()
- else
- callback { items = self.cache[bufnr], isIncomplete = false }
- end
-end
-
-source.get_trigger_characters = function()
- return { "#" }
-end
-
-source.is_available = function()
- return vim.bo.filetype == "gitcommit"
-end
-
-require("cmp").register_source("gh_issues", source.new())
diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua
deleted file mode 100644
index 829a448..0000000
--- a/.config/nvim/lua/plugins/cmp.lua
+++ /dev/null
@@ -1,332 +0,0 @@
-
--- Setup nvim-cmp.
-vim.opt.completeopt = "menu,menuone,noselect"
---vim.g.completeopt = "menu,menuone,noselect,noinsert"
-local cmp_status_ok, cmp = pcall(require, "cmp")
-if not cmp_status_ok then
- return
-end
---local WIDE_HEIGHT = 40
-
-local opts = {
- -- whether to highlight the currently hovered symbol
- -- disable if your cpu usage is higher than you want it
- -- or you just hate the highlight
- -- default: true
- highlight_hovered_item = true,
- show_guides = true,
-}
-require("symbols-outline").setup(opts)
-
-
---local snippets_paths = function()
--- local plugins = { "friendly-snippets" }
--- local paths = {}
--- local path
--- local root_path = vim.env.HOME .. "/.vim/plugged/"
--- for _, plug in ipairs(plugins) do
--- path = root_path .. plug
--- if vim.fn.isdirectory(path) ~= 0 then
--- table.insert(paths, path)
--- end
--- end
--- return paths
---end
---
---require("luasnip.loaders.from_vscode").lazy_load({
--- paths = snippets_paths(),
--- include = nil, -- Load all languages
--- exclude = {},
---})
-
---require("luasnip.loaders.from_vscode").lazy_load()
-local lspkind = require("lspkind")
-local kind_icons = {
- Text = "",
- Method = "m", --"",
- Function = "",
- Constructor = "", --"⚙️",
- Field = "",
- Variable = "",
- Class = "ﴯ",
- Interface = "",
- Module = "",
- Property = "",
- Unit = "",
- Value = "",
- Enum = "",
- Keyword = "",
- Snippet = "",
- Color = "",
- File = "",
- Reference = "",
- Folder = "",
- EnumMember = "",
- Constant = "",
- Struct = "",
- Event = "",
- Operator = "",
- TypeParameter = "",
-}
-cmp.setup({
- snippet = {
- --expand = function(args)
- -- require("luasnip").lsp_expand(args.body)
- --end,
- expand = function(args)
- local luasnip = require("luasnip")
- if not luasnip then
- return
- end
- luasnip.lsp_expand(args.body)
- end,
- },
- mapping = cmp.mapping.preset.insert({
--- ["<CR>"] = cmp.mapping.confirm({
--- behavior = cmp.ConfirmBehavior.Replace,
--- select = true,
--- }),
- --["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
- --["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
- ['<C-y>'] = cmp.mapping.confirm({ select = true }),
- --["<C-e>"] = cmp.mapping.close(),
- --['<C-e>'] = cmp.mapping({
- -- i = cmp.mapping.abort(),
- -- c = cmp.mapping.close(),
- --}),
- ["<C-e>"] = cmp.mapping({
- i = function()
- if cmp.visible() then
- cmp.abort()
- require("user.utils").toggle_completion()
- require("notify")("completion off")
- else
- cmp.complete()
- require("user.utils").toggle_completion()
- require("notify")("completion on")
- end
- end,
- }),
- --["<CR>"] = cmp.mapping({
- -- i = function(fallback)
- -- if cmp.visible() then
- -- cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false })
- -- require("user.utils").toggle_completion()
- -- else
- -- fallback()
- -- end
- -- end,
- --}),
-
--- ["<C-e>"] = cmp.mapping({
--- i = function()
--- if cmp.visible() then
--- require("notify")("visible")
--- cmp.abort()
--- else
--- require("notify")("not visible")
--- cmp.complete()
--- end
--- end,
--- c = function()
--- if cmp.visible() then
--- require("notify")("visible")
--- cmp.close()
--- else
--- require("notify")("not visible")
--- cmp.complete()
--- end
--- end,
--- }),
- --['<CR>'] = cmp.config.disable,
- ["<C-u>"] = cmp.mapping.scroll_docs(-4),
- ["<C-d>"] = cmp.mapping.scroll_docs(4),
- ["<C-Space>"] = cmp.mapping.complete(),
- --['<C-o>'] = function(fallback)
- -- if cmp.visible() then
- -- cmp.mapping.confirm({ select = true })(fallback)
- -- else
- -- cmp.mapping.complete()(fallback)
- -- end
- --end
- }),
-
- sources = cmp.config.sources({
- --{ name = "nvim_lua" },
- { name = "luasnip" },
- --{ name = 'luasnip', option = { use_show_condition = false } },
- { name = "gh_issues" },
- { name = "nvim_lsp", max_item_count = 6 },
- { name = "nvim_lua" },
- --{ name = "luasnip" },
- --{ name = "luasnip", keyword_length = 4 },
- --{ name = "buffer", keyword_length = 3 },
- { name = "path" },
- { name = "buffer", max_item_count = 6 },
- --{ name = "buffer", option = { get_bufnrs = function()
- -- return vim.api.nvim_list_bufs()
- --end
- --}},
- { name = "cmp_git"},
- { name = "spell"},
- { name = "zsh" },
- { name = "treesitter" },
- { name = "calc" },
- { name = "nvim_lsp_signature_help" },
- --{ name = "cmdline" },
- --{ name = 'treesitter' },
- --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this
- --{name = 'luasnip', keyword_length = 2},
- }),
- formatting = {
- --formatting = {
- --local icons = kind_icons
- --format = function(entry, vim_item)
- ----vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
- ----vim_item.kind = lspkind.presets.default[vim_item.kind]
- --vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
- ----vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind)
- --vim_item.menu = ({
- ----nvim_lsp = "LSP",
- ----luasnip = "snip",
- ----buffer = "buf",
- ----path = "path",
- ----cmdline = "cmd",
- --buffer = "[buf]",
- --nvim_lsp = "[LSP]",
- --nvim_lua = "[api]",
- --path = "[path]",
- --luasnip = "[snip]",
- --cmdline = "[cmd]",
- --gh_issues = "[issues]",
- --})[entry.source.name]
- --return vim_item
- --end,
- format = lspkind.cmp_format {
- with_text = true,
- menu = {
- nvim_lsp = "[LSP]",
- luasnip = "[snip]",
- buffer = "[buf]",
- nvim_lua = "[api]",
- path = "[path]",
- gh_issues = "[issues]",
- spell = "[spell]",
- zsh = "[zsh]",
- treesitter = "[treesitter]",
- calc = "[calc]",
- nvim_lsp_signature_help = "[signature]",
- cmdline = "[cmd]"
-
- },
- },
- --},
-
- --
- --
- --fields = { "abbr", "kind", "menu" },
- -- format = lspkind.cmp_format({
- -- mode = 'symbol_text', -- show only symbol annotations
- -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
- -- })
- --format = require('lspkind').cmp_format {
- -- with_text = true,
- -- menu = {
- -- luasnip = "Snip",
- -- buffer = "Buf",
- -- nvim_lsp = "LSP",
- -- path = "Path",
- -- cmdline = "Cmd",
- -- cmp_git = "Git",
- -- },
- --},
- },
- --format = function(entry, vim_item)
- -- -- Kind icons
- -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
- -- vim_item.kind = lspkind.presets.default[vim_item.kind]
- -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
- -- vim_item.menu = ({
- -- nvim_lsp = "LSP",
- -- luasnip = "Snip",
- -- buffer = "Buf",
- -- path = "Path",
- -- cmdline = "Cmd",
- -- })[entry.source.name]
- -- return vim_item
- --end,
- confirm_opts = {
- behavior = cmp.ConfirmBehavior.Replace,
- select = false,
- },
-
-
- event = {},
-
- experimental = {
- ghost_text = true, -- this feature conflicts with copilot.vim's preview.
- hl_group = 'Nontext',
- --native_menu = false,
- },
-
- view = {
- entries = { name = 'custom', selection_order = 'top_down' },
- },
-
- window = {
- --completion = cmp.config.window.bordered(),
- completion = {
- border = { '', '', '', ' ', '', '', '', ' ' },
- --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
- --border = { '', '', '', '', '', '', '', '' },
- --border = "CmpBorder",
- winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None',
- --winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None",
- },
- --documentation = cmp.config.window.bordered(),
- documentation = {
- --max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)),
- --max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))),
- border = { '', '', '', ' ', '', '', '', ' ' },
- --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
- winhighlight = 'FloatBorder:NormalFloat',
- },
- },
-})
-
-
-cmp.setup.cmdline({ '/', '?' }, {
- mapping = cmp.mapping.preset.cmdline(),
- sources = {
- { name = "buffer" },
- },
-})
-
-cmp.setup.cmdline(":", {
- mapping = {
- ["<C-p>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
- ["<C-n>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
- ["<C-y>"] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }),
- ["<C-e>"] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }),
- ["<C-u>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
- ["<C-d>"] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
- ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
- --["<C-k>"] = cmp.mapping.select_prev_item(),
- --["<C-j>"] = cmp.mapping.select_next_item(),
- --['<C-y>'] = cmp.mapping.confirm({ select = true }),
- --["<C-e>"] = cmp.mapping.close(),
- ----['<CR>'] = cmp.config.disable,
- --["<C-u>"] = cmp.mapping.scroll_docs(-4),
- --["<C-d>"] = cmp.mapping.scroll_docs(4),
- --["<C-Space>"] = cmp.mapping.complete(),
- },
-
- sources = cmp.config.sources({
- { name = "path" },
- }, {
- --{ name = "cmdline" },
- { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 },
- })
-})
-
-
diff --git a/.config/nvim/lua/plugins/colorizer.lua b/.config/nvim/lua/plugins/colorizer.lua
deleted file mode 100644
index 14d25e2..0000000
--- a/.config/nvim/lua/plugins/colorizer.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-local status, colorizer = pcall(require, "colorizer")
-if (not status) then return end
-
-colorizer.setup({
- '*';
-})
diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua
deleted file mode 100644
index 0ee4364..0000000
--- a/.config/nvim/lua/plugins/colorscheme.lua
+++ /dev/null
@@ -1,63 +0,0 @@
--- Colorscheme
--- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one
-local colorscheme = "nightfly"
-local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
-if not status_ok then
- vim.notify("colorscheme " .. colorscheme .. " not found!")
- return
-end
-
-vim.api.nvim_command("syntax on")
-vim.api.nvim_command("highlight Normal guibg=none")
-vim.api.nvim_command("highlight SignColumn guibg=none")
-vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold")
---vim.api.nvim_command("highlight TabLine guibg=none gui=bold")
---vim.api.nvim_command("highlight TabLineSel guibg=none guifg=none gui=bold")
---vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold")
---vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold")
---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold")
---vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold")
---vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold")
-vim.api.nvim_command("highlight Title guibg=none gui=bold")
---vim.api.nvim_command("highlight WinSeparator guibg=none gui=bold")
-vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold")
-vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold")
-vim.api.nvim_command("highlight WinBar guibg=none gui=bold")
-vim.api.nvim_command("highlight NormalFloat guibg=none")
---vim.api.nvim_command("highlight MsgSeparator guibg=none")
---vim.api.nvim_command("highlight PmenuSel guibg=none")
---vim.api.nvim_command("highlight winblend guibg=none")
---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold")
---vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold")
---vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold")
-vim.cmd[[
-au WinEnter * setl winhl=WinSeparator:WinSeparatorA
-au WinLeave * setl winhl=WinSeparator:WinSeparator
-]]
-require("notify").setup({
- background_colour = "#000000",
-})
--- let g:terminal_color_0 = '#2e3436'
--- let g:terminal_color_1 = '#cc0000'
--- let g:terminal_color_2 = '#4e9a06'
--- let g:terminal_color_3 = '#c4a000'
--- let g:terminal_color_4 = '#3465a4'
--- let g:terminal_color_5 = '#75507b'
--- let g:terminal_color_6 = '#0b939b'
--- let g:terminal_color_7 = '#d3d7cf'
--- let g:terminal_color_8 = '#555753'
--- let g:terminal_color_9 = '#ef2929'
--- let g:terminal_color_10 = '#8ae234'
--- let g:terminal_color_11 = '#fce94f'
--- let g:terminal_color_12 = '#729fcf'
--- let g:terminal_color_13 = '#ad7fa8'
--- let g:terminal_color_14 = '#00f5e9'
--- let g:terminal_color_15 = '#eeeeec'
---
--- set background=dark
--- execute "silent! colorscheme base16-eighties"
--- highlight Comment guifg=#585858
--- highlight Normal guifg=#999999
--- "highlight TabLine guifg=#333333 guibg=#777777
--- "highlight TabLineSel guifg=#FA7F7F
--- highlight MatchParen gui=bold guibg=black guifg=limegreen
diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua
deleted file mode 100644
index 963f7f9..0000000
--- a/.config/nvim/lua/plugins/git.lua
+++ /dev/null
@@ -1,11 +0,0 @@
-local status, git = pcall(require, "git")
-if (not status) then return end
-
-git.setup({
- keymaps = {
- -- Open blame window
- blame = "<Leader>gb",
- -- Open file/folder in git repository
- browse = "<Leader>go",
- }
-})
diff --git a/.config/nvim/lua/plugins/gitsigns.lua b/.config/nvim/lua/plugins/gitsigns.lua
deleted file mode 100644
index 53d1a1e..0000000
--- a/.config/nvim/lua/plugins/gitsigns.lua
+++ /dev/null
@@ -1 +0,0 @@
-require('gitsigns').setup {}
diff --git a/.config/nvim/lua/plugins/heirline.lua b/.config/nvim/lua/plugins/heirline.lua
deleted file mode 100644
index 03b2a47..0000000
--- a/.config/nvim/lua/plugins/heirline.lua
+++ /dev/null
@@ -1,1211 +0,0 @@
-local conditions = require("heirline.conditions")
-local utils = require("heirline.utils")
-
-local colors = {
- --bg = "#23232e",
- bg = nil,
- nobg = nil,
- white = "#f8f8f2",
- black = "#000000",
- darkgray = "#23232e",
- gray = "#2d2b3a",
- lightgray = "#d6d3ea",
- pink = "#f92672",
- green = "#50fa7b",
- blue = "#39BAE6",
- yellow = "#f1fa8c",
- orange = "#ffb86c",
- purple = "#BF40BF",
- violet = "#7F00FF",
- red = "#ff5555",
- cyan = "#66d9eC",
- diag = {
- warn = utils.get_highlight("DiagnosticSignWarn").fg,
- error = utils.get_highlight("DiagnosticSignError").fg,
- hint = utils.get_highlight("DiagnosticSignHint").fg,
- info = utils.get_highlight("DiagnosticSignInfo").fg,
- },
- git = {
- del = "#e95678",
- add = "#a6e22e",
- change = "#ae81ff",
- },
-}
-
-require("heirline").load_colors(colors)
-
-local Align = { provider = "%=", hl = { bg = colors.bg } }
-local Space = { provider = " ", hl = { bg = colors.bg } }
-local Tab = { provider = " " }
-local LeftSpace = { provider = "" }
-local RightSpace = { provider = "" }
-local RightSpace2 = { provider = "" }
-local RightSpace3 = { provider = "" }
-local Fill = { provider = "%=", hl = { bg = colors.nobg } }
-local LeftSep = { provider = "" }
-local RightSep = { provider = "" }
-
-local ViMode = {
- init = function(self)
- self.mode = vim.fn.mode(1)
- if not self.once then
- vim.cmd("au ModeChanged *:*o redrawstatus")
- end
- self.once = true
- end,
- static = {
- mode_names = {
- n = "NORMAL ",
- no = "N·OPERATOR PENDING ",
- nov = "N?",
- noV = "N?",
- ["no\22"] = "N? ",
- niI = "Ni",
- niR = "Nr",
- niV = "Nv",
- nt = "Nt",
- v = "VISUAL ",
- vs = "Vs",
- V = "V·LINE ",
- ["\22"] = "V·BLOCK ",
- ["\22s"] = "V·BLOCK ",
- s = "SELECT ",
- S = "S·LINE ",
- ["\19"] = "S·BLOCK ",
- i = "INSERT ",
- ix = "insert x ",
- ic = "insert c ",
- R = "REPLACE ",
- Rc = "Rc",
- Rx = "Rx",
- Rv = "V·REPLACE ",
- Rvc = "Rv",
- Rvx = "Rv",
- c = "COMMAND ",
- cv = "VIM EX ",
- ce = "EX ",
- r = "PROMPT ",
- rm = "MORE ",
- ["r?"] = "CONFIRM ",
- ["!"] = "SHELL ",
- t = "TERMINAL ",
- },
- },
- provider = function(self)
- return " %2(" .. self.mode_names[self.mode] .. "%) "
- end,
- hl = function(self)
- local color = self:mode_color()
- return { fg = color, bold = true }
- end,
- update = {
- "ModeChanged",
- },
-}
-
--- LSP
-local LSPActive = {
- condition = conditions.lsp_attached,
- update = { "LspAttach", "LspDetach" },
-
- provider = function()
- local buf_clients = vim.lsp.buf_get_clients()
- local buf_client_names = {}
-
- -- add client
- for _, client in pairs(buf_clients) do
- if client.name ~= "null-ls" then
- table.insert(buf_client_names, client.name)
- end
- end
- return "⚙️ " .. table.concat(buf_client_names, "")
- end,
- hl = { fg = colors.lightgray, bold = false },
-}
-
--- Navic
-local Navic = {
- condition = require("nvim-navic").is_available,
- static = {
- -- create a type highlight map
- type_hl = {
- File = "Directory",
- Module = "Include",
- Namespace = "TSNamespace",
- Package = "Include",
- Class = "Struct",
- Method = "Method",
- Property = "TSProperty",
- Field = "TSField",
- Constructor = "TSConstructor ",
- Enum = "TSField",
- Interface = "Type",
- Function = "Function",
- Variable = "TSVariable",
- Constant = "Constant",
- String = "String",
- Number = "Number",
- Boolean = "Boolean",
- Array = "TSField",
- Object = "Type",
- Key = "TSKeyword",
- Null = "Comment",
- EnumMember = "TSField",
- Struct = "Struct",
- Event = "Keyword",
- Operator = "Operator",
- TypeParameter = "Type",
- },
- },
- init = function(self)
- local data = require("nvim-navic").get_data() or {}
- local children = {}
- -- create a child for each level
- for i, d in ipairs(data) do
- local child = {
- {
- provider = d.icon,
- hl = self.type_hl[d.type],
- },
- {
- provider = d.name,
- -- highlight icon only or location name as well
- -- hl = self.type_hl[d.type],
- },
- }
- -- add a separator only if needed
- if #data > 1 and i < #data then
- table.insert(child, {
- provider = " > ",
- hl = { fg = colors.white },
- })
- end
- table.insert(children, child)
- end
- -- instantiate the new child, overwriting the previous one
- self[1] = self:new(children, 1)
- end,
- hl = { fg = colors.white },
-}
-
--- Diagnostics
-local Diagnostics = {
-
- condition = conditions.has_diagnostics,
-
- static = {
- error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text,
- warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text,
- info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text,
- hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text,
- },
-
- init = function(self)
- self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
- self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
- self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
- self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
- end,
-
- update = { "DiagnosticChanged", "BufEnter" },
-
- {
- provider = function(self)
- -- 0 is just another output, we can decide to print it or not!
- return self.errors > 0 and (self.error_icon .. self.errors .. " ")
- end,
- hl = { fg = colors.diag.error, bg = colors.bg },
- },
- {
- provider = function(self)
- return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ")
- end,
- hl = { fg = colors.diag.warn, bg = colors.bg },
- },
- {
- provider = function(self)
- return self.info > 0 and (self.info_icon .. self.info .. " ")
- end,
- hl = { fg = colors.diag.info, bg = colors.bg },
- },
- {
- provider = function(self)
- return self.hints > 0 and (self.hint_icon .. self.hints)
- end,
- hl = { fg = colors.diag.hint, bg = colors.bg },
- },
- on_click = {
- callback = function()
- require("trouble").toggle({ mode = "document_diagnostics" })
- -- or
- -- vim.diagnostic.setqflist()
- end,
- name = "heirline_diagnostics",
- },
-}
-
--- Git
--- For the ones who're not (too) afraid of changes! Uses gitsigns.
-local Git = {
- condition = conditions.is_git_repo,
-
- init = function(self)
- self.status_dict = vim.b.gitsigns_status_dict
- self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0
- end,
- --hl = { fg = "orange" },
- hl = { fg = colors.orange, bg = colors.bg },
- { -- git branch name
- provider = function(self)
- return " " .. self.status_dict.head
- end,
- --hl = { bold = true },
- hl = { bold = true, bg = colors.bg },
- },
- -- You could handle delimiters, icons and counts similar to Diagnostics
- {
- condition = function(self)
- return self.has_changes
- end,
- --provider = "("
- provider = " ",
- },
- {
- provider = function(self)
- local count = self.status_dict.added or 0
- --return count > 0 and ("+" .. count)
- return count > 0 and ("  " .. count)
- end,
- --hl = { fg = "git_add" },
- hl = { fg = colors.git.add, bg = colors.bg },
- },
- {
- provider = function(self)
- local count = self.status_dict.removed or 0
- --return count > 0 and ("-" .. count)
- return count > 0 and ("  " .. count)
- end,
- --hl = { fg = "git_del" },
- hl = { fg = colors.git.del, bg = colors.bg },
- },
- {
- provider = function(self)
- local count = self.status_dict.changed or 0
- --return count > 0 and ("~" .. count)
- return count > 0 and (" 柳" .. count)
- end,
- --hl = { fg = "git_change" },
- hl = { fg = colors.git.change, bg = colors.bg },
- },
- --{
- -- condition = function(self)
- -- return self.has_changes
- -- end,
- -- provider = ")",
- --},
- on_click = {
- callback = function()
- -- If you want to use Fugitive:
- -- vim.cmd("G")
-
- -- If you prefer Lazygit
- -- use vim.defer_fn() if the callback requires
- -- opening of a floating window
- -- (this also applies to telescope)
- vim.defer_fn(function()
- vim.cmd("Lazygit")
- end, 100)
- end,
- name = "heirline_git",
- },
-}
-
--- Debugger
--- Display informations from nvim-dap!
-local DAPMessages = {
- -- display the dap messages only on the debugged file
- condition = function()
- local session = require("dap").session()
- if session then
- local filename = vim.api.nvim_buf_get_name(0)
- if session.config then
- local progname = session.config.program
- return filename == progname
- end
- end
- return false
- end,
- provider = function()
- return " " .. require("dap").status()
- end,
- hl = { fg = utils.get_highlight("Debug").fg },
- -- Debugger on_click: step-over, step-into, next, previous, stop buttons
- -- coming soon!
-}
-
--- Tests
--- This requires the great ultest.
---local UltTest = {
--- condition = function()
--- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0
--- end,
--- static = {
--- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text,
--- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text,
--- passed_hl = { fg = utils.get_highlight("UltestPass").fg },
--- failed_hl = { fg = utils.get_highlight("UltestFail").fg },
--- },
--- init = function(self)
--- self.status = vim.api.nvim_call_function("ultest#status", {})
--- end,
---
--- -- again, if you'd like icons and numbers to be colored differently,
--- -- just split the component in two
--- {
--- provider = function(self)
--- return self.passed_icon .. self.status.passed .. " "
--- end,
--- hl = function(self)
--- return self.passed_hl
--- end,
--- },
--- {
--- provider = function(self)
--- return self.failed_icon .. self.status.failed .. " "
--- end,
--- hl = function(self)
--- return self.failed_hl
--- end,
--- },
--- {
--- provider = function(self)
--- return "of " .. self.status.tests - 1
--- end,
--- },
---}
-
--- FileNameBlock: FileIcon, FileName and friends
-local FileNameBlock = {
- -- let's first set up some attributes needed by this component and it's children
- init = function(self)
- self.filename = vim.api.nvim_buf_get_name(0)
- end,
- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg },
- hl = { bg = colors.bg },
-}
-
--- FileIcon, FileName, FileFlags and FileNameModifier
-local FileIcon = {
- init = function(self)
- local filename = self.filename
- local extension = vim.fn.fnamemodify(filename, ":e")
- self.icon, self.icon_color =
- require("nvim-web-devicons").get_icon_color(filename, extension, { default = true })
- end,
- provider = function(self)
- return self.icon and (self.icon .. " ")
- end,
- hl = function(self)
- return { fg = self.icon_color, bg = colors.bg }
- end,
-}
-
-local FileName = {
- provider = function(self)
- -- first, trim the pattern relative to the current directory. For other
- -- options, see :h filename-modifers
- local filename = vim.fn.fnamemodify(self.filename, ":.")
- if filename == "" then
- return "No Name"
- end
- -- now, if the filename would occupy more than 1/4th of the available
- -- space, we trim the file path to its initials
- -- See Flexible Components section below for dynamic truncation
- if not conditions.width_percent_below(#filename, 0.25) then
- filename = vim.fn.pathshorten(filename)
- end
- return filename
- end,
- --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg },
- hl = { fg = colors.white, bold = false, bg = colors.bg },
-}
-
-local FileFlags = {
- {
- provider = function()
- if vim.bo.modified then
- return " [+]" -- ±[+]
- end
- end,
- hl = { fg = colors.green, bg = colors.bg },
- },
- {
- provider = function()
- if not vim.bo.modifiable or vim.bo.readonly then
- return " "
- end
- end,
- --hl = { fg = colors.orange },
- hl = { fg = colors.orange, bold = true, bg = colors.bg },
- },
-}
-
-local FileNameModifier = {
- hl = function()
- if vim.bo.modified then
- return { fg = colors.green, bold = false, force = true }
- end
- end,
-}
-
--- FileType, FileEncoding and FileFormat
-local FileType = {
- provider = function()
- return vim.bo.filetype
- end,
- hl = { fg = colors.white, bold = false, bg = colors.bg },
-}
-
-local FileEncoding = {
- Space,
- provider = function()
- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc'
- return enc:lower()
- end,
- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg },
- hl = { bg = colors.bg, bold = false },
-}
-
-local FileFormat = {
- provider = function()
- local fmt = vim.bo.fileformat
- --return fmt ~= "unix" and fmt:upper()
- return fmt ~= "unix" and fmt:lower()
- end,
- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg },
-}
-
--- FileSize and FileLastModified
-local FileSize = {
- provider = function()
- -- stackoverflow, compute human readable file size
- local suffix = { "b", "k", "M", "G", "T", "P", "E" }
- local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0))
- fsize = (fsize < 0 and 0) or fsize
- if fsize < 1024 then
- return fsize .. suffix[1]
- end
- local i = math.floor((math.log(fsize) / math.log(1024)))
- return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1])
- end,
- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg },
-}
-
-local FileLastModified = {
- -- did you know? Vim is full of functions!
- provider = function()
- local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0))
- return (ftime > 0) and os.date("%c", ftime)
- end,
- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg },
-}
-
--- Spell
--- Add indicator when spell is set!
-local Spell = {
- condition = function()
- return vim.wo.spell
- end,
- provider = " 暈",
- hl = { bold = true, fg = colors.yellow },
-}
-
-local help_file_name = {
- condition = function()
- return vim.bo.filetype == "help"
- end,
- provider = function()
- local filename = vim.api.nvim_buf_get_name(0)
- return vim.fn.fnamemodify(filename, ":t")
- end,
- hl = { fg = colors.blue },
-}
-
--- Cursor position: Ruler
---local Ruler = {
- -- %l = current line number
- -- %L = number of lines in the buffer
- -- %c = column number
- -- %P = percentage through file of displayed window
- --provider = "%P %(%l/%L%):%c ",
- --provider = "%3(%2l%):%c %P ",
- --provider = "%7(%l/%3L%):%2c%P ",
- --provider = "%3(%P%)",
- --provider = "%7(%l/%3L%):%2c %P",
- --provider = "%7 %p%% Ln %l, Col %c",
- --provider = "%9( %P %2l/%L :%2c %)",
- --provider = "%9(%2l%2( : %c%)/%L %P %)",
- --provider = "%7(%l:%c/%L%) ",
- --provider = "%6(%l:%1.5c/%L%) %P ",
- --provider = "%6(%l:%1.5c/%L%) ",
- --provider = "%3(%l:%1.5c/%L%) ",
- --provider = "%7(%l/%3L%):%2c ",
--- provider = "%7(%l:%c%) ",
- --provider = "%l:%c ",
- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true },
--- hl = { fg = colors.darkgray, bold = true },
---}
-local leftruler = { Space, Align }
-local rightruler = { Align, Space }
-local cursor_location = {
- --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } },
--- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } },
--- { provider = " ", hl = { fg = colors.darkgray, bold = true } },
- --{ provider = "%P %=%<%(%l,%c)" },
- --{ provider = " %w%-8.(%l,%c%)%>" },
- { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } },
-}
-local Ruler = { cursor_location }
-
- --utils.make_flexible_component(
- -- 3,
- -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- -- { provider = "%<" }
- --),
---local cursor_location = {
--- { provider = "%7(%l:%c%) ", hl = { bold = true } },
--- {
--- provider = " ",
--- hl = function(self)
--- local color = self:mode_color()
--- return { fg = color, bold = true }
--- end,
--- },
---}
-
-local WordCount = {
- condition = function()
- return conditions.buffer_matches({
- filetype = {
- "markdown",
- "txt",
- "vimwiki",
- },
- })
- end,
- Space,
- {
- provider = function()
- return "W:" .. vim.fn.wordcount().words
- end,
- },
-}
-
--- Working Directory
-local WorkDir = {
- init = function(self)
- self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " "
- local cwd = vim.fn.getcwd(0)
- self.cwd = vim.fn.fnamemodify(cwd, ":~")
- end,
- hl = { fg = "colors.blue", bold = true },
- flexible = 1,
- {
- -- evaluates to the full-lenth path
- provider = function(self)
- local trail = self.cwd:sub(-1) == "/" and "" or "/"
- return self.icon .. self.cwd .. trail .." "
- end,
- },
- {
- -- evaluates to the shortened path
- provider = function(self)
- local cwd = vim.fn.pathshorten(self.cwd)
- local trail = self.cwd:sub(-1) == "/" and "" or "/"
- return self.icon .. cwd .. trail .. " "
- end,
- },
- {
- -- evaluates to "", hiding the component
- provider = "",
- }
-}
-
--- Snippets Indicator
--- This requires ultisnips
---local Snippets = {
--- -- check that we are in insert or select mode
--- condition = function()
--- return vim.tbl_contains({'s', 'i'}, vim.fn.mode())
--- end,
--- provider = function()
--- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or ""
--- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or ""
--- return backward .. forward
--- end,
--- hl = { fg = "red", bold = true },
---}
-
--- let's add the children to our FileNameBlock component
-FileNameBlock = utils.insert(
- FileNameBlock,
- FileIcon,
- utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier
- unpack(FileFlags), -- A small optimisation, since their parent does nothing
- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space
-)
-
-local FileInfoBlock = {
- -- let's first set up some attributes needed by this component and it's children
- init = function(self)
- self.filename = vim.api.nvim_buf_get_name(0)
- end,
-}
-
-FileInfoBlock = utils.insert(
- FileInfoBlock,
- Space,
- FileIcon,
- FileType,
- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space
-)
-
---ViMode = utils.surround({ "", "" }, function(self)
--- return self:mode_color()
---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } })
---local mysurroundedcomponent = {
---{provider='', hl = {...}},
---{<your component>},
---{provider = '>>>', hl = {...}}
---}
-LeftSpace = utils.surround({ "", " " }, function(self)
- return self:mode_color()
-end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } })
-
-RightSpace = utils.surround(
- { "", "" },
- colors.gray,
- { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }
-)
-
-RightSpace2 = utils.surround(
- { "█", "" },
- colors.darkgray,
- { RightSpace2, hl = { fg = colors.darkgray, force = true } }
-)
-
-RightSpace3 = utils.surround(
- { "█", "" },
- utils.get_highlight("statusline").bg,
- { RightSpace3, hl = { fg = colors.darkgray, force = true } }
-)
-
-LSPActive = utils.surround({ "", "" }, function(self)
- return self:mode_color()
-end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } })
-
-FileInfoBlock = utils.surround({ "", "" }, function(self)
- return self:mode_color()
-end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } })
-
-Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } })
-
-local left = {
- { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- --{ LeftSep, hl = function(self)
- -- return { fg = self.mode_colors[self.mode], bg = utils.get_highlight("statusline").bg, bold = true, }
- -- end,
- --},
- { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
-}
-local middle = {
- { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
-}
-local right = {
- { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- {
- RightSpace3,
- hl = { bg = colors.darkgray, force = true },
- },
- { LSPActive, hl = { bg = colors.darkgray, force = true } },
- { RightSpace2, hl = { bg = colors.gray, force = true } },
- { FileInfoBlock, hl = { bg = colors.gray, force = true } },
- { RightSpace, hl = { fg = colors.gray, force = true } },
- --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- --utils.make_flexible_component(
- -- 3,
- -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- -- { provider = "%<" }
- --),
-}
---local Align = { provider = "%=", hl = { bg = colors.bg } }
-
-local sections = { left, middle, right }
-local DefaultStatusline = { sections }
---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar
-
-local InactiveStatusline = {
- condition = conditions.is_not_active,
- { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
-}
-
-local SpecialStatusline = {
- condition = function()
- return conditions.buffer_matches({
- buftype = { "nofile", "prompt", "help", "quickfix" },
- filetype = { "^git.*", "fugitive" },
- })
- end,
-
- --FileType,
- --Space,
- --Align,
- { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
-}
-
-local TerminalStatusline = {
-
- condition = function()
- return conditions.buffer_matches({ buftype = { "terminal" } })
- end,
-
- --hl = { bg = colors.red },
-
- -- Quickly add a condition to the ViMode to only show it when buffer is active!
- --{ condition = conditions.is_active, ViMode, Space },
- { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } },
- { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } },
- --FileType,
- --Space,
- --TerminalName,
- --Align,
-}
-
-local StatusLine = {
-
- --hl = function()
- -- if conditions.is_active() then
- -- return "StatusLine"
- -- else
- -- return "StatusLineNC"
- -- end
- --end,
- static = {
- mode_colors = {
- n = colors.blue,
- i = colors.green,
- v = colors.purple,
- V = colors.purple,
- ["\22"] = colors.purple,
- c = colors.orange,
- s = colors.purple,
- S = colors.purple,
- ["\19"] = colors.purple,
- R = colors.red,
- r = colors.red,
- ["!"] = colors.orange,
- t = colors.orange,
- },
- mode_color = function(self)
- local mode = conditions.is_active() and vim.fn.mode() or "n"
- return self.mode_colors[mode]
- end,
- hl = function(self)
- local color = self:mode_color() -- here!
- return { bg = color }
- end,
- },
- fallthrough = false,
-
- SpecialStatusline,
- TerminalStatusline,
- InactiveStatusline,
- DefaultStatusline,
-}
-
-
---
---- WinBar
---
-local WinbarFileNameBlock = {
- -- let's first set up some attributes needed by this component and it's children
- init = function(self)
- self.filename = vim.api.nvim_buf_get_name(0)
- end,
- hl = { bg = colors.bg },
-}
-
---local WinbarFileName = {
--- provider = function(self)
--- -- self.filename will be defined later, just keep looking at the example!
--- local filename = self.filename
--- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t")
--- return filename
--- end,
--- hl = function()
--- return { fg = colors.gray, italic = true }
--- end,
---}
-local WinbarFileName = {
- provider = function(self)
- -- first, trim the pattern relative to the current directory. For other
- -- options, see :h filename-modifers
- local filename = vim.fn.fnamemodify(self.filename, ":.")
- if filename == "" then
- return "No Name"
- end
- -- now, if the filename would occupy more than 1/4th of the available
- -- space, we trim the file path to its initials
- -- See Flexible Components section below for dynamic truncation
- if not conditions.width_percent_below(#filename, 0.25) then
- filename = vim.fn.pathshorten(filename)
- end
- return filename
- end,
- --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg },
- hl = { fg = colors.gray, bold = false, bg = colors.bg },
-}
-
-WinbarFileNameBlock = utils.insert(
- WinbarFileNameBlock,
- FileIcon,
- utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier
- unpack(FileFlags), -- A small optimisation, since their parent does nothing
- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space
-)
-
-vim.api.nvim_create_autocmd("User", {
- pattern = "HeirlineInitWinbar",
- callback = function(args)
- local buf = args.buf
- local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype)
- local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype)
- if buftype or filetype then
- vim.opt_local.winbar = nil
- end
- end,
-})
-
-On_click = {
- -- get the window id of the window in which the component was evaluated
- minwid = function()
- return vim.api.nvim_get_current_win()
- end,
- callback = function(_, minwid)
- -- winid is the window id of the window the component was clicked from
- local winid = minwid
- -- do something with the window id, e.g.:
- local buf = vim.api.nvim_win_get_buf(winid)
- -- ...
- end,
-}
-
-local CloseButton = {
- condition = function(self)
- return not vim.bo.modified
- end,
- -- a small performance improvement:
- -- re register the component callback only on layout/buffer changes.
- update = { "WinNew", "WinClosed", "BufEnter" },
- { provider = " " },
- {
- provider = "",
- hl = { fg = "gray" },
- On_click = {
- minwid = function()
- return vim.api.nvim_get_current_win()
- end,
- callback = function(_, minwid)
- vim.api.nvim_win_close(minwid, true)
- end,
- name = "heirline_winbar_close_button",
- },
- },
-}
-
-local Center = {
- fallthrough = false,
- { -- Hide the winbar for special buffers
- condition = function()
- return conditions.buffer_matches({
- buftype = { "nofile", "prompt", "help", "quickfix" },
- filetype = { "^git.*", "fugitive" },
- })
- end,
- init = function()
- vim.opt_local.winbar = nil
- end,
- },
- { -- A special winbar for terminals
- condition = function()
- return conditions.buffer_matches({ buftype = { "terminal" } })
- end,
- FileType,
- Space,
- --TerminalName,
- },
- { -- An inactive winbar for regular files
- condition = function()
- return not conditions.is_active()
- end,
- --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ),
- utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ),
- },
- -- A winbar for regular files
- utils.surround({ "", "" }, colors.nobg, { FileNameBlock }),
-}
-
---local WinBar = { Align, Center, Align }
-local WinBar = { Space, Center }
-
-
--- TabLine
---local TablineBufnr = {
--- provider = function(self)
--- return tostring(self.bufnr) .. "."
--- end,
--- hl = { fg = colors.white, bold = false },
----- hl = "Comment",
---}
-
--- we redefine the filename component, as we probably only want the tail and not the relative path
-local TablineFileName = {
- provider = function(self)
- -- self.filename will be defined later, just keep looking at the example!
- local filename = self.filename
- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t")
- return filename
- end,
- hl = function(self)
- return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true }
- end,
-}
-
-local TablineFileFlags = {
- {
- provider = function(self)
- if vim.bo[self.bufnr].modified then
- return " [+] "
- end
- end,
- hl = { fg = colors.green },
- },
- {
- provider = function(self)
- if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then
- return "  "
- end
- end,
- hl = { fg = "orange" },
- },
-}
-
-local TablineFileIcon = {
- init = function(self)
- local filename = self.filename
- local extension = vim.fn.fnamemodify(filename, ":e")
- self.icon, self.icon_color =
- require("nvim-web-devicons").get_icon_color(filename, extension, { default = true })
- end,
- provider = function(self)
- return self.icon and (" " .. self.icon .. " ")
- end,
- hl = function(self)
- return { fg = self.icon_color }
- end,
-}
-
--- Here the filename block finally comes together
-local TablineFileNameBlock = {
- init = function(self)
- self.filename = vim.api.nvim_buf_get_name(self.bufnr)
- end,
- hl = function(self)
- if self.is_active then
- return "TabLineSel"
- -- why not?
- --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then
- --return { fg = "gray", bg = colors.bg }
- else
- return "TabLineFill"
- end
- end,
- on_click = {
- callback = function(_, minwid, _, button)
- if button == "m" then -- close on mouse middle click
- vim.api.nvim_buf_delete(minwid, { force = false })
- else
- vim.api.nvim_win_set_buf(0, minwid)
- end
- end,
- minwid = function(self)
- return self.bufnr
- end,
- name = "heirline_tabline_buffer_callback",
- },
- --TablineBufnr,
- TablineFileIcon,
- TablineFileName,
- TablineFileFlags,
-}
-
--- a nice "x" button to close the buffer
-local TablineCloseButton = {
- condition = function(self)
- return not vim.api.nvim_buf_get_option(self.bufnr, "modified")
- end,
- { provider = " " },
- {
- provider = " ",
- --hl = { fg = "red", bg = colors.bg },
- hl = { fg = colors.red },
- on_click = {
- callback = function(_, minwid)
- vim.api.nvim_buf_delete(minwid, { force = false })
- end,
- minwid = function(self)
- return self.bufnr
- end,
- name = "heirline_tabline_close_buffer_callback",
- },
- },
-}
-
--- The final touch!
-local TablineBufferBlock = utils.surround({ "", "" }, function(self)
- --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self)
- if self.is_active then
- return utils.get_highlight("TabLineSel").bg
- else
- return utils.get_highlight("TabLineFill").bg
- end
-end, { Tab, TablineFileNameBlock, TablineCloseButton })
-
-local BufferLine = utils.make_buflist(
- TablineBufferBlock,
- { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<")
- { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">")
- -- by the way, open a lot of buffers and try clicking them ;)
-)
--- TabList
-local Tabpage = {
- provider = function(self)
- return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T"
- end,
- hl = function(self)
- if not self.is_active then
- return "TabLineFill"
- else
- return "TabLineSel"
- end
- end,
-}
-
-local TabpageClose = {
- provider = "%999X  %X",
- --hl = "TabLine",
- hl = { fg = colors.red, bg = colors.bg },
-}
-
-local TabPages = {
- -- only show this component if there's 2 or more tabpages
- condition = function()
- return #vim.api.nvim_list_tabpages() >= 2
- end,
- {
- provider = "%=",
- },
- utils.make_tablist(Tabpage),
- TabpageClose,
-}
-
--- TabLineOffset
-local TabLineOffset = {
- condition = function(self)
- local win = vim.api.nvim_tabpage_list_wins(0)[1]
- local bufnr = vim.api.nvim_win_get_buf(win)
- self.winid = win
-
- if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then
- self.title = "NvimTree"
- return true
- end
- end,
-
- provider = function(self)
- local title = self.title
- local width = vim.api.nvim_win_get_width(self.winid)
- local pad = math.ceil((width - #title) / 2)
- return string.rep(" ", pad) .. title .. string.rep(" ", pad)
- end,
-
- hl = function(self)
- if vim.api.nvim_get_current_win() == self.winid then
- return "TablineSel"
- else
- return "TablineFill"
- end
- end,
-}
-
-local TabLine = {
- TabLineOffset,
- BufferLine,
- TabPages,
-}
-
-require("heirline").setup({
- statusline = StatusLine,
- winbar = WinBar,
- tabline = TabLine,
- --statuscolumn = StatusColumn
-})
-
--- Yep, with heirline we're driving manual!
---vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]])
---
---local function get_bufs()
--- return vim.tbl_filter(function(bufnr)
--- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted
--- end, vim.api.nvim_list_bufs())
---end
---
---local function goto_buf(index)
--- local bufs = get_bufs()
--- if index > #bufs then
--- index = #bufs
--- end
--- vim.api.nvim_win_set_buf(0, bufs[index])
---end
---
---local function addKey(key, index)
--- vim.keymap.set("", "<A-" .. key .. ">", function()
--- goto_buf(index)
--- end, { noremap = true, silent = true })
---end
---
---for i = 1, 9 do
--- addKey(i, i)
---end
---addKey("0", 10)
diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua
deleted file mode 100644
index 924db87..0000000
--- a/.config/nvim/lua/plugins/lsp.lua
+++ /dev/null
@@ -1,308 +0,0 @@
-
-local fn = vim.fn
-local keymap = vim.keymap
-
-local utils = require("user.utils")
-
-local custom_attach = function(client, bufnr)
- -- Enable completion triggered by <c-x><c-o>
- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
---vim.lsp.protocol.CompletionItemKind = {}
- -- Mappings.
- local map = function(mode, l, r, opts)
- opts = opts or {}
- opts.silent = true
- opts.noremap = true
- opts.buffer = bufnr
- keymap.set(mode, l, r, opts)
- end
---map("n", "gd", "<Cmd>Lspsaga lsp_finder<CR>") -- Press "o" to open the reference location
---map("n", "gp", "<Cmd>Lspsaga peek_definition<CR>")
--- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" })
- map("n", "<C-]>", vim.lsp.buf.definition)
--- map("n", "K", vim.lsp.buf.hover)
--- map("n", "<C-k>", vim.lsp.buf.signature_help)
--- map("n", "<leader>rn", vim.lsp.buf.rename, { desc = "varialble rename" })
--- map("n", "gr", vim.lsp.buf.references, { desc = "show references" })
--- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" })
--- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" })
- map("n", "<leader>q", function()
- vim.diagnostic.setqflist({ open = true })
- end, { desc = "put diagnostic to qf" })
--- --map.('n', '<space>q', vim.diagnostic.setloclist)
--- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" })
--- map("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" })
--- map("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" })
--- map("n", "<leader>wl", function()
--- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
--- end, { desc = "list workspace folder" })
--- map("n", "gs", "vim.lsp.buf.document_symbol()<cr>")
--- map("n", "gw", "vim.lsp.buf.workspace_symbol()<cr>", { desc = "list workspace folder" })
--- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()<cr>")
--- map("n", "gt", ":lua vim.lsp.buf.type_definition()<cr>")
--- map("n", "gD", ":lua vim.lsp.buf.declaration()<cr>") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now.
--- map("n", "gi", ":lua vim.lsp.buf.implementation()<cr>")
- map("n", "go", ":lua vim.diagnostic.open_float()<cr>")
--- map("n", "gk", "<Cmd>Lspsaga diagnostic_jump_prev<CR>")
--- map("n", "gj", "<Cmd>Lspsaga diagnostic_jump_next<CR>")
---vim.api.nvim_set_keymap('n', '<leader>dd', '<cmd>lua vim.diagnostic.setloclist()<CR>', { noremap = true, silent = true })
- --nnoremap("gI", vim.lsp.buf.incoming_calls, opts)
- --
- --nnoremap("<leader>cs", vim.lsp.buf.document_symbol, opts)
- --nnoremap("<leader>cw", vim.lsp.buf.workspace_symbol, opts)
- --nnoremap("<leader>rf", vim.lsp.buf.formatting, opts)
- --require("which-key").register {
- -- ["<leader>rf"] = "lsp: format buffer",
- -- ["<leader>ca"] = "lsp: code action",
- -- ["<leader>gd"] = "lsp: go to type definition",
- -- ["gr"] = "lsp: references",
- -- ["gi"] = "lsp: implementation",
- -- ["gI"] = "lsp: incoming calls",
- --}
---end
-vim.g.diagnostics_visible = true
-function _G.toggle_diagnostics()
- if vim.g.diagnostics_visible then
- vim.g.diagnostics_visible = false
- vim.diagnostic.disable()
- else
- vim.g.diagnostics_visible = true
- vim.diagnostic.enable()
- end
-end
-
- -- Set some key bindings conditional on server capabilities
- if client.server_capabilities.documentFormattingProvider then
- map("n", "<space>f", vim.lsp.buf.format, { desc = "format code" })
- end
-
- -- add rust specific keymappings
- if client.name == "rust_analyzer" then
- map("n", "<leader>rr", "<cmd>RustRunnables<CR>")
- map("n", "<leader>ra", "<cmd>RustHoverAction<CR>")
- end
-
--- Highlight symbol under cursor
-
--- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands.
-
-if client.server_capabilities.document_highlight then
- vim.cmd [[
- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow
- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow
- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow
- ]]
- vim.api.nvim_create_augroup('lsp_document_highlight', {
- clear = false
- })
- vim.api.nvim_clear_autocmds({
- buffer = bufnr,
- group = 'lsp_document_highlight',
- })
- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
- group = 'lsp_document_highlight',
- buffer = bufnr,
- callback = vim.lsp.buf.document_highlight,
- })
- vim.api.nvim_create_autocmd('CursorMoved', {
- group = 'lsp_document_highlight',
- buffer = bufnr,
- callback = vim.lsp.buf.clear_references,
- })
-end
-
- if vim.g.logging_level == "debug" then
- local msg = string.format("Language server %s started!", client.name)
- vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" })
- end
--- suppress error messages from lang servers
-end
-vim.lsp.set_log_level("debug")
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
-capabilities.textDocument.completion.completionItem.snippetSupport = true
-capabilities.offsetEncoding = { "utf-16" }
-
-local lspconfig = require("lspconfig")
-
-if utils.executable("pylsp") then
- lspconfig.pylsp.setup({
- settings = {
- pylsp = {
- plugins = {
- pylint = { enabled = true, executable = "pylint" },
- pyflakes = { enabled = false },
- pycodestyle = { enabled = false },
- jedi_completion = { fuzzy = true },
- pyls_isort = { enabled = true },
- pylsp_mypy = { enabled = true },
- },
- },
- },
- flags = {
- debounce_text_changes = 200,
- },
- capabilities = capabilities,
- })
-else
- vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" })
-end
-
--- if utils.executable('pyright') then
--- lspconfig.pyright.setup{
--- on_attach = custom_attach,
--- capabilities = capabilities
--- }
--- else
--- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'})
--- end
-
-if utils.executable("clangd") then
- lspconfig.clangd.setup({
- on_attach = custom_attach,
- capabilities = capabilities,
- filetypes = { "c", "cpp", "cc" },
- flags = {
- debounce_text_changes = 500,
- },
- })
-else
- vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" })
-end
-
--- set up vim-language-server
-if utils.executable("vim-language-server") then
- lspconfig.vimls.setup({
- on_attach = custom_attach,
- flags = {
- debounce_text_changes = 500,
- },
- capabilities = capabilities,
- })
-else
- vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" })
-end
-
--- set up bash-language-server
-if utils.executable("bash-language-server") then
- lspconfig.bashls.setup({
- on_attach = custom_attach,
- capabilities = capabilities,
- })
-end
-
-if utils.executable("lua-language-server") then
- lspconfig.sumneko_lua.setup({
- on_attach = custom_attach,
- settings = {
- Lua = {
- runtime = {
- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
- version = "LuaJIT",
- },
- diagnostics = {
- -- Get the language server to recognize the `vim` global
- globals = { "vim" },
- },
- workspace = {
- -- Make the server aware of Neovim runtime files,
- library = {
- fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim",
- fn.stdpath("config"),
- },
- maxPreload = 2000,
- preloadFileSize = 50000,
- },
- },
- },
- capabilities = capabilities,
- })
-end
-
-
-if utils.executable("rust-language-server") then
-require("lspconfig").rust_analyzer.setup{
- cmd = { "rustup", "run", "nightly", "rust-analyzer" },
- on_attach = custom_attach,
- flags = {
- debounce_text_changes = 500,
- },
- --[[
- settings = {
- rust = {
- unstable_features = true,
- build_on_save = false,
- all_features = true,
- },
- }
- --]]
-}
-end
-
---vim.diagnostic.config({
--- virtual_text = false,
--- underline = true,
---})
-vim.diagnostic.config({
- underline = false,
- signs = true,
- virtual_text = false,
- float = {
- show_header = true,
- source = 'if_many',
- border = 'rounded',
- focusable = false,
- },
- update_in_insert = false, -- default to false
- severity_sort = false, -- default to false
-})
-
-vim.cmd[[
-augroup OpenFloat
- autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})
-
-augroup END
-]]
-vim.cmd([[
-function! ToggleDiagnosticsOpenFloat()
- " Switch the toggle variable
- let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1)
-
- " Reset group
- augroup OpenFloat
- autocmd!
- augroup END
-
- " Enable if toggled on
- if g:DiagnosticsOpenFloat
- augroup OpenFloat
- autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled...")
- augroup END
- endif
-endfunction
-nnoremap <leader>to :call ToggleDiagnosticsOpenFloat()<CR>\|:echom "vim.diagnostic.open_float disabled . . ."<CR>
-]])
-
-
-vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
- underline = true,
- virtual_text = false,
- signs = true,
- update_in_insert = false,
-})
-
---vim.lsp.buf.definition
-vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
-
---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
-
-vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" })
-
---local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" }
-local signs = { Error = " ", Warn = "▲", Info = "􀅳", Hint = "⚑" }
-for type, icon in pairs(signs) do
- local hl = "DiagnosticSign" .. type
- vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
-end
-
-
diff --git a/.config/nvim/lua/plugins/lspsaga.lua b/.config/nvim/lua/plugins/lspsaga.lua
deleted file mode 100644
index 4161ce9..0000000
--- a/.config/nvim/lua/plugins/lspsaga.lua
+++ /dev/null
@@ -1,46 +0,0 @@
-return function()
- local saga = require "lspsaga"
-
- saga.init_lsp_saga {
- use_saga_diagnostic_sign = false,
- finder_action_keys = {
- vsplit = "v",
- split = "s",
- quit = { "q", "<ESC>" },
- },
- code_action_icon = "💡",
- code_action_prompt = {
- enable = false,
- sign = false,
- virtual_text = false,
- },
- }
-
- require("as.highlights").highlight("LspSagaLightbulb", { guifg = "NONE", guibg = "NONE" })
-
--- as.vnoremap("<leader>ca", ":<c-u>lua require('lspsaga.codeaction').range_code_action()<CR>")
--- as.inoremap("<c-k>", "<cmd>lua require('lspsaga.signaturehelp').signature_help()<CR>")
--- as.nnoremap("K", "<cmd>lua require('lspsaga.hover').render_hover_doc()<CR>")
--- -- scroll down hover doc
--- as.nnoremap("<C-f>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(1)<CR>")
--- -- scroll up hover doc
--- as.nnoremap("<C-b>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>")
-
- require("which-key").register {
- ["<leader>rn"] = { require("lspsaga.rename").rename, "lsp: rename" },
- ["<leader>ca"] = { require("lspsaga.codeaction").code_action, "lsp: code action" },
- ["gp"] = { require("lspsaga.provider").preview_definition, "lsp: preview definition" },
- ["gh"] = { require("lspsaga.provider").lsp_finder, "lsp: finder" },
- -- jump diagnostic
- ["]c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_prev, "lsp: previous diagnostic" },
- ["[c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_next, "lsp: next diagnostic" },
- }
-
- -- augroup("LspSagaCursorCommands", {
- -- {
- -- events = { "CursorHold" },
- -- targets = { "*" },
- -- command = "lua require('lspsaga.diagnostic').show_cursor_diagnostics()",
- -- },
- -- })
-end
diff --git a/.config/nvim/lua/plugins/luasnip.lua b/.config/nvim/lua/plugins/luasnip.lua
deleted file mode 100644
index de2177e..0000000
--- a/.config/nvim/lua/plugins/luasnip.lua
+++ /dev/null
@@ -1,69 +0,0 @@
-local ls = require "luasnip" --
-
-require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" })
---local options = {
-ls.config.set_config {
- history = true,
- updateevents = "TextChanged,TextChangedI",
- -- Autosnippets:
- enable_autosnippets = true, --
- ext_opts = { --
- [require("luasnip.util.types").choiceNode] = {
- active = {
- virt_text = { { "«", "GruvboxOrange" } },
- },
- },
- },
-}
-
---local keymap = vim.keymap
---local keymap = vim.api.nvim_set_keymap
-local keymap = vim.keymap.set
---keymap('i', '<c-f>', 'luasnip#expand_or_jumpable() ? "<Plug>luasnip-expand-or-jump" : "<Tab>"', {expr = true, silent = true})
-keymap({ "i", "s"}, "<c-f>", function()
- if ls.expand_or_jumpable() then
- ls.expand()
- end
-end)
-
-keymap({ "i", "s"}, "<c-j>", function()
- if ls.jumpable(1) then
- ls.jump(1)
- end
-end)
-
-keymap({ "i", "s"}, "<c-k>", function()
- if ls.jumpable(-1) then
- ls.jump(-1)
- end
-end)
-
-keymap({ "i", "s"}, "<c-c>", function()
- if ls.choice_active() then
- ls.change_choice(1)
- end
-end)
-
-keymap({ "i", "s"}, "<a-c>", function()
- if ls.choice_active() then
- ls.change_choice(-1)
- end
-end)
-
--- Character class Matching
--- %a letters (A-Z, a-z)
--- %c control characters (\n, \t, \r, ...)
--- %d digits (0-9)
--- %l lower-case letter (a-z)
--- %p punctuation characters (!, ?, &, ...)
--- %s space characters
--- %u upper-case letters
--- %w alphanumeric characters (A-Z, a-z, 0-9)
--- %x hexadecimal digits (\3, \4, ...)
--- %z the character with representation 0
--- . Matches any character
-
-
-
-
-
diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua
deleted file mode 100644
index c0fdca6..0000000
--- a/.config/nvim/lua/plugins/mason.lua
+++ /dev/null
@@ -1,61 +0,0 @@
-local status, mason = pcall(require, "mason")
-if (not status) then return end
-local status2, lspconfig = pcall(require, "mason-lspconfig")
-if (not status2) then return end
-
-mason.setup({
-
-})
-
-lspconfig.setup {
- ensure_installed = { "sumneko_lua" },
-}
-local keymap = vim.api.nvim_set_keymap
-local opts = { noremap = true }
-
-
-keymap('n', 'gd', ':lua vim.lsp.buf.definition()<cr>', opts)
-keymap('n', 'gD', ':lua vim.lsp.buf.declaration()<cr>', opts)
-keymap('n', 'gi', ':lua vim.lsp.buf.implementation()<cr>', opts)
-keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()<cr>', opts)
-keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()<cr>', opts)
-keymap('n', 'gr', ':lua vim.lsp.buf.references()<cr>', opts)
-keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()<cr>', opts)
-keymap('n', 'K', ':lua vim.lsp.buf.hover()<cr>', opts)
-keymap('n', '<c-k>', ':lua vim.lsp.buf.signature_help()<cr>', opts)
-keymap('n', '<leader>af', ':lua vim.lsp.buf.code_action()<cr>', opts)
-keymap('n', '<leader>rn', ':lua vim.lsp.buf.rename()<cr>', opts)
-
-
-
---local mason = require("mason")
---
---local options = {
--- ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim
---
--- ui = {
--- icons = {
--- package_pending = " ",
--- package_installed = " ",
--- package_uninstalled = " ﮊ",
--- },
---
--- keymaps = {
--- toggle_server_expand = "<CR>",
--- install_server = "i",
--- update_server = "u",
--- check_server_version = "c",
--- update_all_servers = "U",
--- check_outdated_servers = "C",
--- uninstall_server = "X",
--- cancel_installation = "<C-c>",
--- },
--- },
---
--- max_concurrent_installers = 10,
---}
---
---
---
---mason.setup(options)
-
diff --git a/.config/nvim/lua/plugins/modify-blend.lua b/.config/nvim/lua/plugins/modify-blend.lua
deleted file mode 100644
index 4cb2bdd..0000000
--- a/.config/nvim/lua/plugins/modify-blend.lua
+++ /dev/null
@@ -1,43 +0,0 @@
-local ui = vim.api.nvim_list_uis()[1]
-
-local bufnr = vim.api.nvim_create_buf(true, true)
-local win = vim.api.nvim_open_win(bufnr, true, {
- --relative = "editor",
- relative = "cursor",
- width = ui.width,
- height = ui.height,
- anchor = "NE",
- row = 10,
- col = 10,
- style = "minimal",
- zindex = 50,
-})
-
-vim.api.nvim_win_set_option(win, "winblend", 1)
---
---local blend_start = 15
---local offset = 1
---
---CANCEL = false
---local timer = vim.loop.new_timer()
---timer:start(
--- 0,
--- 50,
--- vim.schedule_wrap(function()
--- blend_start = blend_start + offset
---
--- if blend_start > 90 then
--- offset = -1
--- elseif blend_start < 10 then
--- offset = 1
--- end
---
--- if CANCEL or not vim.api.nvim_win_is_valid(win) then
--- timer:close()
--- timer:stop()
--- return
--- end
---
--- vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start))
--- end)
---)
diff --git a/.config/nvim/lua/plugins/neoscroll.lua b/.config/nvim/lua/plugins/neoscroll.lua
deleted file mode 100644
index d122584..0000000
--- a/.config/nvim/lua/plugins/neoscroll.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-require("neoscroll").setup({
- easing_function = "quadratic",
-})
-
-local t = {}
--- Syntax: t[keys] = {function, {function arguments}}
--- Use the "sine" easing function
-t["<C-u>"] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } }
-t["<C-d>"] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } }
--- Use the "circular" easing function
-t["<C-b>"] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
-t["<C-f>"] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } }
--- Pass "nil" to disable the easing animation (constant scrolling speed)
-t["<C-y>"] = { "scroll", { "-0.10", "false", "100", nil } }
-t["<C-e>"] = { "scroll", { "0.10", "false", "100", nil } }
--- When no easing function is provided the default easing function (in this case "quadratic") will be used
-t["zt"] = { "zt", { "10" } }
-t["zz"] = { "zz", { "10" } }
-t["zb"] = { "zb", { "10" } }
-
-require("neoscroll.config").set_mappings(t)
diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua
deleted file mode 100644
index 4573a54..0000000
--- a/.config/nvim/lua/plugins/null-ls.lua
+++ /dev/null
@@ -1,44 +0,0 @@
-local null_ls_status_ok, null_ls = pcall(require, "null-ls")
-if not null_ls_status_ok then
- return
-end
---[[null-ls.]]
---
--- null-language-server i.e. a sort of language server which does not provide any services such as formatting and diagnostics you expect from a language server. Instead it will need to install corresponding external “sources” and then hook these sources into the neovim lsp client through null-ls.
---
-
-null_ls.setup({
- debug = true,
- sources = {
- require("null-ls").builtins.formatting.stylua, -- lua formatting
- require("null-ls").builtins.formatting.prettier.with({ -- markdown, html/js formatting
- filetypes = { "html", "css", "javascript", "javascriptreact", "markdown", "json", "yaml" },
- }),
- require("null-ls").builtins.formatting.shfmt.with({ -- shell script formatting
- filetypes = { "bash", "zsh", "sh" },
- }),
- require("null-ls").builtins.diagnostics.shellcheck, -- shell script diagnostics
- require("null-ls").builtins.code_actions.shellcheck, -- shell script code actions
- --require("null-ls").builtins.formatting.black,
- --require("null-ls").builtins.formatting.prettierd,
- --require("null-ls").builtins.diagnostics.luacheck,
- --require("null-ls").builtins.diagnostics.eslint,
- --require("null-ls").builtins.diagnostics.eslint_d,
- --require("null-ls").builtins.diagnostics.mdl,
- --require("null-ls").builtins.diagnostics.vint,
- --require("null-ls").builtins.codeactions.eslint_d,
- --require("null-ls").builtins.completion.spell,
- },
- on_attach = function(client, bufnr)
- if client.server_capabilities.document_formatting then
- local group = vim.api.nvim_create_augroup("NullLsFormatting", { clear = true })
- vim.api.nvim_create_autocmd("BufWritePre", {
- callback = function()
- vim.lsp.buf.formatting_sync(nil, 4000)
- end,
- buffer = bufnr,
- group = group,
- })
- end
- end,
-})
diff --git a/.config/nvim/lua/plugins/nvim-tree.lua b/.config/nvim/lua/plugins/nvim-tree.lua
deleted file mode 100644
index c950357..0000000
--- a/.config/nvim/lua/plugins/nvim-tree.lua
+++ /dev/null
@@ -1,77 +0,0 @@
-local status_ok, nvim_tree = pcall(require, "nvim-tree")
-if not status_ok then
- return
-end
-
-local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
-if not config_status_ok then
- return
-end
-
-local tree_cb = nvim_tree_config.nvim_tree_callback
-
--- To see mappings `g?` on nvim-tree
--- To see default mappings `:nvim-tree-default-mappings`
-
-nvim_tree.setup({
- update_focused_file = {
- enable = true,
- update_cwd = true,
- },
- git = {
- enable = true,
- ignore = false,
- timeout = 500,
-},
- renderer = {
- root_folder_modifier = ":t",
- icons = {
- glyphs = {
- default = "",
- symlink = "",
- folder = {
- arrow_open = "",
- arrow_closed = "",
- default = "",
- open = "",
- empty = "",
- empty_open = "",
- symlink = "",
- symlink_open = "",
- },
- git = {
- unstaged = "",
- staged = "S",
- unmerged = "",
- renamed = "➜",
- untracked = "U",
- deleted = "",
- ignored = "◌",
- },
- },
- },
- },
- diagnostics = {
- enable = true,
- show_on_dirs = true,
- icons = {
- hint = "",
- info = "",
- warning = "",
- error = "",
- },
- },
- view = {
- width = 30,
- --height = 30,
- side = "left",
- mappings = {
- list = {
- { key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
- { key = "h", cb = tree_cb("close_node") },
- { key = "v", cb = tree_cb("vsplit") },
- { key = "u", action = "dir_up" },
- },
- },
- },
-})
diff --git a/.config/nvim/lua/plugins/prettier.lua b/.config/nvim/lua/plugins/prettier.lua
deleted file mode 100644
index 05d4665..0000000
--- a/.config/nvim/lua/plugins/prettier.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-local status, prettier = pcall(require, "prettier")
-if (not status) then return end
-
-prettier.setup {
- bin = 'prettierd',
- filetypes = {
- "c",
- "lua",
- "vim",
- --"css",
- --"javascript",
- --"javascriptreact",
- --"typescript",
- --"typescriptreact",
- --"json",
- --"scss",
- "less"
- }
-}
diff --git a/.config/nvim/lua/plugins/scripts/lsp-ext.lua b/.config/nvim/lua/plugins/scripts/lsp-ext.lua
deleted file mode 100644
index c4378c6..0000000
--- a/.config/nvim/lua/plugins/scripts/lsp-ext.lua
+++ /dev/null
@@ -1,48 +0,0 @@
---
--- lsp-ext.lua
-
-
-M = {}
-
-function M.preview_location(location, context, before_context)
- -- location may be LocationLink or Location (more useful for the former)
- context = context or 15
- before_context = before_context or 0
- local uri = location.targetUri or location.uri
- if uri == nil then
- return
- end
- local bufnr = vim.uri_to_bufnr(uri)
- if not vim.api.nvim_buf_is_loaded(bufnr) then
- vim.fn.bufload(bufnr)
- end
- local range = location.targetRange or location.range
- local contents =
- vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false)
- local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype")
- return vim.lsp.util.open_floating_preview(contents, filetype)
-end
-
-function M.preview_location_callback(_, method, result)
- local context = 15
- if result == nil or vim.tbl_isempty(result) then
- print("No location found: " .. method)
- return nil
- end
- if vim.tbl_islist(result) then
- M.floating_buf, M.floating_win = M.preview_location(result[1], context)
- else
- M.floating_buf, M.floating_win = M.preview_location(result, context)
- end
-end
-
-function M.peek_definition()
- if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then
- vim.api.nvim_set_current_win(M.floating_win)
- else
- local params = vim.lsp.util.make_position_params()
- return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback)
- end
-end
-
-return M
diff --git a/.config/nvim/lua/plugins/scripts/setcolors.lua b/.config/nvim/lua/plugins/scripts/setcolors.lua
deleted file mode 100644
index 605bc84..0000000
--- a/.config/nvim/lua/plugins/scripts/setcolors.lua
+++ /dev/null
@@ -1,121 +0,0 @@
-vim.cmd([[
-" Change the color scheme from a list of color scheme names.
-" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341
-" Press key:
-" F8 next scheme
-" Shift-F8 previous scheme
-" Alt-F8 random scheme
-" Set the list of color schemes used by the above (default is 'all'):
-" :SetColors all (all $VIMRUNTIME/colors/*.vim)
-" :SetColors my (names built into script)
-" :SetColors blue ayu ron (these schemes)
-" :SetColors (display current scheme names)
-" Set the current color scheme based on time of day:
-" :SetColors now
-if v:version < 700 || exists('loaded_setcolors') || &cp
- finish
-endif
-
-let loaded_setcolors = 1
-let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color
-
-" Set list of color scheme names that we will use, except
-" argument 'now' actually changes the current color scheme.
-function! s:SetColors(args)
- if len(a:args) == 0
- echo 'Current color scheme names:'
- let i = 0
- while i < len(s:mycolors)
- echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)'))
- let i += 5
- endwhile
- elseif a:args == 'all'
- let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n")
- let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")')))
- echo 'List of colors set from all installed color schemes'
- elseif a:args == 'my'
- let c1 = 'default srcery everblush'
- let c2 = 'gruvbox onedark'
- let c3 = 'ayu molokai'
- let s:mycolors = split(c1.' '.c2.' '.c3)
- echo 'List of colors set from built-in names'
- elseif a:args == 'now'
- call s:HourColor()
- else
- let s:mycolors = split(a:args)
- echo 'List of colors set from argument (space-separated names)'
- endif
-endfunction
-
-command! -nargs=* SetColors call s:SetColors('<args>')
-
-" Set next/previous/random (how = 1/-1/0) color from our list of colors.
-" The 'random' index is actually set from the current time in seconds.
-" Global (no 's:') so can easily call from command line.
-function! NextColor(how)
- call s:NextColor(a:how, 1)
-endfunction
-
-" Helper function for NextColor(), allows echoing of the color name to be
-" disabled.
-function! s:NextColor(how, echo_color)
- if len(s:mycolors) == 0
- call s:SetColors('all')
- endif
- if exists('g:colors_name')
- let current = index(s:mycolors, g:colors_name)
- else
- let current = -1
- endif
- let missing = []
- let how = a:how
- for i in range(len(s:mycolors))
- if how == 0
- let current = localtime() % len(s:mycolors)
- let how = 1 " in case random color does not exist
- else
- let current += how
- if !(0 <= current && current < len(s:mycolors))
- let current = (how>0 ? 0 : len(s:mycolors)-1)
- endif
- endif
- try
- execute 'colorscheme '.s:mycolors[current]
- break
- catch /E185:/
- call add(missing, s:mycolors[current])
- endtry
- endfor
- redraw
- if len(missing) > 0
- echo 'Error: colorscheme not found:' join(missing)
- endif
- if (a:echo_color)
- echo g:colors_name
- endif
-endfunction
-
-nnoremap <leader>cn :call NextColor(1)<CR>
-nnoremap <leader>cp :call NextColor(-1)<CR>
-nnoremap <leader>cc :call NextColor(0)<CR>
-
-" Set color scheme according to current time of day.
-function! s:HourColor()
- let hr = str2nr(strftime('%H'))
- if hr <= 3
- let i = 0
- elseif hr <= 7
- let i = 1
- elseif hr <= 14
- let i = 2
- elseif hr <= 18
- let i = 3
- else
- let i = 4
- endif
- let nowcolors = 'srcery onedark molokai'
- execute 'colorscheme '.split(nowcolors)[i]
- redraw
- echo g:colors_name
-endfunction
-]])
diff --git a/.config/nvim/lua/plugins/scripts/toggleLsp.lua b/.config/nvim/lua/plugins/scripts/toggleLsp.lua
deleted file mode 100644
index 28af698..0000000
--- a/.config/nvim/lua/plugins/scripts/toggleLsp.lua
+++ /dev/null
@@ -1,40 +0,0 @@
-local M = {}
-
-local check_function = function(bufnr, _)
- local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled')
- -- No buffer local variable set, so just enable by default
- if not ok then
- return true
- end
-
- return result
-end
-
-vim.lsp.handlers["textDocument/publishDiagnostics"] =
- vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
- underline = check_function,
- virtual_text = check_function,
- signs = check_function
- })
-
-function M.Enable()
- vim.b.lsp_enabled = true
-end
-
-function M.Disable()
- vim.b.lsp_enabled = false
-end
-
-function M.Toggle()
- if vim.b.lsp_enabled == false then
- M.Enable()
- else
- M.Disable()
- end
-end
-
-vim.cmd [[
- command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle()
-]]
-
-return M
diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua
deleted file mode 100644
index c4aca35..0000000
--- a/.config/nvim/lua/plugins/telescope.lua
+++ /dev/null
@@ -1,361 +0,0 @@
-local M = {}
-local status_ok, telescope = pcall(require, "telescope")
-if not status_ok then
- return
-end
-
-
---local actions = require("telescope.actions")
---local builtin = require("telescope.builtin")
-
---local themes = require("telescope.themes")
---local utils = require("telescope.utils")
-local actions = require("telescope.actions")
---local action_state = require("telescope.actions.state")
---local layout_actions = require("telescope.actions.layout")
-
-telescope.load_extension("fzf")
---telescope.load_extension("file_browser")
-require("telescope").load_extension "file_browser"
-require('telescope').load_extension('changed_files')
---require("telescope").load_extension("file_browser")
-local fb_actions = require("telescope").extensions.file_browser.actions
---telescope.load_extension('media_files')
-
-telescope.setup({
- defaults = {
- vimgrep_arguments = {
- "rg",
- "--color=never",
- "--no-heading",
- "--with-filename",
- "--line-number",
- "--column",
- "--smart-case",
- "--hidden",
- "--fixed-strings",
- "--trim",
- },
- prompt_prefix = " ",
- selection_caret = " ",
- entry_prefix = " ",
- path_display = { "tail" },
- --path_display = { "truncate" },
- --path_display = { "smart" },
- file_ignore_patterns = {
- "packer_compiled.lua",
- "%.DS_Store",
- "%.git/",
- "%.spl",
- "%.log",
- "%[No Name%]", -- new files / sometimes folders (netrw)
- "/$", -- ignore folders (netrw)
- "node_modules",
- "%.png",
- "%.zip",
- "%.pxd",
- "^.vim/",
- "^.local/",
- "^.cache/",
- "^downloads/",
- --"^node_modules/",
- --"^undodir/",
- },
- mappings = {
- i = {
- ["<C-n>"] = actions.cycle_history_next,
- ["<C-p>"] = actions.cycle_history_prev,
-
- ["<C-j>"] = actions.move_selection_next,
- ["<C-k>"] = actions.move_selection_previous,
-
- ["<C-c>"] = actions.close,
- ["<Esc>"] = actions.close, -- close w/ one esc
- --["<Esc>"] = "close", -- close w/ one esc
- ["<?>"] = actions.which_key, -- keys from pressing <C-/>
-
- ["<Down>"] = actions.move_selection_next,
- ["<Up>"] = actions.move_selection_previous,
-
- ["<CR>"] = actions.select_default,
- ["<C-x>"] = actions.select_horizontal,
- ["<C-y>"] = actions.select_vertical,
- ["<C-t>"] = actions.select_tab,
-
- ["<C-u>"] = actions.preview_scrolling_up,
- ["<C-d>"] = actions.preview_scrolling_down,
-
- ["<PageUp>"] = actions.results_scrolling_up,
- ["<PageDown>"] = actions.results_scrolling_down,
-
- ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
- ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
- ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
- ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
- ["<C-l>"] = actions.complete_tag,
- ["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
- --["<C-o>"] = function(prompt_bufnr)
- -- local selection = require("telescope.actions.state").get_selected_entry()
- -- local dir = vim.fn.fnamemodify(selection.path, ":p:h")
- -- require("telescope.actions").close(prompt_bufnr)
- -- -- Depending on what you want put `cd`, `lcd`, `tcd`
- -- vim.cmd(string.format("silent lcd %s", dir))
- --end,
- },
-
- n = {
- ["<esc>"] = actions.close,
- ["<q>"] = actions.close,
- ["<CR>"] = actions.select_default,
- ["<C-x>"] = actions.select_horizontal,
- ["<C-y>"] = actions.select_vertical,
- ["<C-t>"] = actions.select_tab,
-
- ["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
- ["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
- ["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
- ["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
-
- ["j"] = actions.move_selection_next,
- ["k"] = actions.move_selection_previous,
- ["H"] = actions.move_to_top,
- ["M"] = actions.move_to_middle,
- ["L"] = actions.move_to_bottom,
-
- ["<Down>"] = actions.move_selection_next,
- ["<Up>"] = actions.move_selection_previous,
- ["gg"] = actions.move_to_top,
- ["G"] = actions.move_to_bottom,
-
- ["<C-u>"] = actions.preview_scrolling_up,
- ["<C-d>"] = actions.preview_scrolling_down,
-
- ["<PageUp>"] = actions.results_scrolling_up,
- ["<PageDown>"] = actions.results_scrolling_down,
-
- ["?"] = actions.which_key,
- --["<C-o>"] = function(prompt_bufnr)
- -- local selection = require("telescope.actions.state").get_selected_entry()
- -- local dir = vim.fn.fnamemodify(selection.path, ":p:h")
- -- require("telescope.actions").close(prompt_bufnr)
- -- -- Depending on what you want put `cd`, `lcd`, `tcd`
- -- vim.cmd(string.format("silent lcd %s", dir))
- --end,
- },
- },
- },
- preview = {
- filesize_limit = 3,
- timeout = 250,
- },
- selection_strategy = "reset",
- sorting_strategy = "ascending",
- scroll_strategy = "limit",
- color_devicons = true,
- layout_strategy = 'horizontal',
- layout_config = {
- horizontal = {
- height = 0.95,
- preview_cutoff = 70,
- width = 0.92,
- preview_width = {0.55, max = 50}
- },
- bottom_pane = {
- height = 12,
- preview_cutoff = 70,
- prompt_position = "bottom",
- },
- },
- pickers = {
- live_grep = {
- disable_coordinates = true,
- layout_config = {
- horizontal = {
- preview_width = 0.55,
- },
- },
- },
- },
- --pickers = {
- --lsp_references = {
- -- prompt_prefix='⬅️',
- -- show_line=false,
- -- trim_text=true,
- -- include_declaration=false,
- -- initial_mode = "normal",
- --},
- --lsp_definitions = {
- -- prompt_prefix='➡️',
- -- show_line=false,
- -- trim_text=true,
- -- initial_mode = "normal",
- --},
- --lsp_document_symbols = {
- -- prompt_prefix='* ',
- -- show_line = false,
- --},
- --treesitter = {
- -- prompt_prefix=' ',
- -- show_line = false,
- --},
- --find_files = {
- -- cwd='%:p:h',
- -- prompt_prefix=' ',
- -- hidden = true,
- -- follow = true,
- --},
- --keymaps = { prompt_prefix='? ' },
- --oldfiles = { prompt_prefix=' ' },
- --highlights = { prompt_prefix=' ' },
- --git_files = {
- -- prompt_prefix=' ',
- -- show_untracked = true,
- -- path_display = { "tail" },
- --},
- --buffers = {
- -- prompt_prefix=' ',
- -- ignore_current_buffer = true,
- -- initial_mode = "normal",
- -- sort_mru = true,
- --},
- --live_grep = {
- -- cwd='%:p:h',
- -- disable_coordinates=true,
- -- prompt_title='Search in Folder',
- -- prompt_prefix=' ',
- --},
- --spell_suggest = {
- -- initial_mode = "normal",
- -- prompt_prefix = "暈",
- -- theme = "cursor",
- -- layout_config = { cursor = { width = 0.3 } }
- --},
- --colorscheme = {
- -- enable_preview = true,
- -- prompt_prefix = '',
- -- results_title = '',
- -- layout_strategy = "bottom_pane",
- --},
- --},
-
- extensions = {
- file_browser = {
- theme = "dropdown",
- -- disables netrw and use telescope-file-browser in its place
- hijack_netrw = true,
- mappings = {
- -- your custom insert mode mappings
- ["i"] = {
- ["<C-w>"] = function()
- vim.cmd("normal vbd")
- end,
- --["<C-h>"] = fb_actions.goto_parent_dir,
- },
- ["n"] = {
- -- your custom normal mode mappings
- ["N"] = fb_actions.create,
- --["<C-h>"] = fb_actions.goto_parent_dir,
- --["/"] = function()
- -- vim.cmd("startinsert")
- --end,
- },
- },
- },
- --["ui-select"] = { -- mostly code actions
- -- initial_mode = "normal",
- -- prompt_prefix = " ",
- -- results_title = '',
- -- layout_strategy = "bottom_pane",
- -- sorting_strategy = "ascending",
- -- layout_config = { bottom_pane = { height = 8 } },
- --},
- ["ui-select"] = {
- require("telescope.themes").get_dropdown({}),
- },
- },
-})
-
---------------------------------------------------------------------------------
-
--- have to be loaded after telescope config
---require("telescope").load_extension("ui-select") -- use telescope for selections like code actions
-telescope.load_extension("ui-select")
-
-function M.find_configs()
- require("telescope.builtin").find_files {
- hidden = true,
- no_ignore = false,
- prompt_title = " Find Configs",
- results_title = "Config Files",
- path_display = { "smart" },
- search_dirs = {
- "~/.config/nvim",
- "~/.config/zsh",
- "~/.config/tmux",
- "~/.config/X11",
- "~/.config/alacritty",
- "~/.config/wezterm",
- "~/.config/bspwm",
- "~/.config/sxhkd",
- "~/.config/picom",
- },
- -- cwd = "~/.config/nvim/",
- file_ignore_patterns = {
- "~/.config/nvim/startup.log",
- "packer_compiled.lua",
- "resurrect",
- "tmux/plugins",
- --"^~/.config/tmux/plugins",
- "%.txt",
- ".git",
- },
- layout_strategy = "horizontal",
- layout_config = { preview_width = 0.65, width = 0.75 },
- }
-end
-
-function M.grep_notes()
- local opts = {}
- opts.hidden = false
- opts.search_dirs = {
- "~/documents/notes/",
- }
- opts.prompt_prefix = "  "
- opts.prompt_title = " Grep Notes"
- opts.path_display = { "smart" }
- require("telescope.builtin").live_grep(opts)
-end
-
-function M.find_notes()
- require("telescope.builtin").find_files {
- hidden = false,
- prompt_title = " Find Notes",
- path_display = { "smart" },
- search_dirs = {
- "~/documents/notes/private/",
- "~/documents/notes",
- },
- --cwd = "~documents/notes",
- layout_strategy = "horizontal",
- layout_config = { preview_width = 0.65, width = 0.75 },
- }
-end
-
-function M.file_explorer()
- require("telescope.builtin").file_browser({
- prompt_title = "File Browser",
- cwd = "~",
- layout_strategy = "horizontal",
- })
-end
-
-function M.grep_current_dir()
- local buffer_dir = require("telescope.utils").buffer_dir()
- local opts = {
- prompt_title = "Live Grep in " .. buffer_dir,
- cwd = buffer_dir,
- }
- require("telescope.builtin").live_grep(opts)
-end
-
-return M
diff --git a/.config/nvim/lua/plugins/toggleterm.lua b/.config/nvim/lua/plugins/toggleterm.lua
deleted file mode 100644
index 0c3c45f..0000000
--- a/.config/nvim/lua/plugins/toggleterm.lua
+++ /dev/null
@@ -1,90 +0,0 @@
-local status_ok, toggleterm = pcall(require, "toggleterm")
-if not status_ok then
- return
-end
-
-toggleterm.setup({
- size = function(term)
- if term.direction == "horizontal" then
- return 12
- elseif term.direction == "vertical" then
- return vim.o.columns * 0.3
- end
- end,
- --size = 20,
- open_mapping = [[<leader>tt]],
- hide_numbers = true,
- shade_filetypes = {},
- shade_terminals = false,
- shading_factor = 1,
- start_in_insert = true,
- insert_mappings = true,
- persist_size = true,
- direction = "float",
- --direction = "vertical",
- --direction = "horizontal",
- close_on_exit = true,
- shell = vim.o.shell,
- highlights = {
- -- highlights which map to a highlight group name and a table of it's values
- -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split
- Normal = {
- background = "#000000",
- },
- },
- float_opts = {
- width = 70,
- height = 15,
- winblend = 3,
- border = "curved",
- --winblend = 0,
- highlights = {
- border = "Normal",
- background = "Normal",
- },
- },
-})
-
-function _G.set_terminal_keymaps()
- local opts = { noremap = true }
- --local opts = {buffer = 0}
- vim.api.nvim_buf_set_keymap(0, "t", "<esc>", [[<C-\><C-n>]], opts)
- vim.api.nvim_buf_set_keymap(0, "t", "jj", [[<C-\><C-n>]], opts)
- vim.api.nvim_buf_set_keymap(0, "t", "<C-h>", [[<C-\><C-n><C-W>h]], opts)
- vim.api.nvim_buf_set_keymap(0, "t", "<C-j>", [[<C-\><C-n><C-W>j]], opts)
- vim.api.nvim_buf_set_keymap(0, "t", "<C-k>", [[<C-\><C-n><C-W>k]], opts)
- vim.api.nvim_buf_set_keymap(0, "t", "<C-l>", [[<C-\><C-n><C-W>l]], opts)
-end
-
-vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
-
-local Terminal = require("toggleterm.terminal").Terminal
-local lazygit = Terminal:new({ cmd = "lazygit", hidden = true })
-
-function _LAZYGIT_TOGGLE()
- lazygit:toggle()
-end
-
-local node = Terminal:new({ cmd = "node", hidden = true })
-
-function _NODE_TOGGLE()
- node:toggle()
-end
-
-local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
-
-function _NCDU_TOGGLE()
- ncdu:toggle()
-end
-
-local htop = Terminal:new({ cmd = "htop", hidden = true })
-
-function _HTOP_TOGGLE()
- htop:toggle()
-end
-
-local python = Terminal:new({ cmd = "python", hidden = true })
-
-function _PYTHON_TOGGLE()
- python:toggle()
-end
diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua
deleted file mode 100644
index 7f481d3..0000000
--- a/.config/nvim/lua/plugins/treesitter.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-require'nvim-treesitter.configs'.setup {
- -- A list of parser names, or "all" (the four listed parsers should always be installed)
-
- ensure_installed = {
- "c",
- "bash",
- "lua",
- "rust",
- },
- --ensure_installed = "all", -- one of "all" or a list of languages
- --ignore_install = { "" }, -- List of parsers to ignore installing
- sync_install = false,
- auto_install = true,
- highlight = {
- enable = false,
- disable = {},
- },
- indent = {
- enable = true,
- disable = {},
- --disable = { "python", "css" }
- },
- autotag = {
- enable = true,
- },
-}
---vim.opt.foldmethod = "expr"
---vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
-
---local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
---parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" }
diff --git a/.config/nvim/lua/plugins/web-devicons.lua b/.config/nvim/lua/plugins/web-devicons.lua
deleted file mode 100644
index 2f68275..0000000
--- a/.config/nvim/lua/plugins/web-devicons.lua
+++ /dev/null
@@ -1,17 +0,0 @@
---local status, icons = pcall(require, "nvim-web-devicons")
---if (not status) then return end
---icons.setup {
-require'nvim-web-devicons'.setup {
- override = {
- zsh = {
- icon = "",
- color = "#428850",
- cterm_color = "65",
- name = "Zsh"
- };
- color_icons = true;
- },
- -- globally enable default icons (default to false)
- -- will get overriden by `get_icons` option
- --default = true
-}
diff --git a/.config/nvim/lua/plugins/zen-mode.lua b/.config/nvim/lua/plugins/zen-mode.lua
deleted file mode 100644
index 7e52854..0000000
--- a/.config/nvim/lua/plugins/zen-mode.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-local status, zenMode = pcall(require, "zen-mode")
-if (not status) then return end
-
-zenMode.setup {
-}
-
-vim.keymap.set('n', '<C-w>o', '<cmd>ZenMode<cr>', { silent = true })
diff --git a/.config/nvim/lua/user/keys.lua b/.config/nvim/lua/user/keys.lua
deleted file mode 100644
index 8feee85..0000000
--- a/.config/nvim/lua/user/keys.lua
+++ /dev/null
@@ -1,380 +0,0 @@
---[[ key.lua ]]
-
-
-------------- Shorten Function Names --------------
-local keymap = vim.keymap
-local map = function(mode, l, r, opts)
- opts = opts or {}
- opts.silent = true
- opts.noremap = true
- keymap.set(mode, l, r, opts)
-end
-local term_opts = { noremap = true, silent = false }
-
-
---------------- Standard Operations ---------------
--- Semi-colon as leader key
-vim.g.mapleader = ";"
-
--- Jump to next match on line using `.` instead of `;` NOTE: commented out in favour of "ggandor/flit.nvim"
---map("n", ".", ";")
-
--- Repeat last command using `<Space>` instead of `.` NOTE: commented out in favour of "ggandor/flit.nvim"
---map("n", "<Space>", ".")
-
--- "jj" to exit insert-mode
-map("i", "jj", "<esc>")
-
--- Reload nvim config
-map("n", "<leader><CR>", "<cmd>luafile ~/.config/nvim/init.lua<CR> | :echom ('Nvim config loading...') | :sl! | echo ('')<CR>")
-
-
---------------- Extended Operations ---------------
--- Combine buffers list with buffer name
-map("n", "<Leader>b", ":buffers<CR>:buffer<Space>")
-
--- Buffer confirmation
-map("n", "<leader>y", ":BufferPick<CR>")
-
--- Map buffer next, prev and delete to <leader>+(n/p/d) respectively
-map("n", "<leader>n", ":bn<cr>")
-map("n", "<leader>p", ":bp<cr>")
-map("n", "<leader>d", ":bd<cr>")
-
--- List marks
-map("n", "<Leader>m", ":marks<CR>")
-
--- Toggle set number
-map("n", "<leader>$", ":NumbersToggle<CR>")
-map("n", "<leader>%", ":NumbersOnOff<CR>")
-
--- Easier split navigations, just ctrl-j instead of ctrl-w then j
---map("n", "<C-J>", "<C-W><C-J>")
---map("n", "<C-K>", "<C-W><C-K>")
---map("n", "<C-L>", "<C-W><C-L>")
---map("n", "<C-H>", "<C-W><C-H>")
-
--- Split window
-map("n", "<leader>h", ":split<CR>")
-map("n", "<leader>v", ":vsplit<CR>")
-map("n", "<leader>c", "<C-w>c")
-
--- Resize Panes
-map("n", "<Leader>+", ":resize +5<CR>")
-map("n", "<Leader>-", ":resize -5<CR>")
-map("n", "<Leader><", ":vertical resize +5<CR>")
-map("n", "<Leader>>", ":vertical resize -5<CR>")
-map("n", "<Leader>=", "<C-w>=")
-
--- Map Alt+(h/j/k/l) in insert mode to move directional
-map("i", "<A-h>", "<left>")
-map("i", "<A-j>", "<down>")
-map("i", "<A-k>", "<up>")
-map("i", "<A-l>", "<right>")
-
--- Map Alt+(h/j/k/l) in command mode to move directional
-map("c", "<A-h>", "<left>")
-map("c", "<A-j>", "<down>")
-map("c", "<A-k>", "<up>")
-map("c", "<A-l>", "<right>")
-
--- Map Alt+(h/j/k/l) in selection mode to move directional
-map("s", "<A-h>", "<left>")
-map("s", "<A-j>", "<down>")
-map("s", "<A-k>", "<up>")
-map("s", "<A-l>", "<right>")
-
--- Create tab, edit and move between them
-map("n", "<C-T>n", ":tabnew<CR>")
-map("n", "<C-T>e", ":tabedit")
-map("n", "<leader>[", ":tabprev<CR>")
-map("n", "<leader>]", ":tabnext<CR>")
-
--- "Zoom" a split window into a tab and/or close it
---map("n", "<Leader>,", ":tabnew %<CR>")
---map("n", "<Leader>.", ":tabclose<CR>")
-
--- Vim TABs
-map("n", "<leader>1", "1gt<CR>")
-map("n", "<leader>2", "2gt<CR>")
-map("n", "<leader>3", "3gt<CR>")
-map("n", "<leader>4", "4gt<CR>")
-map("n", "<leader>5", "5gt<CR>")
-map("n", "<leader>6", "6gt<CR>")
-map("n", "<leader>7", "7gt<CR>")
-map("n", "<leader>8", "8gt<CR>")
-map("n", "<leader>9", "9gt<CR>")
-map("n", "<leader>0", "10gt<CR>")
-
--- Move to the next and previous item in the quickfixlist
---map("n", "]c", "<Cmd>cnext<CR>")
---map("n", "[c", "<Cmd>cprevious<CR>")
-
--- Hitting ESC when inside a terminal to get into normal mode
---map("t", "<Esc>", [[<C-\><C-N>]])
-
--- Move block (indentation) easily
-map("n", "<", "<<", term_opts)
-map("n", ">", ">>", term_opts)
-map("x", "<", "<gv", term_opts)
-map("x", ">", ">gv", term_opts)
-
--- Set alt+(j/k) to switch lines of texts or simply move them
-map("n", "<A-k>", ':let save_a=@a<Cr><Up>"add"ap<Up>:let @a=save_a<Cr>')
-map("n", "<A-j>", ':let save_a=@a<Cr>"add"ap:let @a=save_a<Cr>')
-
--- Search and replace
-map("v", "<leader>sr", 'y:%s/<C-r><C-r>"//g<Left><Left>c')
-
--- Map delete to Ctrl+l
-map("i", "<C-l>", "<Del>")
-
--- Clear screen
-map("n", "<leader><C-l>", "<Cmd>!clear<CR>")
-
--- Change file to an executable
-map("n", "<leader>x", ":!chmod +x %<CR>")
-
--- Paste without replace clipboard
-map("v", "p", '"_dP')
-
--- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in
--- visual mode to select text to swap with
-map("v", "<C-X>", "<Esc>`.``gvP``P")
-
--- Clear messages or just refresh/redraw the screen
-map("n", "<leader>u", ":echo '' | redraw<CR>")
-
--- Change Working Directory to current project
-map("n", "<leader>cd", ":cd %:p:h<CR>:pwd<CR>")
-
--- Open the current file in the default program (on Mac this should just be just `open`)
-map('n', '<leader>o', ':!xdg-open %<cr><cr>')
-
--- Unsets the 'last search pattern' register by hitting return
---map("n", "<CR>", "!silent :noh<CR><CR>")
-
--- Toggle completion
-map("n", "<Leader>tc", ":lua require('user.utils').toggle_completion()<CR>")
-
--- Disable default completion.
-map('i', '<C-n>', '<Nop>')
-map('i', '<C-p>', '<Nop>')
-
--- Set line wrap
-map("n", "<M-z>", function()
- local wrap_status = vim.api.nvim_exec("set wrap ?", true)
-
- if wrap_status == "nowrap" then
- vim.api.nvim_command("set wrap linebreak")
- print("Wrap enabled")
- else
- vim.api.nvim_command("set wrap nowrap")
- print("Wrap disabled")
- end
-end, { silent = true })
-
--- Toggle between folds
---utils.map("n", "<F2>", "&foldlevel ? 'zM' : 'zR'", { expr = true })
-
--- Use space to toggle fold
---utils.map("n", "<Space>", "za")
-
--- Make a copy of current file
-vim.cmd([[
- map <leader>s :up \| saveas! %:p:r-<C-R>=strftime("%y.%m.%d-%H:%M")<CR>-bak.<C-R>=expand("%:e")<CR> \| 3sleep \| e #<CR>
-]])
-
--- Toggle transparency
-vim.cmd([[
- let t:is_transparent = 0
- function! Toggle_transparent_background()
- if t:is_transparent == 0
- hi Normal guibg=#111111 ctermbg=black
- let t:is_transparent = 1
- else
- hi Normal guibg=NONE ctermbg=NONE
- let t:is_transparent = 0
- endif
- endfunction
- nnoremap <leader>tb :call Toggle_transparent_background()<CR>
-]])
---keymap('n', '<leader>tb', ':Toggle_transparent_background<CR>')
-
--- Toggle zoom
-vim.cmd([[
- function! s:ZoomToggle() abort
- if exists('t:zoomed') && t:zoomed
- execute t:zoom_winrestcmd
- let t:zoomed = 0
- else
- let t:zoom_winrestcmd = winrestcmd()
- resize
- vertical resize
- let t:zoomed = 1
- endif
- endfunction
- command! ZoomToggle call s:ZoomToggle()
- ]])
-map("n", "<leader>z", ":ZoomToggle<CR>")
-
--- Toggle statusline
-vim.cmd([[
-let s:hidden_all = 0
-function! ToggleHiddenAll()
- if s:hidden_all == 0
- let s:hidden_all = 1
- set noshowmode
- set noruler
- set laststatus=0
- set noshowcmd
- else
- let s:hidden_all = 0
- set showmode
- set ruler
- set laststatus=2
- set showcmd
- endif
-endfunction
-nnoremap <S-h> :call ToggleHiddenAll()<CR>
-]])
-
--- Open last closed buffer
-vim.cmd([[
- function! OpenLastClosed()
- let last_buf = bufname('#')
- if empty(last_buf)
- echo "No recently closed buffer found"
- return
- endif
- let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ")
- if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n')
- return
- endif
- if result ==# 't'
- execute 'tabnew'
- elseif result ==# 'v'
- execute "vsplit"
- elseif result ==# 's'
- execute "split"
- endif
- execute 'b ' . last_buf
- endfunction
- ]])
-map("n", "<C-t>", ":call OpenLastClosed() <CR>")
-
-
----------------- Plugin Operations ----------------
--- Packer
-map("n", "<leader>Pc", "<cmd>PackerCompile<cr>")
-map("n", "<leader>Pi", "<cmd>PackerInstall<cr>")
-map("n", "<leader>Ps", "<cmd>PackerSync<cr>")
-map("n", "<leader>PS", "<cmd>PackerStatus<cr>")
-map("n", "<leader>Pu", "<cmd>PackerUpdate<cr>")
-
--- Tmux navigation (aserowy/tmux.nvim)
-map('n', '<C-h>', '<CMD>NavigatorLeft<CR>')
-map('n', '<C-l>', '<CMD>NavigatorRight<CR>')
-map('n', '<C-k>', '<CMD>NavigatorUp<CR>')
-map('n', '<C-j>', '<CMD>NavigatorDown<CR>')
-
--- ToggleTerm
---map("n", "<leader>tt", "<cmd>ToggleTerm<cr>")
-
--- LazyGit
-map("n", "<leader>gg", ":LazyGit<CR>")
-
--- Fugitive git bindings
-map("n", "<leader>ga", ":Git add %:p<CR><CR>")
---map("n", "<leader>gs", ":Gstatus<CR>")
-map("n", "<leader>gc", ":Gcommit -v -q<CR>")
-map("n", "<leader>gt", ":Gcommit -v -q %:p<CR>")
---map("n", "<leader>gd", ":Gdiff<CR>")
-map("n", "<leader>ge", ":Gedit<CR>")
---map("n", "<leader>gr", ":Gread<Cj>")
-map("n", "<leader>gw", ":Gwrite<CR><CR>")
-map("n", "<leader>gl", ":silent! Glog<CR>:bot copen<CR>")
---map("n", "<leader>gp", ":Ggrep<Space>")
---map("n", "<Leader>gp", ":Git push<CR>")
---map("n", "<Leader>gb", ":Gblame<CR>")
-map("n", "<leader>gm", ":Gmove<Space>")
---map("n", "<leader>gb", ":Git branch<Space>")
---map("n", "<leader>go", ":Git checkout<Space>")
---map("n", "<leader>gps", ":Dispatch! git push<CR>")
---map("n", "<leader>gpl", ":Dispatch! git pull<CR>")
--- map["<C-\\>"] = { "<cmd>ToggleTerm<cr>", desc = "Toggle terminal" }
--- map["<leader>gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" }
--- map["<leader>tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" }
--- map["<leader>tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" }
--- map["<leader>tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" }
--- map["<leader>tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" }
--- map["<leader>tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" }
--- map["<leader>tf"] = { "<cmd>ToggleTerm direction=float<cr>", desc = "ToggleTerm float" }
--- map["<leader>th"] = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", desc = "ToggleTerm horizontal split" }
--- map["<leader>tv"] = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", desc = "ToggleTerm vertical split" }
---end
-
--- Telescope
-map("n", "<leader>ff", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) -- find all files
-map("n", "<leader>fF", "<cmd>lua require('telescope.builtin').find_files()<cr>") -- find files with hidden option
-map("n", "<leader>fb", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>")
-map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands()<cr>")
-map("n", "<leader>fg", "<cmd>lua require('telescope.builtin').live_grep()<cr>")
-map("n", "<leader>fp", "<cmd>Telescope pickers<cr>")
-map("n", "<leader>fr", "<cmd>lua require('telescope.builtin').registers({})<CR>") -- registers picker
-map("n", "<leader>cf", "<cmd>Telescope changed_files<cr>")
-map("n", "<leader>fd", "<cmd>lua require('telescope.builtin').diagnostics()<cr>")
-map("n", "<leader>fh", "<cmd>lua require('telescope.builtin').help_tags()<cr>")
-map("n", "<leader>fk", "<cmd>lua require('telescope.builtin').keymaps()<cr>")
-map("n", "<leader>fn", [[<Cmd>lua require'plugins.telescope'.find_notes()<CR>]]) -- find notes
-map("n", "<leader>fgn", [[<Cmd>lua require'plugins.telescope'.grep_notes()<CR>]]) -- search notes
-map("n", "<leader>f.", [[<Cmd>lua require'plugins.telescope'.find_configs()<CR>]]) -- find configs
-map("n", "<leader>fm", "<cmd>lua require('telescope').extensions.media_files.media_files({})<cr>") -- find media files
-
--- FZF
-map("n", "<leader>fz", "<cmd>lua require('fzf-lua').files()<CR>")
-
--- Nvim-tree
-map("n", "<leader>f", ":NvimTreeToggle<CR>", {})
-
--- Markdown-preview
-map("n", "<leader>md", "<Plug>MarkdownPreviewToggle")
-
--- Autopairs
-Toggle_autopairs = function()
- local ok, autopairs = pcall(require, "nvim-autopairs")
- if ok then
- if autopairs.state.disabled then
- autopairs.enable()
- print("autopairs on")
- else
- autopairs.disable()
- print("autopairs off")
- end
- else
- print("autopairs not available")
- end
-end
-map("n", "<leader>ww", ":lua Toggle_autopairs()<CR>", term_opts)
-
--- Tabularize
---vim.cmd([[
--- vnoremap <expr> <Leader>mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "<CR>"
--- nnoremap <expr> <Leader>mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "<CR>"
--- "nnoremap <leader>i mc40A <esc>080lDgelD`cP
--- "vnoremap <leader>ii mc0f-20i<Space><Esc>`cdt=j
---]])
-
--- EasyAlign
---vim.cmd([[
--- " Start interactive EasyAlign in visual mode (e.g. vipga)
--- xmap ga <Plug>(EasyAlign)
--- " Start interactive EasyAlign for a motion/text object (e.g. gaip)
--- nmap ga <Plug>(EasyAlign)
--- if !exists('g:easy_align_delimiters')
--- let g:easy_align_delimiters = {}
--- endif
--- let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] }
--- nnoremap <F1> 21A <Esc>d21\|
--- imap <F1> <Esc><F1>a
---]])
diff --git a/.config/nvim/lua/user/mods.lua b/.config/nvim/lua/user/mods.lua
deleted file mode 100644
index ec77173..0000000
--- a/.config/nvim/lua/user/mods.lua
+++ /dev/null
@@ -1,138 +0,0 @@
---vim.cmd([[
--- function RandomColorScheme()
--- let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n")
--- exe 'so ' . mycolors[localtime() % len(mycolors)]
--- unlet mycolors
--- endfunction
---
--- call RandomColorScheme()
---
--- :command NewColor call RandomColorScheme()
---]])
-
---vim.cmd([[
--- function RandomColorSchemeMyPicks()
--- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"]
--- let mypick = mypicks[localtime() % len(mypicks)]
--- echom mypick
--- execute 'colo' mypick
--- endfunction
---
--- command NewColor call RandomColorSchemeMyPicks()
---
--- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors)
--- if (s:use_gui)
--- call RandomColorSchemeMyPicks()
--- endif
---]])
-
-vim.cmd([[
- let g:fzf_history_dir = '~/.local/share/fzf-history'
- map <leader>z :FZF<CR>
- map <leader>a :Files<CR>
- map <leader>l :Lines<CR>
- map <leader>L :BLines<CR>
- map <leader>B :Buffers<CR>
- map <leader>h :History:<CR>
- nnoremap <leader>g :Rg<CR>
- "nnoremap <leader>t :Tags<CR>
- nnoremap <leader>m :Marks<CR>
- " This is the default extra key bindings
- let g:fzf_action = {
- \ 'ctrl-t': 'tab split',
- \ 'ctrl-x': 'split',
- \ 'ctrl-y': 'vsplit' }
- let g:fzf_tags_command = 'ctags -R'
- " Border color
- let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } }
- let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline'
- let $FZF_DEFAULT_COMMAND="rg --files --hidden"
- " Customize fzf colors to match your color scheme
- let g:fzf_colors =
- \ { 'fg': ['fg', 'Normal'],
- \ 'bg': ['bg', 'Normal'],
- \ 'hl': ['fg', 'Comment'],
- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
- \ 'hl+': ['fg', 'Statement'],
- \ 'info': ['fg', 'PreProc'],
- \ 'border': ['fg', 'Ignore'],
- \ 'prompt': ['fg', 'Conditional'],
- \ 'pointer': ['fg', 'Exception'],
- \ 'marker': ['fg', 'Keyword'],
- \ 'spinner': ['fg', 'Label'],
- \ 'header': ['fg', 'Comment'] }
- " Get Files
- command! -bang -nargs=? -complete=dir Files
- \ call fzf#vim#files(<q-args>, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), <bang>0)
- " Get text in files with Rg
- command! -bang -nargs=* Rg
- \ call fzf#vim#grep(
- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1,
- \ fzf#vim#with_preview(), <bang>0)
- " Ripgrep advanced
- function! RipgrepFzf(query, fullscreen)
- let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true'
- let initial_command = printf(command_fmt, shellescape(a:query))
- let reload_command = printf(command_fmt, '{q}')
- let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
- call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen)
- endfunction
- command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)
- " Git grep
- command! -bang -nargs=* GGrep
- \ call fzf#vim#grep(
- \ 'git grep --line-number '.shellescape(<q-args>), 0,
- \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0)
- command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, <bang>0))
-]])
-
-vim.cmd([[
- " Enable mouse scrollback
- set mouse=a
- tnoremap <Esc> <C-\><C-n>
- tnoremap <c-b> <c-\><c-n>
- function! ClearTerminal()
- set scrollback=1
- let &g:scrollback=1
- echo &scrollback
- call feedkeys("\i")
- call feedkeys("clear\<CR>")
- call feedkeys("\<C-\>\<C-n>")
- call feedkeys("\i")
- sleep 100m
- let &scrollback=s:scroll_value
- endfunction
-]])
-
-vim.cmd([[
- " :Rename {newname}
- function! RenameFile()
- let old_name = expand('%')
- let new_name = input('New file name: ', expand('%'), 'file')
- if new_name != '' && new_name != old_name
- exec ':saveas ' . new_name
- exec ':silent !rm ' . old_name
- redraw!
- endif
- endfunction
- map <leader>re :call RenameFile()<cr>
-]])
-
---vim.cmd([[
--- " Markdown Settings
--- autocmd BufNewFile,BufReadPost *.md set filetype=markdown
--- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug']
--- let g:markdown_minlines = 100
--- let g:instant_markdown_autostart = 0
---]])
---
---vim.cmd([[
--- " On The Fly Table mode
--- function! s:isAtStartOfLine(mapping)
--- let text_before_cursor = getline('.')[0 : col('.')-1]
--- let mapping_pattern = '\V' . escape(a:mapping, '\')
--- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\')
--- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$')
--- endfunction
---]])
diff --git a/.config/nvim/lua/user/opts.lua b/.config/nvim/lua/user/opts.lua
deleted file mode 100644
index 90fe0f2..0000000
--- a/.config/nvim/lua/user/opts.lua
+++ /dev/null
@@ -1,250 +0,0 @@
---[[ opts.lua ]]
--- " Load indent files, to automatically do language-dependent indenting.
---vim.cmd([[
--- "filetype plugin indent on
---]])
-
--- Let clipboard register be +
-vim.cmd([[
- let g:clipbrdDefaultReg = '+'
-]])
-
---vim.cmd([[
--- "autocmd BufEnter * :syntax sync fromstart
--- "syntax enable
--- "set nocompatible
--- "autocmd FileType lua set comments=s1:---,m:--,ex:--
---]])
-
--- Fast macros without lazyredraw
-vim.cmd([[
- set re=0
- nnoremap @ <cmd>execute "noautocmd norm! " . v:count1 . "@" . getcharstr()<cr>
- xnoremap @ :<C-U>execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr()<cr>
-]])
-
--- Environment
---vim.opt.shell = "zsh" --
-vim.o.updatetime = 250
-vim.o.shell = "/bin/zsh"
-vim.scriptencoding = "utf-8" --
-vim.opt.encoding = "utf-8" --
-vim.opt.fileencoding = "utf-8" --
-vim.g.python3_host_prog = "/usr/bin/python3" --
-vim.g.loaded_python3_provider = 1 --
-vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file
-vim.o.autochdir = true
---vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" --
-
--- Colors
-vim.opt.termguicolors = true
-
--- Behaviour
-vim.opt.clipboard:append({ "unnamedplus" }) -- Install xclip or this will slowdown startup
-vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect.
-vim.opt.hidden = true -- Switch between buffers without having to save first.
-vim.opt.splitbelow = true -- make split put the new buffer below the current buffer
-vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer
-vim.opt.scrolloff = 8 --
-vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar
-vim.opt.autoread = true -- reload files if changed externally
-vim.opt.display = "lastline" -- Show as much as possible of the last line.
-vim.opt.inccommand = "split" --
-vim.opt.ttyfast = true -- Faster redrawing.
---vim.opt.lazyredraw = true -- Only redraw when necessary
-vim.opt.keywordprg = ":help" -- :help options
-vim.opt.ruler = true --
-vim.opt.errorbells = false --
-vim.opt.list = true -- Show non-printable characters.
-vim.opt.showmatch = true --
-vim.opt.matchtime = 3 --
-vim.opt.showbreak = "↪ " --
-vim.opt.linebreak = true --
-vim.opt.exrc = true --
---vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory
-vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking
---vim.opt.notimeout = true -- Timeout on keycodes and not mappings
-vim.opt.ttimeout = true -- Makes terminal vim work sanely
-vim.opt.ttimeoutlen = 10 --
---vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds)
---vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below
-
--- Indent/tab
-vim.opt.breakindent = true --
-vim.opt.autoindent = true -- Indent according to previous line.
-vim.opt.copyindent = true -- Copy indent from the previous line
-vim.opt.smarttab = false --
-vim.opt.tabstop = 2 --
-vim.opt.expandtab = true -- Indent according to previous line.
---vim.opt.expandtab = true -- Use spaces instead of tabs.
-vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces.
-vim.opt.shiftwidth = 2 -- >> indents by 2 spaces.
-vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'.
-vim.opt.smartindent = true -- smart indent
-
--- Column/statusline/Cl
-vim.opt.number = true --
-vim.opt.title = true --
---vim.opt.colorcolumn = "+1" --
-vim.opt.signcolumn = "yes:1" -- always show the sign column
---vim.opt.signcolumn = "yes:" .. vim.o.numberwidth
---vim.opt.signcolumn = "number"
---vim.opt.signcolumn = "no" --
-vim.opt.laststatus = 3 -- " Always show statusline.
-vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode
-vim.opt.showcmd = true -- Show the command in the status bar
-vim.opt.cmdheight = 1 --
---vim.opt.cmdheight = 0 --
-vim.opt.report = 0 -- Always report changed lines.
---local autocmd = vim.api.nvim_create_autocmd
---autocmd("bufenter", {
--- pattern = "*",
--- callback = function()
--- if vim.bo.ft ~= "terminal" then
--- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()"
--- else
--- vim.opt.statusline = "%#normal# "
--- end
--- end,
---})
----- With vertical splits, the statusline would still show up at the
----- bottom of the split. A quick fix is to just set the statusline
----- to empty whitespace (it can't be an empty string because then
----- it'll get replaced by the default stline).
---vim.opt.stl = " "
-
--- Backup/undo
-vim.opt.backup = false --
---vim.opt.noswapfile = true --
---vim.opt.undofile = true --
-vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } --
-
--- Format
---vim.opt.textwidth = 80 --
-vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl
-vim.cmd([[let &t_Ce = "\e[4:0m"]]) --
-vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder
-vim.cmd("set whichwrap+=<,>,[,],h,l") --
-vim.cmd([[set iskeyword+=-]]) --
---vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work
-vim.opt.formatoptions = vim.opt.formatoptions
- - "t" -- wrap with text width
- + "c" -- wrap comments
- + "r" -- insert comment after enter
- - "o" -- insert comment after o/O
- - "q" -- allow formatting of comments with gq
- - "a" -- format paragraphs
- + "n" -- recognized numbered lists
- - "2" -- use indent of second line for paragraph
- + "l" -- long lines are not broken
- + "j" -- remove comment when joining lines
-vim.opt.wrapscan = true -- " Searches wrap around end-of-file.
---vim.wo.number = true --
---vim.opt.wrap = false -- No Wrap lines
---vim.opt.foldmethod = 'manual' --
---vim.opt.foldmethod = "expr" --
-vim.opt.foldmethod = "manual"
-vim.opt.foldlevel = 3
-vim.opt.confirm = true
-vim.opt.shortmess:append("sI")
---vim.opt.shortmess = "a"
---vim.opt.shortmess = "sI"
---vim.o.shortmess = vim.o.shortmess:gsub('s', '')
-vim.opt.fillchars = {
- horiz = "━",
- horizup = "┻",
- horizdown = "┳",
- vert = "┃",
- vertleft = "┨",
- vertright = "┣",
- verthoriz = "╋",
- fold = "⠀",
- eob = " ",
- diff = "┃",
- msgsep = "‾",
- foldopen = "▾",
- foldsep = "│",
- foldclose = "▸",
-}
-vim.opt.listchars = { tab = "▸ ", trail = "·" } --
---vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer
-vim.opt.modeline = true --
-vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis)
---vim.opt.modelineexpr = true
---vim.opt.nofoldenable = true -- turn folding off
---vim.opt.foldenable = false -- turn folding off
-vim.o.showtabline = 2
-
--- Highlights
-vim.opt.incsearch = true -- Highlight while searching with / or ?.
-vim.opt.hlsearch = true -- Keep matches highlighted.
-vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search
-vim.opt.smartcase = true -- smart case
-vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns.
-vim.opt.winblend = 30
---vim.opt.winblend = 5
-vim.opt.wildoptions = "pum" --
---vim.opt.pumblend = 5 --
-vim.opt.pumblend = 12 --
---vim.opt.pumblend=15
-vim.opt.pumheight = 10 -- pop up menu height
-
--- Better Completion
-vim.opt.complete = { ".", "w", "b", "u", "t" } --
---vim.opt.completeopt = { "longest,menuone,preview" } --
-vim.opt.completeopt = {'menu', 'menuone', 'noselect'}
---vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp
---vim.opt.completeopt = { "menu", "menuone", "noselect" } --
-
--- Wildmenu completion --
-vim.opt.wildmenu = true --
-vim.opt.wildmode = { "list:longest" } --
-vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control
-vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files
-vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images
-vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files
-vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists
-vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files
-vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit
-vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code
-vim.opt.wildignore:append({ "migrations" }) -- Django migrations
-vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code
-vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files
-vim.opt.wildignore:append({ "*/node_modules/*" }) --
-
--- Shada
-vim.opt.shada = "!,'1000,f1,<1000,s100,:1000,/1000,h"
-
--- Sessions
-vim.opt.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal"
-
--- Cursorline
-vim.cmd([[ " Only show cursorline in the current window and in normal mode
- augroup cline
- au!
- au WinLeave,InsertEnter * set nocursorline
- au WinEnter,InsertLeave * set cursorline
- augroup END
-]])
-vim.opt.cursorline = true --
-vim.opt.guicursor = "i:ver100,r:hor100" --
-
--- Trailing whitespace
-vim.cmd([[ " Only show in insert mode
- augroup trailing
- au!
- au InsertEnter * :set listchars-=trail:⌴
- au InsertLeave * :set listchars+=trail:⌴
- augroup END
-]])
-
--- Line Return
---vim.cmd([[ " Return to the same line when we reopen a file
--- augroup line_return
--- au!
--- au BufReadPost *
--- \ if line("'\"") > 0 && line("'\"") <= line("$") |
--- \ execute 'normal! g`"zvzz' |
--- \ endif
--- augroup END
---]])
diff --git a/.config/nvim/lua/user/pack.lua b/.config/nvim/lua/user/pack.lua
deleted file mode 100644
index 1a37d8b..0000000
--- a/.config/nvim/lua/user/pack.lua
+++ /dev/null
@@ -1,421 +0,0 @@
-local fn = vim.fn
-
--- Automatically install packer
-local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
-if fn.empty(fn.glob(install_path)) > 0 then
- PACKER_BOOTSTRAP = fn.system({
- "git",
- "clone",
- "--depth",
- "1",
- "https://github.com/wbthomason/packer.nvim",
- install_path,
- })
- print("Installing packer close and reopen Neovim...")
- vim.cmd([[packadd packer.nvim]])
-end
-
--- Autocommand that reloads neovim whenever you save this file
-vim.cmd([[
- augroup packer_user_config
- autocmd!
- autocmd BufWritePost pack.lua source <afile> | PackerSync
- augroup end
-]])
-
--- Use a protected call so we don't error out on first use
-local status_ok, packer = pcall(require, "packer")
-if not status_ok then
- return
-end
-
--- Have packer use a popup window and set a maximum number of jobs
-packer.init({
- auto_reload_compiled = true,
- max_jobs = 90,
- display = {
- open_fn = function()
- return require("packer.util").float({ border = "rounded" })
- end,
- },
-})
-
--- Install your plugins here
-return packer.startup(function(use)
- use("wbthomason/packer.nvim") -- Have packer manage itself
-
- use("lewis6991/impatient.nvim")
- use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins
- --use("jose-elias-alvarez/null-ls.nvim")
-
- -- lsp
- use {
- "williamboman/mason.nvim",
- "williamboman/mason-lspconfig.nvim",
- "neovim/nvim-lspconfig",
- }
- require("mason").setup()
- local mason_lspconfig = require("mason-lspconfig")
- mason_lspconfig.setup({
- ensure_installed = {
- "pylsp",
- "pyright",
- "clangd",
- --"vim-language-server",
- --"bash-language-server",
- --"lua-language-server",
- "sumneko_lua",
- }
- })
- use({ "j-hui/fidget.nvim",
- config = function()
- require("fidget").setup()
- end
- })
- --use({ "folke/trouble.nvim",
- -- config = function()
- -- require("trouble").setup({ position = "right", })
- -- end
- --})
- --use({
- --"folke/trouble.nvim",
- --requires = "kyazdani42/nvim-web-devicons",
- --config = function()
- -- require("trouble").setup({
- -- --postion = "top",
- -- postion = "right",
- -- -- your configuration comes here
- -- -- or leave it empty to use the default settings
- -- -- refer to the configuration section below
- -- })
- --end,
- --})
-
- --use({
- -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim
- -- config = function()
- -- require("lsp_lines").setup()
-
- -- -- disable virtual_text since it's redundant due to lsp_lines.
- -- vim.diagnostic.config({
- -- virtual_text = false,
- -- })
- -- end,
- --})
- use { "simrat39/symbols-outline.nvim",
- config = function()
- require("symbols-outline").setup({
- auto_close = true,
- })
- end
- }
- use "antoinemadec/FixCursorHold.nvim"
- use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } }
- --use("folke/lsp-colors.nvim")
- use "mfussenegger/nvim-lint"
- use "weilbith/nvim-code-action-menu"
- use "simrat39/rust-tools.nvim"
- use { "saecki/crates.nvim",
- requires = { "nvim-lua/plenary.nvim" },
- config = function()
- require("crates").setup()
- end,
- }
- --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't
-
- -- null-ls
- --use({ "jose-elias-alvarez/null-ls.nvim",
- -- config = function()
- -- require("null-ls").setup({
- -- sources = {
- -- require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake
- -- }
- -- })
- -- end
- --})
- use({
- "jose-elias-alvarez/null-ls.nvim",
- config = function()
- require("null-ls").setup()
- end,
- requires = { "nvim-lua/plenary.nvim" },
- })
- use({
- "SmiteshP/nvim-navic",
- requires = "neovim/nvim-lspconfig",
- })
-
- -- nvimlsp plugins
- --use({
- -- "williamboman/mason.nvim",
- -- config = function()
- -- require("mason").setup()
- -- require("mason-lspconfig").setup({
- -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" },
- -- })
- -- end,
- --})
- --use("williamboman/mason.nvim")
- --use("williamboman/mason-lspconfig.nvim")
- --use("neovim/nvim-lspconfig")
- --use("williamboman/nvim-lsp-installer")
- --use("glepnir/lspsaga.nvim")
- --use("nvim-lua/lsp-status.nvim")
- --use({
- -- "glepnir/lspsaga.nvim",
- -- branch = "main",
- -- config = function()
- -- local saga = require("lspsaga")
-
- -- saga.init_lsp_saga({
- -- -- your configuration
- -- })
- -- end,
- --})
- -- use("nvim-lua/popup.nvim")
- --use("SmiteshP/nvim-gps")
- -- autocomplete plugins
- use("hrsh7th/nvim-cmp")
- use("hrsh7th/cmp-nvim-lsp")
- use("hrsh7th/cmp-buffer")
- use("hrsh7th/cmp-path")
- use("hrsh7th/cmp-cmdline")
- use("petertriho/cmp-git")
- use("tamago324/cmp-zsh")
- use("f3fora/cmp-spell")
- use("hrsh7th/cmp-calc")
- use("saadparwaiz1/cmp_luasnip")
- use("hrsh7th/cmp-nvim-lsp-signature-help")
- use("onsails/lspkind-nvim")
-
- -- snippets
- --use("L3MON4D3/LuaSnip") --snippet engine
- use("L3MON4D3/LuaSnip")
- use("rafamadriz/friendly-snippets") -- a bunch of snippets to use
- --use("github/copilot.vim")
- --use({
- --"zbirenbaum/copilot.lua",
- --event = { "VimEnter" },
- --config = function()
- --vim.defer_fn(function()
- --require("plugins.copilot")
- --end, 100)
- --end,
- --})
- --use({
- --"zbirenbaum/copilot-cmp",
- --module = "copilot_cmp",
- --})
-
- -- treesitter plugins
- use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring...
- use("nvim-treesitter/nvim-treesitter-refactor")
- use("nvim-treesitter/nvim-treesitter-context")
- --use({
- -- "danymat/neogen",
- -- config = function()
- -- require("neogen").setup({ snippet_engine = "luasnip" })
- -- end,
- -- requires = "nvim-treesitter/nvim-treesitter",
- --})
- --use({ "junegunn/fzf", run = ":call fzf#install()" })
- use('ibhagwan/fzf-lua')
- -- telescope plugins
- use("nvim-telescope/telescope.nvim")
- use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" })
- use("tami5/sqlite.lua")
- --use("nvim-telescope/telescope-frecency.nvim")
- use("nvim-telescope/telescope-ui-select.nvim")
- use("nvim-telescope/telescope-media-files.nvim")
- use("nvim-telescope/telescope-file-browser.nvim")
- -- search emoji and other symbols
- use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" })
- use("axkirillov/telescope-changed-files")
- --use({
- --"princejoogie/dir-telescope.nvim",
- --requires = {"nvim-telescope/telescope.nvim"},
- --config = function()
- -- require("dir-telescope").setup({
- -- hidden = true,
- -- respect_gitignore = true,
- -- })
- --end,
- --})
- use("airblade/vim-rooter")
- -- statusline plugins
- --use("nvim-lualine/lualine.nvim")
- --use({
- -- "nvim-lualine/lualine.nvim",
- -- requires = { "kyazdani42/nvim-web-devicons", opt = true },
- --})
- --use({
- -- "folke/trouble.nvim",
- -- requires = "kyazdani42/nvim-web-devicons",
- -- config = function()
- -- require("trouble").setup({
- -- -- your configuration comes here
- -- -- or leave it empty to use the default settings
- -- -- refer to the configuration section below
- -- })
- -- end,
- --})
- use("rebelot/heirline.nvim")
- --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" })
- --use("itchyny/lightline.vim")
- -- debug plugins
- --use("puremourning/vimspector")
- use("mfussenegger/nvim-dap")
- use("rcarriga/nvim-dap-ui")
- --use({
- -- "rcarriga/neotest",
- -- requires = {
- -- "nvim-lua/plenary.nvim",
- -- "nvim-treesitter/nvim-treesitter",
- -- "antoinemadec/FixCursorHold.nvim",
- -- "rcarriga/neotest-python",
- -- "rcarriga/neotest-vim-test",
- -- "rcarriga/neotest-plenary",
- -- "vim-test/vim-test",
- -- },
- -- config = function()
- -- require("plugins.neotest")
- -- end,
- --})
- --use("vim-test/vim-test")
- --use({
- -- "rcarriga/vim-ultest",
- -- requires = { "vim-test/vim-test" },
- -- run = ":UpdateRemotePlugins",
- -- config = function()
- -- require("plugins.ultest")
- -- end,
- --})
- -- UI
- use("karb94/neoscroll.nvim")
- use("folke/which-key.nvim")
- use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client
- use("norcalli/nvim-colorizer.lua")
- use("folke/zen-mode.nvim")
- use("romainl/vim-cool")
- --use("p00f/nvim-ts-rainbow")
- --use("goolord/alpha-nvim")
- --use("feline-nvim/feline.nvim")
- --use({ "fgheng/winbar.nvim" })
- --use("vim-airline/vim-airline")
- --use("kdheepak/tabline.nvim")
- -- use({
- -- "kdheepak/tabline.nvim",
- -- config = function()
- -- require("tabline").setup({ enable = false })
- -- end,
- -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" },
- -- notification plugin
- use("rcarriga/nvim-notify")
- --use("lukas-reineke/indent-blankline.nvim")
- use("kyazdani42/nvim-web-devicons")
- -- Colorschemes
- use("gruvbox-community/gruvbox")
- use("srcery-colors/srcery-vim")
- use("tomasr/molokai")
- use("ayu-theme/ayu-vim")
- --use("sjl/badwolf")
- use("joshdick/onedark.vim")
- use("everblush/everblush.nvim")
- use("EdenEast/nightfox.nvim")
- use("bluz71/vim-nightfly-guicolors")
- --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" })
- use("jacoborus/tender.vim")
- use("sainnhe/sonokai")
- use("NTBBloodbath/doom-one.nvim")
-
- -- Utilities
- use("nathom/filetype.nvim")
- --use("christoomey/vim-tmux-navigator")
- use("preservim/vimux")
- use("myusuf3/numbers.vim")
- use("windwp/nvim-autopairs")
- use("lewis6991/gitsigns.nvim")
- use("dinhhuy258/git.nvim") -- For git blame & browse
- use("kdheepak/lazygit.nvim")
- use("kyazdani42/nvim-tree.lua")
- use("numToStr/Comment.nvim")
- use("akinsho/toggleterm.nvim")
- --use("godlygeek/tabular")
- --use("Vonr/align.nvim")
- --use("junegunn/vim-easy-align")
- --use("dstein64/vim-startuptime")
- use("tweekmonster/startuptime.vim")
- -- use("luukvbaal/stabilize.nvim")
- --use("rhysd/clever-f.vim")
- --use("ggandor/lightspeed.nvim") -- use 'cl' and 'cc' instead of 's' and 'S' respectively
- --use("ggandor/leap.nvim")
- use({
- "ggandor/leap.nvim",
- config = function()
- require('leap').add_default_mappings()
- --require("leap").set_default_keymaps()
- --vim.keymap.set('n', '-', '<Plug>(leap-forward)', {})
- --vim.keymap.set('n', '_', '<Plug>(leap-backward)', {})
- end,
- })
- use({ "ggandor/flit.nvim",
- config = function()
- require("flit").setup()
- end,
- })
-
- --use("Shatur/neovim-session-manager")
- --use("rmagatti/auto-session")
- --use("rmagatti/session-lens")
- --use("ahmedkhalf/project.nvim")
- --use("aserowy/tmux.nvim")
- --use({
- -- "aserowy/tmux.nvim",
- -- config = function() return require("tmux").setup() {
- -- copy_sync = {
- -- enable = false,
- -- },
- -- }
- -- end,
- --})
- use({
- 'numToStr/Navigator.nvim',
- config = function()
- require('Navigator').setup()
- end,
- })
- --use("wakatime/vim-wakatime")
- --use("tpope/vim-eunuch")
- -- Handy unix command inside Vim (Rename, Move etc.)
- use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } })
- use("tpope/vim-fugitive")
- --use("tpope/vim-surround")
- --use("tpope/vim-obsession")
- --use("tpope/vim-unimpaired")
- --use("voldikss/vim-floaterm")
- --use("vimpostor/vim-tpipeline")
- --use({
- -- "vimwiki/vimwiki",
- -- config = function()
- -- vim.g.vimwiki_list = {
- -- {
- -- path = "~/",
- -- syntax = "markdown",
- -- ext = ".md",
- -- },
- -- }
- -- vim.g.vimwiki_ext2syntax = {
- -- [".md"] = "markdown",
- -- [".markdown"] = "markdown",
- -- [".mdown"] = "markdown",
- use({
- "iamcco/markdown-preview.nvim",
- run = function() vim.fn["mkdp#util#install"]() end,
- })
-
- -- Automatically set up your configuration after cloning packer.nvim
- -- Put this at the end after all plugins
- if PACKER_BOOTSTRAP then
- require("packer").sync()
- end
-end)
diff --git a/.config/nvim/lua/user/utils.lua b/.config/nvim/lua/user/utils.lua
deleted file mode 100644
index bfb5faa..0000000
--- a/.config/nvim/lua/user/utils.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-local fn = vim.fn
-
-local M = {}
-
-function M.executable(name)
- if fn.executable(name) > 0 then
- return true
- end
-
- return false
-end
-
---- check whether a feature exists in Nvim
---- @feat: string
---- the feature name, like `nvim-0.7` or `unix`.
---- return: bool
-M.has = function(feat)
- if fn.has(feat) == 1 then
- return true
- end
-
- return false
-end
-
---- Create a dir if it does not exist
-function M.may_create_dir(dir)
- local res = fn.isdirectory(dir)
-
- if res == 0 then
- fn.mkdir(dir, "p")
- end
-end
-
-M['unload_lua_namespace'] = function(prefix)
- local prefix_with_dot = prefix .. '.'
- for key, value in pairs(package.loaded) do
- if key == prefix or key:sub(1, #prefix_with_dot) == prefix_with_dot then
- package.loaded[key] = nil
- end
- end
-end
-
--- toggle cmp completion
-vim.g.cmp_toggle_flag = false -- initialize
-local normal_buftype = function()
- return vim.api.nvim_buf_get_option(0, "buftype") ~= "prompt"
-end
-M.toggle_completion = function()
- local ok, cmp = pcall(require, "cmp")
- if ok then
- local next_cmp_toggle_flag = not vim.g.cmp_toggle_flag
- if next_cmp_toggle_flag then
- print("completion on")
- else
- print("completion off")
- end
- cmp.setup({
- enabled = function()
- vim.g.cmp_toggle_flag = next_cmp_toggle_flag
- if next_cmp_toggle_flag then
- return normal_buftype
- else
- return next_cmp_toggle_flag
- end
- end,
- })
- else
- print("completion not available")
- end
-end
-
-function M.get_nvim_version()
- local actual_ver = vim.version()
-
- local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch)
- return nvim_ver_str
-end
-
-function M.add_pack(name)
- local status, error = pcall(vim.cmd, "packadd " .. name)
-
- return status
-end
-
-return M
diff --git a/.config/nvim/snippets/boilerplate.lua b/.config/nvim/snippets/boilerplate.lua
deleted file mode 100644
index 04e973a..0000000
--- a/.config/nvim/snippets/boilerplate.lua
+++ /dev/null
@@ -1,75 +0,0 @@
-local ls = require("luasnip") --{{{
-local s = ls.s
-local i = ls.i
-local t = ls.t
-
-local d = ls.dynamic_node
-local c = ls.choice_node
-local f = ls.function_node
-local sn = ls.snippet_node
-
-local fmt = require("luasnip.extras.fmt").fmt
-local rep = require("luasnip.extras").rep
-
-local snippets, autosnippets = {}, {} --}}}
-
-local group = vim.api.nvim_create_augroup("Lua Snippets", { clear = true })
-local file_pattern = "*.lua"
-
-local function cs(trigger, nodes, opts) --{{{
- local snippet = s(trigger, nodes)
- local target_table = snippets
-
- local pattern = file_pattern
- local keymaps = {}
-
- if opts ~= nil then
- -- check for custom pattern
- if opts.pattern then
- pattern = opts.pattern
- end
-
- -- if opts is a string
- if type(opts) == "string" then
- if opts == "auto" then
- target_table = autosnippets
- else
- table.insert(keymaps, { "i", opts })
- end
- end
-
- -- if opts is a table
- if opts ~= nil and type(opts) == "table" then
- for _, keymap in ipairs(opts) do
- if type(keymap) == "string" then
- table.insert(keymaps, { "i", keymap })
- else
- table.insert(keymaps, keymap)
- end
- end
- end
-
- -- set autocmd for each keymap
- if opts ~= "auto" then
- for _, keymap in ipairs(keymaps) do
- vim.api.nvim_create_autocmd("BufEnter", {
- pattern = pattern,
- group = group,
- callback = function()
- vim.keymap.set(keymap[1], keymap[2], function()
- ls.snip_expand(snippet)
- end, { noremap = true, silent = true, buffer = true })
- end,
- })
- end
- end
- end
-
- table.insert(target_table, snippet) -- insert snippet into appropriate table
-end --}}}
-
--- Start Refactoring --
-
--- End Refactoring --
-
-return snippets, autosnippets
diff --git a/.config/nvim/snippets/lua.lua b/.config/nvim/snippets/lua.lua
deleted file mode 100644
index 523d2f4..0000000
--- a/.config/nvim/snippets/lua.lua
+++ /dev/null
@@ -1,264 +0,0 @@
-
-local ls = require("luasnip") --{{{
-local s = ls.s --> snippet
-local i = ls.i --> insert node
-local t = ls.t --> text node
-
-local d = ls.dynamic_node
-local c = ls.choice_node --> takes in a pos as first arg and a table of nodes
-local f = ls.function_node
-local sn = ls.snippet_node
-
-local fmt = require("luasnip.extras.fmt").fmt
-local rep = require("luasnip.extras").rep
-
-local snippets, autosnippets = {}, {} --}}}
-
-local group = vim.api.nvim_create_augroup("Lua Snippets", { clear = true })
-local file_pattern = "*.lua"
-
-local function cs(trigger, nodes, opts) --{{{
- local snippet = s(trigger, nodes)
- local target_table = snippets
-
- local pattern = file_pattern
- local keymaps = {}
-
- if opts ~= nil then
- -- check for custom pattern
- if opts.pattern then
- pattern = opts.pattern
- end
-
- -- if opts is a string
- if type(opts) == "string" then
- if opts == "auto" then
- target_table = autosnippets
- else
- table.insert(keymaps, { "i", opts })
- end
- end
-
- -- if opts is a table
- if opts ~= nil and type(opts) == "table" then
- for _, keymap in ipairs(opts) do
- if type(keymap) == "string" then
- table.insert(keymaps, { "i", keymap })
- else
- table.insert(keymaps, keymap)
- end
- end
- end
-
- -- set autocmd for each keymap
- if opts ~= "auto" then
- for _, keymap in ipairs(keymaps) do
- vim.api.nvim_create_autocmd("BufEnter", {
- pattern = pattern,
- group = group,
- callback = function()
- vim.keymap.set(keymap[1], keymap[2], function()
- ls.snip_expand(snippet)
- end, { noremap = true, silent = true, buffer = true })
- end,
- })
- end
- end
- end
-
- table.insert(target_table, snippet) -- insert snippet into appropriate table
-end --}}}
-
--- Start Refactoring --
-
-cs("CMD", { -- [CMD] multiline vim.cmd{{{
- t({ "vim.cmd[[", " " }),
- i(1, ""),
- t({ "", "]]" }),
-}) --}}}
-cs("cmd", fmt("vim.cmd[[{}]]", { i(1, "") })) -- single line vim.cmd
-cs({ -- github import for packer{{{
- trig = "https://github%.com/([%w-%._]+)/([%w-%._]+)!",
- regTrig = true,
- hidden = true,
-}, {
- t([[use "]]),
- f(function(_, snip)
- return snip.captures[1]
- end),
- t("/"),
- f(function(_, snip)
- return snip.captures[2]
- end),
- t({ [["]], "" }),
- i(1, ""),
-}, "auto") --}}}
-
-cs( -- {regexSnippet} LuaSnippet{{{
- "regexSnippet",
- fmt(
- [=[
-cs( -- {}
-{{ trig = "{}", regTrig = true, hidden = true }}, fmt([[
-{}
-]], {{
- {}
-}}))
- ]=],
- {
- i(1, "Description"),
- i(2, ""),
- i(3, ""),
- i(4, ""),
- }
- ),
- { pattern = "*/snippets/*.lua", "<C-d>" }
-) --}}}
-cs( -- [luaSnippet] LuaSnippet{{{
- "luaSnippet",
- fmt(
- [=[
-cs("{}", fmt( -- {}
-[[
-{}
-]], {{
- {}
- }}){})
- ]=],
- {
- i(1, ""),
- i(2, "Description"),
- i(3, ""),
- i(4, ""),
- c(5, {
- t(""),
- fmt([[, "{}"]], { i(1, "keymap") }),
- fmt([[, {{ pattern = "{}", {} }}]], { i(1, "*/snippets/*.lua"), i(2, "keymap") }),
- }),
- }
- ),
- { pattern = "*/snippets/*.lua", "jcs" }
-) --}}}
-
-cs( -- choice_node_snippet luaSnip choice node{{{
- "choice_node_snippet",
- fmt(
- [[
-c({}, {{ {} }}),
-]],
- {
- i(1, ""),
- i(2, ""),
- }
- ),
- { pattern = "*/snippets/*.lua", "jcn" }
-) --}}}
-
-cs( -- [function] Lua function snippet{{{
- "function",
- fmt(
- [[
-function {}({})
- {}
-end
-]],
- {
- i(1, ""),
- i(2, ""),
- i(3, ""),
- }
- ),
- "jff"
-) --}}}
-cs( -- [local_function] Lua function snippet{{{
- "local_function",
- fmt(
- [[
-local function {}({})
- {}
-end
-]],
- {
- i(1, ""),
- i(2, ""),
- i(3, ""),
- }
- ),
- "jlf"
-) --}}}
-cs( -- [local] Lua local variable snippet{{{
- "local",
- fmt(
- [[
-local {} = {}
- ]],
- { i(1, ""), i(2, "") }
- ),
- "jk"
-) --}}}
--- Tutorial Snippets go here --
-local myFirstSnippet = s("myFirstSnippet", {
- t("Hi! This is my first snippet in Luasnip "),
- i(1, "placeholder"),
- t({"", "this is another text node", ""}),
- i(2, "put here"),
-})
-table.insert(snippets, myFirstSnippet)
-
-
-
-local mySecondSnippet = s(
- "mySecondSnippet",
- fmt(
- [[
- local {} = function({})
- {} {{ im in a curly braces }}
- end {}
- ]],
- {
- i(1, "myVar"),
- c(2, { t(""), i(1, "myArg") }),
- i(3, "-- TODO: something"),
- i(4, "-- nice")
- }
- )
-)
-table.insert(snippets, mySecondSnippet)
-
-local myFirstAutoSnippet = s("automatic", { t("This was auto triggered") })
-table.insert(autosnippets, myFirstAutoSnippet)
-
-local mySecondAutoSnippet = s({ trig = "digit(%d)(%d)", regTrig = true }, {
- f(function(_, snip)
- return snip.captures[1] .. " + "
- end),
- f(function(_, snip)
- return snip.captures[2]
- end),
-})
-table.insert(autosnippets, mySecondAutoSnippet)
-
-
-
-
-
-
-
-
--- End Refactoring --
-
-return snippets, autosnippets
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.config/nvim/snippets/markdown.lua b/.config/nvim/snippets/markdown.lua
deleted file mode 100644
index d0d1487..0000000
--- a/.config/nvim/snippets/markdown.lua
+++ /dev/null
@@ -1,58 +0,0 @@
-local ls = require("luasnip")
-local s = ls.s
-local i = ls.i
-local t = ls.t
-
-local d = ls.dynamic_node
-local c = ls.choice_node
-local f = ls.function_node
-local sn = ls.snippet_node
-
-local fmt = require("luasnip.extras.fmt").fmt
-local rep = require("luasnip.extras").rep
-
--- --
-
-local snippets = {}
-local autosnippets = {}
-
-local autocmd = vim.api.nvim_create_autocmd
-local augroup = vim.api.nvim_create_augroup
-local map = vim.keymap.set
-local opts = { noremap = true, silent = true, buffer = true }
-local group = augroup("Markdown Snippets", { clear = true })
-
-local function cs(trigger, nodes, keymap) --> cs stands for create snippet
- local snippet = s(trigger, nodes)
- table.insert(snippets, snippet)
-
- if keymap ~= nil then
- local pattern = "*.md"
- if type(keymap) == "table" then
- pattern = keymap[1]
- keymap = keymap[2]
- end
- autocmd("BufEnter", {
- pattern = pattern,
- group = group,
- callback = function()
- map({ "i" }, keymap, function()
- ls.snip_expand(snippet)
- end, opts)
- end,
- })
- end
-end
-
-local function lp(package_name) -- Load Package Function
- package.loaded[package_name] = nil
- return require(package_name)
-end
-
--- Utility Functions --
-
--- Start Refactoring --
-
--- Start Refactoring --
-
-return snippets, autosnippets