summaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
authoryuzu-eva <stevenhu@web.de>2022-12-23 22:01:25 +0100
committeryuzu-eva <stevenhu@web.de>2022-12-23 22:01:25 +0100
commitc9502c9c4b61c4cab7655c484ef7e577308343cf (patch)
tree699e8a51e94a3b2a1ba42b83d0c0cfa1b7a142cf /.config
parentee92c6100fd18a80309bcaa86d1cbc20f8f2cd49 (diff)
readded nvim
Diffstat (limited to '.config')
-rw-r--r--.config/nvim/ftplugin/javascript.vim9
-rw-r--r--.config/nvim/init.lua14
-rw-r--r--.config/nvim/lua/lib/utils.lua22
-rw-r--r--.config/nvim/lua/user/keymaps.lua31
-rw-r--r--.config/nvim/lua/user/misc.lua6
-rw-r--r--.config/nvim/lua/user/options.lua24
-rw-r--r--.config/nvim/lua/user/plugins.lua101
-rw-r--r--.config/nvim/lua/user/plugins/cmp.lua73
-rw-r--r--.config/nvim/lua/user/plugins/dracula.lua13
-rw-r--r--.config/nvim/lua/user/plugins/lspconfig.lua131
-rw-r--r--.config/nvim/lua/user/plugins/lualine.lua64
-rw-r--r--.config/nvim/lua/user/plugins/luasnip.lua9
-rw-r--r--.config/nvim/lua/user/plugins/nvim-tree.lua13
-rw-r--r--.config/nvim/lua/user/plugins/telescope.lua25
-rw-r--r--.config/nvim/lua/user/plugins/treesitter.lua31
-rw-r--r--.config/nvim/plugin/packer_compiled.lua299
-rw-r--r--.config/nvim/snippets/html.lua20
17 files changed, 885 insertions, 0 deletions
diff --git a/.config/nvim/ftplugin/javascript.vim b/.config/nvim/ftplugin/javascript.vim
new file mode 100644
index 0000000..4ffe06d
--- /dev/null
+++ b/.config/nvim/ftplugin/javascript.vim
@@ -0,0 +1,9 @@
+setl nospell
+setl nowrap
+setl tabstop=2
+setl shiftwidth=2
+setl expandtab
+let b:vcm_tab_complete = 'javascript'
+let b:javascript_fold = 1
+let g:javascript_plugin_jsdoc = 1
+let g:jsx_ext_required = 0
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100644
index 0000000..f71bdb7
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1,14 @@
+-- __ _ _
+-- ___ __ _ / _| ___ | |__ __ _| |__ ___
+-- / __| / _' | |_ / _ \| _ \ / _' | _ \ / _ \
+-- | |__ / (_| | _| __/| |_) / (_| | |_) | __/
+-- \___|\___._/_| \___||____/\___._/____/ \___/
+--
+-- Personal vim configuration of cafebabe
+
+require('user.options')
+require('user.plugins')
+require('user.keymaps')
+require('user.misc')
+
+--vim: nospell
diff --git a/.config/nvim/lua/lib/utils.lua b/.config/nvim/lua/lib/utils.lua
new file mode 100644
index 0000000..8abbabd
--- /dev/null
+++ b/.config/nvim/lua/lib/utils.lua
@@ -0,0 +1,22 @@
+local M = {}
+
+M.keymap = function(mode, lhs, rhs, opts)
+ vim.api.nvim_set_keymap(
+ mode,
+ lhs,
+ rhs,
+ vim.tbl_extend('keep', opts or {}, { noremap = true, silent = true })
+ )
+end
+
+M.buf_keymap = function(bufnr, mode, lhs, rhs, opts)
+ vim.api.nvim_buf_set_keymap(
+ bufnr,
+ mode,
+ lhs,
+ rhs,
+ vim.tbl_extend('keep', opts or {}, { noremap = true, silent = true })
+ )
+end
+
+return M
diff --git a/.config/nvim/lua/user/keymaps.lua b/.config/nvim/lua/user/keymaps.lua
new file mode 100644
index 0000000..59c323c
--- /dev/null
+++ b/.config/nvim/lua/user/keymaps.lua
@@ -0,0 +1,31 @@
+local keymap = require 'lib.utils'.keymap
+
+vim.g.mapleader = ' '
+vim.g.maplocalleader = ' '
+
+keymap('n', '<leader>Q', ':bufdo bdelete<CR>')
+
+-- Allow gf to open non-existant files
+keymap('n', 'gf', ':edit <cfile><CR>')
+
+-- Quick navigation between splits
+keymap('n', '<c-h>', '<c-w>h')
+keymap('n', '<c-j>', '<c-w>j')
+keymap('n', '<c-k>', '<c-w>k')
+keymap('n', '<c-l>', '<c-w>l')
+
+-- Open the current file in the default program
+keymap('n', '<leader>x', ':!xdg-open %<CR><CR>')
+
+-- Resize with arrows
+keymap('n', '<C-Up>', ':resize +2<CR>')
+keymap('n', '<C-Down>', ':resize -2<CR>')
+keymap('n', '<C-Left>', ':vertical resize -2<CR>')
+keymap('n', '<C-Right>', ':vertical resize +2<CR>')
+
+-- Quickly escape to normal mode
+keymap('i', 'jj', '<Esc>')
+
+keymap('n', '<leader>cd', ':cd %:p:h<CR>:pwd<CR>')
+
+keymap('n', '<leader>E', ':EslintFixAll<CR>')
diff --git a/.config/nvim/lua/user/misc.lua b/.config/nvim/lua/user/misc.lua
new file mode 100644
index 0000000..88d47cf
--- /dev/null
+++ b/.config/nvim/lua/user/misc.lua
@@ -0,0 +1,6 @@
+vim.cmd [[
+ augroup Indentation
+ autocmd!
+ autocmd FileType html set inde=
+ augroup END
+]]
diff --git a/.config/nvim/lua/user/options.lua b/.config/nvim/lua/user/options.lua
new file mode 100644
index 0000000..0c35dfc
--- /dev/null
+++ b/.config/nvim/lua/user/options.lua
@@ -0,0 +1,24 @@
+vim.o.guicursor = 'a:block'
+vim.o.expandtab = true
+vim.o.shiftwidth = 4
+vim.o.tabstop = 4
+vim.o.signcolumn = 'yes:2'
+vim.o.relativenumber = true
+vim.o.number = true
+vim.o.termguicolors = true
+vim.o.ignorecase = true
+vim.o.smartcase = true
+vim.o.wildmode = 'longest:full,full'
+vim.o.wrap = false
+vim.o.scrolloff = 8
+vim.o.sidescrolloff = 8
+vim.o.cursorline = 1
+vim.o.splitright = 1
+vim.o.splitbelow = 1
+vim.o.clipboard = 'unnamedplus' -- Use Linux system clipboard
+vim.o.updatetime = 250 -- Decrease CursorHold delay
+vim.o.redrawtime = 10000 -- Allow more time for loading syntax on large files
+vim.o.foldmethod = "expr"
+vim.o.foldlevelstart = 10
+vim.o.foldexpr = "nvim_treesitter#foldexpr()"
+vim.o.hlsearch = 0
diff --git a/.config/nvim/lua/user/plugins.lua b/.config/nvim/lua/user/plugins.lua
new file mode 100644
index 0000000..755f0e9
--- /dev/null
+++ b/.config/nvim/lua/user/plugins.lua
@@ -0,0 +1,101 @@
+require('packer').startup(function()
+ use { 'wbthomason/packer.nvim' } -- Let packer manage itself
+ use { 'tpope/vim-commentary' }
+ use { 'tpope/vim-surround' }
+ use { 'tpope/vim-eunuch' }
+ use { 'tpope/vim-sleuth' }
+
+ use {
+ 'dracula/vim',
+ as = 'dracula',
+ config = function()
+ require('user.plugins.dracula')
+ end
+ }
+ use {
+ 'windwp/nvim-autopairs',
+ config = function()
+ require('nvim-autopairs').setup()
+ end
+ }
+
+ use {
+ 'windwp/nvim-ts-autotag',
+ config = function()
+ require('nvim-ts-autotag').setup()
+ end
+ }
+
+ use {
+ 'kyazdani42/nvim-tree.lua',
+ requires = 'kyazdani42/nvim-web-devicons',
+ config = function()
+ require('user.plugins.nvim-tree')
+ end
+ }
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate',
+ requires = {
+ 'nvim-treesitter/playground',
+ 'nvim-treesitter/nvim-treesitter-textobjects',
+ 'lewis6991/spellsitter.nvim',
+ 'JoosepAlviste/nvim-ts-context-commentstring',
+ },
+ config = function()
+ require('spellsitter').setup()
+ require('user.plugins.treesitter')
+ end
+ }
+
+ use {
+ 'neovim/nvim-lspconfig',
+ requires = {
+ 'b0o/schemastore.nvim',
+ 'folke/lsp-colors.nvim',
+ 'weilbith/nvim-code-action-menu',
+ },
+ config = function()
+ require('user.plugins.lspconfig')
+ end
+ }
+ use {
+ 'hrsh7th/nvim-cmp',
+ requires = {
+ 'hrsh7th/cmp-nvim-lsp',
+ 'hrsh7th/cmp-buffer',
+ 'jessarcher/cmp-path',
+ 'hrsh7th/cmp-nvim-lua',
+ 'L3MON4D3/LuaSnip',
+ 'onsails/lspkind-nvim',
+ 'hrsh7th/cmp-nvim-lsp-signature-help',
+ },
+ config = function()
+ require('user.plugins.cmp')
+ end
+ }
+ use {
+ 'nvim-telescope/telescope.nvim',
+ requires = {
+ 'nvim-lua/popup.nvim',
+ 'nvim-lua/plenary.nvim',
+ 'kyazdani42/nvim/nvim-web-devicons',
+ },
+ config = function()
+ require('user.plugins.telescope')
+ end
+ }
+ use {
+ 'nvim-lualine/lualine.nvim',
+ requires = 'kyazdani42/nvim-web-devicons',
+ config = function()
+ require('user.plugins.lualine')
+ end
+ }
+ use {
+ 'L3MON4D3/LuaSnip',
+ config = function()
+ require('user.plugins.luasnip')
+ end
+ }
+end)
diff --git a/.config/nvim/lua/user/plugins/cmp.lua b/.config/nvim/lua/user/plugins/cmp.lua
new file mode 100644
index 0000000..81cd2ee
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/cmp.lua
@@ -0,0 +1,73 @@
+local has_words_before = function()
+ local line, col = unpack(vim.api.nvim_win_get_cursor(0))
+ return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
+end
+
+local luasnip = require 'luasnip'
+local cmp = require 'cmp'
+local lspkind = require 'lspkind'
+
+-- Set completeopt to have a better completion experience
+vim.o.completeopt = 'menuone,longest,preview'
+
+cmp.setup({
+ experimental = {
+ ghost_text = true,
+ },
+ formatting = {
+ format = lspkind.cmp_format {
+ mode = 'symbol',
+ menu = {
+ nvim_lsp = '[LSP]',
+ nvim_lua = '[Lua]',
+ buffer = '[BUF]',
+ },
+ },
+ },
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body)
+ end,
+ },
+ mapping = {
+ ['<C-p>'] = cmp.mapping.select_prev_item(),
+ ['<C-n>'] = cmp.mapping.select_next_item(),
+ ['<C-d>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-r>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.close(),
+ ['<CR>'] = cmp.mapping.confirm {
+ behavior = cmp.ConfirmBehavior.replace,
+ select = false,
+ },
+ ['<Tab>'] = cmp.mapping(function(fallback)
+ if luasnip.expand_or_jumpable() then
+ luasnip.expand_or_jump()
+ elseif cmp.visible() then
+ cmp.select_next_item()
+ elseif has_words_before() then
+ cmp.complete()
+ else
+ fallback()
+ end
+ end, { 'i', 's' }),
+ ['<S-Tab>'] = cmp.mapping(function(fallback)
+ if luasnip.jumpable(-1) then
+ luasnip.jump(-1)
+ elseif cmp.visible() then
+ cmp.select_prev_item()
+ else
+ fallback()
+ end
+
+ end, { 'i', 's' }),
+ },
+ sources = {
+ { name = 'nvim_lsp' },
+ { name = 'nvim_lsp_signature_help' },
+ { name = 'nvim_lua' },
+ { name = 'luasnip' },
+ { name = 'path' },
+ { name = 'buffer' },
+ },
+})
diff --git a/.config/nvim/lua/user/plugins/dracula.lua b/.config/nvim/lua/user/plugins/dracula.lua
new file mode 100644
index 0000000..3d1e91a
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/dracula.lua
@@ -0,0 +1,13 @@
+vim.cmd([[
+ augroup DraculaOverrides
+ autocmd!
+ autocmd ColorScheme dracula highlight! link Pmenu DraculaBg
+ autocmd ColorScheme dracula highlight link NormalFloat DraculaBgLight
+ autocmd ColorScheme dracula highlight FloatBorder guifg=#343746 guibg=#343746
+ autocmd ColorScheme dracula highlight DraculaBoundary guibg=none
+ autocmd ColorScheme dracula highlight DraculaDiffDelete ctermbg=none guibg=none
+ autocmd ColorScheme dracula highlight DraculaComment cterm=italic gui=italic
+ autocmd ColorScheme dracula highlight Normal guibg=#000000
+ augroup end
+ colorscheme dracula
+]])
diff --git a/.config/nvim/lua/user/plugins/lspconfig.lua b/.config/nvim/lua/user/plugins/lspconfig.lua
new file mode 100644
index 0000000..a63975b
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/lspconfig.lua
@@ -0,0 +1,131 @@
+local buf_option = vim.api.nvim_buf_set_option
+local buf_keymap = require 'lib.utils'.buf_keymap
+
+vim.diagnostic.config {
+ virtual_text = false,
+ severity_sort = true,
+ float = {
+ source = true,
+ focus = false,
+ format = function(diagnostic)
+ if diagnostic.user_data ~= nil and diagnostic.user_data.lsp.code ~= nil then
+ return string.format("%s: %s", diagnostic.user_data.lsp.code, diagnostic.message)
+ end
+ return diagnostic.message
+ end,
+ }
+}
+
+local on_attach = function(_, bufnr)
+ buf_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
+
+ buf_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>')
+ buf_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>')
+ buf_keymap(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>')
+ buf_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>')
+ buf_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>')
+ buf_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>')
+ buf_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>')
+ buf_keymap(bufnr, 'n', 'gr', ':Telescope lsp_references<CR>')
+
+ buf_keymap(bufnr, 'n', '<leader>ca', ':CodeActionMenu<CR>')
+ buf_keymap(bufnr, 'v', '<leader>ca', ':CodeActionMenu<CR>')
+
+ buf_keymap(bufnr, 'n', '<leader>d', '<cmd>lua vim.diagnostic.open_float()<CR>')
+ buf_keymap(bufnr, 'n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>')
+ buf_keymap(bufnr, 'n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>')
+ buf_keymap(bufnr, 'n', '<leader>F', '<cmd>lua vim.lsp.buf.format { async = true }<CR>')
+
+ -- Autoformat on save doesn't work with server_capabilities, even
+ -- though it's the replacement for the deprecated resolved_capabilities.
+
+ -- if _.server_capabilities.document_formatting then
+ -- vim.api.nvim_command [[augroup Format]]
+ -- vim.api.nvim_command [[autocmd! * <buffer>]]
+ -- vim.api.nvim_command [[autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_seq_sync()]]
+ -- vim.api.nvim_command [[augroup END]]
+ -- end
+end
+
+-- provide additional completion capabilities
+local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
+
+require 'lspconfig'.emmet_ls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+ filetypes = { 'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact' }
+}
+
+local runtime_path = vim.split(package.path, ';')
+table.insert(runtime_path, "lua/?.lua")
+table.insert(runtime_path, "lua/?/init.lua")
+require 'lspconfig'.sumneko_lua.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+ cmd = { "/home/cafebabe/.local/src/lua-language-server/bin/lua-language-server", "-E", "/home/cafebabe/.local/src/lua-language-server/bin/main.lua" };
+ settings = {
+ Lua = {
+ runtime = {
+ -- Tell language server which version of lua is used.
+ version = 'LuaJIT',
+ -- Setup lua path
+ path = runtime_path,
+ },
+ diagnostics = {
+ -- Recognize globals
+ globals = { 'vim', 'use', 'parse' },
+ },
+ workspace = {
+ -- Make server aware of Neovim runtime files
+ library = vim.api.nvim_get_runtime_file("", true),
+ },
+ -- Do not send telemetry data
+ telemetry = {
+ enable = false,
+ },
+ },
+ },
+}
+
+require 'lspconfig'.bashls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+}
+
+require 'lspconfig'.pylsp.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+}
+
+require 'lspconfig'.clangd.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ flags = {
+ debounce_text_changes = 150,
+ },
+}
+
+
+-- suppress error messages from lang servers
+vim.notify = function(msg, log_level, _)
+ if msg:match 'exit code' then
+ return
+ end
+ if log_level == vim.log.levels.ERROR then
+ vim.api.nvim_err_writeln(msg)
+ else
+ vim.api.nvim_echo({ { msg } }, true, {})
+ end
+end
diff --git a/.config/nvim/lua/user/plugins/lualine.lua b/.config/nvim/lua/user/plugins/lualine.lua
new file mode 100644
index 0000000..6ac5cee
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/lualine.lua
@@ -0,0 +1,64 @@
+-- local tabLineHl = vim.api.nvim_get_hl_by_name('TabLine', true)
+-- local bg = '#' .. bit.tohex(tabLineHl.background, 6)
+-- local fg = '#' .. bit.tohex(tabLineHl.foreground, 6)
+local fg = '#F8F8F2' -- DraculaFg
+local bg = '#21222C' -- DraculaBgDark
+local separator = '#424450' -- DraculaSubtle
+-- local fg = '#' .. bit.tohex(vim.api.nvim_get_hl_by_name('DraculaFg', true).foreground, 6)
+-- local bg = '#' .. bit.tohex(vim.api.nvim_get_hl_by_name('DraculaBgDark', true).background, 6)
+-- local separator = '#' .. bit.tohex(vim.api.nvim_get_hl_by_name('DraculaSubtle', true).foreground, 6)
+
+require('lualine').setup {
+ options = {
+ component_separators = '',
+ section_separators = '▕',
+ theme = {
+ normal = {
+ a = { fg = fg, bg = bg },
+ b = { fg = fg, bg = bg },
+ c = { fg = fg, bg = bg },
+ x = { fg = fg, bg = bg },
+ y = { fg = fg, bg = bg },
+ z = { fg = fg, bg = bg },
+ },
+ inactive = { c = { fg = fg, bg = bg } },
+ },
+ },
+ sections = {
+ lualine_a = {
+ 'mode',
+ { '"▏"', color = { fg = separator } },
+ },
+ lualine_b = {
+ 'branch',
+ 'diff',
+ { '"▕"', color = { fg = separator } },
+ '"🖧  " .. tostring(#vim.tbl_keys(vim.lsp.buf_get_clients()))',
+ { 'diagnostics', sources = { 'nvim_diagnostic' } },
+ { '"▏"', color = { fg = separator } },
+ },
+ lualine_c = { 'filename' },
+ lualine_x = {
+ 'filetype',
+ 'encoding',
+ 'fileformat',
+ },
+ lualine_y = {
+ { '"▕"', color = { fg = separator } },
+ '(vim.bo.expandtab and "␠ " or "⇥ ") .. " " .. vim.bo.shiftwidth',
+ { '"▏"', color = { fg = separator } },
+ },
+ lualine_z = {
+ 'location',
+ 'progress',
+ },
+ },
+ -- tabline = {
+ -- lualine_a = {
+ -- {'buffers'}
+ -- },
+ -- lualine_z = {
+ -- {'tabs'}
+ -- }
+ -- }
+}
diff --git a/.config/nvim/lua/user/plugins/luasnip.lua b/.config/nvim/lua/user/plugins/luasnip.lua
new file mode 100644
index 0000000..2e7462a
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/luasnip.lua
@@ -0,0 +1,9 @@
+local ls = require "luasnip"
+require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" })
+
+ls.config.set_config {
+ history = true,
+ updateevents = 'TextChanged,TextChangedI',
+ enable_autosnippets = true,
+}
+
diff --git a/.config/nvim/lua/user/plugins/nvim-tree.lua b/.config/nvim/lua/user/plugins/nvim-tree.lua
new file mode 100644
index 0000000..3c425c5
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/nvim-tree.lua
@@ -0,0 +1,13 @@
+require('nvim-tree').setup {
+ renderer = {
+ highlight_opened_files = "all",
+ group_empty = true,
+ },
+ git = {
+ ignore = false,
+ },
+}
+
+vim.cmd [[highlight NvimTreeIndentMarker guifg=#30323E]]
+
+vim.api.nvim_set_keymap('n', '<leader>n', ':NvimTreeFindFileToggle<CR>', { silent = true, noremap = true })
diff --git a/.config/nvim/lua/user/plugins/telescope.lua b/.config/nvim/lua/user/plugins/telescope.lua
new file mode 100644
index 0000000..b1d1136
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/telescope.lua
@@ -0,0 +1,25 @@
+local telescope = require 'telescope'
+local actions = require 'telescope.actions'
+local keymap = require 'lib.utils'.keymap
+
+keymap('n', ';f', [[<cmd>lua require('telescope.builtin').find_files()<CR>]])
+keymap('n', ';r', [[<cmd>lua require('telescope.builtin').live_grep()<CR>]])
+keymap('n', ';\\', [[<cmd>lua require('telescope.builtin').buffers()<CR>]])
+
+require('telescope').setup {
+ defaults = {
+ sorting_strategy = 'ascending',
+ mappings = {
+ i = {
+ ["<Esc>"] = actions.close,
+ ['<C-Down>'] = actions.cycle_history_next,
+ ['<C-Up>'] = actions.cycle_history_prev,
+ },
+ },
+ file_ignore_patterns = {
+ '.git/',
+ 'node_modules/',
+ 'android/',
+ },
+ }
+}
diff --git a/.config/nvim/lua/user/plugins/treesitter.lua b/.config/nvim/lua/user/plugins/treesitter.lua
new file mode 100644
index 0000000..32c74ee
--- /dev/null
+++ b/.config/nvim/lua/user/plugins/treesitter.lua
@@ -0,0 +1,31 @@
+require('nvim-treesitter.configs').setup {
+ indent = {
+ enable = true,
+ disable = { 'html' },
+ },
+ highlight = {
+ enable = true,
+ disable = { 'NvimTree' },
+ additional_vim_regex_highlighting = true,
+ },
+ textobjects = {
+ select = {
+ enable = true,
+ lookahead = true,
+ keymaps = {
+ ['ia'] = '@parameter.inner',
+ -- ['aa'] = {
+ -- php = "" '@parameter.outer',
+
+ -- python = "(function_definition) @function",
+ -- cpp = "(function_definition) @function",
+ -- c = "(function_definition) @function",
+ -- java = "(method_declaration) @function",
+ -- },
+ },
+ },
+ },
+ context_commentstring = {
+ enable = true,
+ },
+}
diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..75d1f59
--- /dev/null
+++ b/.config/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,299 @@
+-- Automatically generated packer.nvim plugin loader code
+
+if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
+ vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
+ return
+end
+
+vim.api.nvim_command('packadd packer.nvim')
+
+local no_errors, error_msg = pcall(function()
+
+_G._packer = _G._packer or {}
+_G._packer.inside_compile = true
+
+local time
+local profile_info
+local should_profile = false
+if should_profile then
+ local hrtime = vim.loop.hrtime
+ profile_info = {}
+ time = function(chunk, start)
+ if start then
+ profile_info[chunk] = hrtime()
+ else
+ profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
+ end
+ end
+else
+ time = function(chunk, start) end
+end
+
+local function save_profiles(threshold)
+ local sorted_times = {}
+ for chunk_name, time_taken in pairs(profile_info) do
+ sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
+ end
+ table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
+ local results = {}
+ for i, elem in ipairs(sorted_times) do
+ if not threshold or threshold and elem[2] > threshold then
+ results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
+ end
+ end
+ if threshold then
+ table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
+ end
+
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/cafebabe/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/cafebabe/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/cafebabe/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/cafebabe/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/cafebabe/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
+if not string.find(package.path, package_path_str, 1, true) then
+ package.path = package.path .. ';' .. package_path_str
+end
+
+if not string.find(package.cpath, install_cpath_pattern, 1, true) then
+ package.cpath = package.cpath .. ';' .. install_cpath_pattern
+end
+
+time([[Luarocks path setup]], false)
+time([[try_loadstring definition]], true)
+local function try_loadstring(s, component, name)
+ local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
+ if not success then
+ vim.schedule(function()
+ vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
+ end)
+ end
+ return result
+end
+
+time([[try_loadstring definition]], false)
+time([[Defining packer_plugins]], true)
+_G.packer_plugins = {
+ LuaSnip = {
+ config = { "\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.luasnip\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/LuaSnip",
+ url = "https://github.com/L3MON4D3/LuaSnip"
+ },
+ ["cmp-buffer"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/cmp-buffer",
+ url = "https://github.com/hrsh7th/cmp-buffer"
+ },
+ ["cmp-nvim-lsp"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ ["cmp-nvim-lsp-signature-help"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help"
+ },
+ ["cmp-nvim-lua"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
+ url = "https://github.com/hrsh7th/cmp-nvim-lua"
+ },
+ ["cmp-path"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/cmp-path",
+ url = "https://github.com/jessarcher/cmp-path"
+ },
+ dracula = {
+ config = { "\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.dracula\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/dracula",
+ url = "https://github.com/dracula/vim"
+ },
+ ["lsp-colors.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim",
+ url = "https://github.com/folke/lsp-colors.nvim"
+ },
+ ["lspkind-nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/lspkind-nvim",
+ url = "https://github.com/onsails/lspkind-nvim"
+ },
+ ["lualine.nvim"] = {
+ config = { "\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.lualine\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/lualine.nvim",
+ url = "https://github.com/nvim-lualine/lualine.nvim"
+ },
+ ["nvim-autopairs"] = {
+ config = { "\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19nvim-autopairs\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
+ url = "https://github.com/windwp/nvim-autopairs"
+ },
+ ["nvim-cmp"] = {
+ config = { "\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21user.plugins.cmp\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-cmp",
+ url = "https://github.com/hrsh7th/nvim-cmp"
+ },
+ ["nvim-code-action-menu"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu",
+ url = "https://github.com/weilbith/nvim-code-action-menu"
+ },
+ ["nvim-lspconfig"] = {
+ config = { "\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.lspconfig\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-tree.lua"] = {
+ config = { "\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.nvim-tree\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
+ url = "https://github.com/kyazdani42/nvim-tree.lua"
+ },
+ ["nvim-treesitter"] = {
+ config = { "\27LJ\2\n]\0\0\3\0\4\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\3\0B\0\2\1K\0\1\0\28user.plugins.treesitter\nsetup\16spellsitter\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["nvim-treesitter-textobjects"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-treesitter-textobjects",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
+ },
+ ["nvim-ts-autotag"] = {
+ config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag",
+ url = "https://github.com/windwp/nvim-ts-autotag"
+ },
+ ["nvim-ts-context-commentstring"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring",
+ url = "https://github.com/JoosepAlviste/nvim-ts-context-commentstring"
+ },
+ ["nvim-web-devicons"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
+ url = "https://github.com/kyazdani42/nvim-web-devicons"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ playground = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/playground",
+ url = "https://github.com/nvim-treesitter/playground"
+ },
+ ["plenary.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/plenary.nvim",
+ url = "https://github.com/nvim-lua/plenary.nvim"
+ },
+ ["popup.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/popup.nvim",
+ url = "https://github.com/nvim-lua/popup.nvim"
+ },
+ ["schemastore.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/schemastore.nvim",
+ url = "https://github.com/b0o/schemastore.nvim"
+ },
+ ["spellsitter.nvim"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/spellsitter.nvim",
+ url = "https://github.com/lewis6991/spellsitter.nvim"
+ },
+ ["telescope.nvim"] = {
+ config = { "\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.telescope\frequire\0" },
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/telescope.nvim",
+ url = "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ ["vim-commentary"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/vim-commentary",
+ url = "https://github.com/tpope/vim-commentary"
+ },
+ ["vim-eunuch"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/vim-eunuch",
+ url = "https://github.com/tpope/vim-eunuch"
+ },
+ ["vim-sleuth"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/vim-sleuth",
+ url = "https://github.com/tpope/vim-sleuth"
+ },
+ ["vim-surround"] = {
+ loaded = true,
+ path = "/home/cafebabe/.local/share/nvim/site/pack/packer/start/vim-surround",
+ url = "https://github.com/tpope/vim-surround"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+-- Config for: nvim-treesitter
+time([[Config for nvim-treesitter]], true)
+try_loadstring("\27LJ\2\n]\0\0\3\0\4\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\3\0B\0\2\1K\0\1\0\28user.plugins.treesitter\nsetup\16spellsitter\frequire\0", "config", "nvim-treesitter")
+time([[Config for nvim-treesitter]], false)
+-- Config for: dracula
+time([[Config for dracula]], true)
+try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.dracula\frequire\0", "config", "dracula")
+time([[Config for dracula]], false)
+-- Config for: nvim-lspconfig
+time([[Config for nvim-lspconfig]], true)
+try_loadstring("\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.lspconfig\frequire\0", "config", "nvim-lspconfig")
+time([[Config for nvim-lspconfig]], false)
+-- Config for: lualine.nvim
+time([[Config for lualine.nvim]], true)
+try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.lualine\frequire\0", "config", "lualine.nvim")
+time([[Config for lualine.nvim]], false)
+-- Config for: nvim-tree.lua
+time([[Config for nvim-tree.lua]], true)
+try_loadstring("\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.nvim-tree\frequire\0", "config", "nvim-tree.lua")
+time([[Config for nvim-tree.lua]], false)
+-- Config for: nvim-ts-autotag
+time([[Config for nvim-ts-autotag]], true)
+try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag")
+time([[Config for nvim-ts-autotag]], false)
+-- Config for: LuaSnip
+time([[Config for LuaSnip]], true)
+try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25user.plugins.luasnip\frequire\0", "config", "LuaSnip")
+time([[Config for LuaSnip]], false)
+-- Config for: telescope.nvim
+time([[Config for telescope.nvim]], true)
+try_loadstring("\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27user.plugins.telescope\frequire\0", "config", "telescope.nvim")
+time([[Config for telescope.nvim]], false)
+-- Config for: nvim-cmp
+time([[Config for nvim-cmp]], true)
+try_loadstring("\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21user.plugins.cmp\frequire\0", "config", "nvim-cmp")
+time([[Config for nvim-cmp]], false)
+-- Config for: nvim-autopairs
+time([[Config for nvim-autopairs]], true)
+try_loadstring("\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19nvim-autopairs\frequire\0", "config", "nvim-autopairs")
+time([[Config for nvim-autopairs]], false)
+
+_G._packer.inside_compile = false
+if _G._packer.needs_bufread == true then
+ vim.cmd("doautocmd BufRead")
+end
+_G._packer.needs_bufread = false
+
+if should_profile then save_profiles() end
+
+end)
+
+if not no_errors then
+ error_msg = error_msg:gsub('"', '\\"')
+ vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
+end
diff --git a/.config/nvim/snippets/html.lua b/.config/nvim/snippets/html.lua
new file mode 100644
index 0000000..b168aca
--- /dev/null
+++ b/.config/nvim/snippets/html.lua
@@ -0,0 +1,20 @@
+return {
+ parse('sktn', '<!DOCTYPE html>\
+<html lang="en">\
+\
+<head>\
+ <meta charset="UTF-8">\
+ <title></title>\
+ <meta name="viewport" content="width=devide-width,initial-scale=1">\
+ <link rel="stylesheet" href="">\
+</head>\
+\
+<body>\
+ <div>\
+ <h1></h1>\
+ </div>\
+</body>\
+<script src=""></script>\
+\
+</html>'),
+}