diff --git a/nvim/.luarc.json b/nvim/.luarc.json new file mode 100755 index 0000000..1e1765c --- /dev/null +++ b/nvim/.luarc.json @@ -0,0 +1,5 @@ +{ + "diagnostics.globals": [ + "vim" + ] +} \ No newline at end of file diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100755 index 0000000..0824bb2 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,19 @@ +-- Path for lazy.nvim plugin manager +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) +vim.cmd("set number") +require("vim-options") +-- Load pywal colors early +pcall(function() vim.cmd("source ~/.cache/wal/colors-wal.vim") end) +require("lazy").setup("plugins") +vim.opt.termguicolors = true diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100755 index 0000000..1cda1c4 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,32 @@ +{ + "LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" }, + "alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, + "markview.nvim": { "branch": "main", "commit": "8e6a30b728374eb244761a8027306f96c58eef8f" }, + "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, + "nvim-cmp": { "branch": "main", "commit": "d78fb3b64eedb701c9939f97361c06483af575e0" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "pywal.nvim": { "branch": "main", "commit": "d11b673c0e3d6eb8cbee7ea8cf4a8911f6ee24b9" }, + "snacks.nvim": { "branch": "main", "commit": "3c5c23ba91e608bd89bb36d76cb005aa63d20dbf" }, + "tabline.nvim": { "branch": "main", "commit": "ff33d12a20d52daafa5393162cae4108faf8128b" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "typr": { "branch": "main", "commit": "584e4ef34dea25a4035627794322f315b22d1253" }, + "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" } +} diff --git a/nvim/lua/plugins/alpha.lua b/nvim/lua/plugins/alpha.lua new file mode 100755 index 0000000..eb6bb8a --- /dev/null +++ b/nvim/lua/plugins/alpha.lua @@ -0,0 +1,91 @@ +return { + "goolord/alpha-nvim", + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + config = function() + local dashboard = require("alpha.themes.dashboard") + -- Safely load wal colors without autocmds + -- pcall(function() + -- vim.cmd("source ~/.cache/wal/colors-wal.vim") + -- end) + local color9 = vim.g.color9 or "#ffffff" + local color3 = vim.g.color3 or "#ffffff" + local color4 = vim.g.color4 or "#ffffff" + local color5 = vim.g.color5 or "#ffffff" + local color6 = vim.g.color6 or "#ffffff" + + -- helper function for utf8 chars + local function getCharLen(s, pos) + local byte = string.byte(s, pos) + if not byte then + return nil + end + return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1 + end + + local function applyColors(logo, colors, logoColors) + dashboard.section.header.val = logo + for key, color in pairs(colors) do + local name = "Alpha" .. key + vim.api.nvim_set_hl(0, name, color) + colors[key] = name + end + dashboard.section.header.opts.hl = {} + for i, line in ipairs(logoColors) do + local highlights = {} + local pos = 0 + for j = 1, #line do + local opos = pos + pos = pos + getCharLen(logo[i], opos + 1) + local color_name = colors[line:sub(j, j)] + if color_name then + table.insert(highlights, { color_name, opos, pos }) + end + end + table.insert(dashboard.section.header.opts.hl, highlights) + end + return dashboard.opts + end + + require("alpha").setup(applyColors({ + [[███████╗ ██████╗ ]], + [[██╔════╝ ██╔═══╝ ]], + [[█████╗ ██████╗ ]], + [[██╔══╝ ██╔═══╝ ]], + [[███████╗ ██║ ]], + [[╚══════╝ ╚═╝ ]], + [[N E O V I M ]], + }, { + ["a"] = { fg = color9, ctermfg = 33}, + ["b"] = { fg = color3, ctermfg = 33}, + ["c"] = { fg = color4, ctermfg = 33}, + ["d"] = { fg = color5, ctermfg = 33}, + ["e"] = { fg = color6, ctermfg = 33}, + }, { + [[bbbbbbba cccccca ]], + [[bbaaaaaa ccaaaaa ]], + [[bbbbba cccccca ]], + [[bbaaaa ccaaaaa ]], + [[bbbbbbba cca ]], + [[aaaaaaaa aaa ]], + [[d d d e e e ]], + })) + + dashboard.section.buttons.val = { + dashboard.button( "e", " > New file" , ":ene startinsert "), + dashboard.button( "f", "󰱼 > Find file", ":lua require('telescope.builtin').find_files({ find_command = { 'rg', '--files' } })"), + dashboard.button( "F", "󰥨 > Find folder", ":lua search_and_scope_into_directory()"), + dashboard.button( "r", " > Recent" , ":Telescope oldfiles"), + dashboard.button( "c", " > Config" , ":cd ~/.config/nvim | Telescope find_files"), + dashboard.button( "l", "󰒲 > Lazy", ":Lazy"), + dashboard.button( "h", " > Settings" , ":cd ~/.config/hypr | Telescope find_files"), + dashboard.button( "q", " > Quit", ":qa"), + } + + dashboard.section.footer.val = { + "", + "Welcome!", + } + end, +} diff --git a/nvim/lua/plugins/autopair.lua b/nvim/lua/plugins/autopair.lua new file mode 100755 index 0000000..404bc18 --- /dev/null +++ b/nvim/lua/plugins/autopair.lua @@ -0,0 +1,7 @@ +return { + 'windwp/nvim-autopairs', + event = "InsertEnter", + config = true, + -- use opts = {} for passing setup options + -- this is equivalent to setup({}) function +} diff --git a/nvim/lua/plugins/cmdline.lua b/nvim/lua/plugins/cmdline.lua new file mode 100755 index 0000000..c949a52 --- /dev/null +++ b/nvim/lua/plugins/cmdline.lua @@ -0,0 +1,38 @@ +return { + "folke/noice.nvim", + event = "VeryLazy", + opts = { + -- add any options here + }, + dependencies = { + "MunifTanjim/nui.nvim", + "rcarriga/nvim-notify", + }, + config = function() + vim.cmd("source ~/.cache/wal/colors-wal.vim") + local color9 = vim.g.color9 or "#808080" + local color5 = vim.g.color5 or "#ffffff" + require("noice").setup({ + lsp = { + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, + }, + }, + presets = { + bottom_search = false, + command_palette = true, + long_message_to_split = true, + inc_rename = false, + lsp_doc_border = false, + }, + }) + vim.cmd('highlight NoiceCmdlineIcon guifg=' .. color9) + vim.cmd('highlight NoiceCmdlinePopupBorder guifg=' .. color5) + vim.cmd('highlight NotifyINFOBorder guifg=' .. color5) + vim.cmd('highlight NotifyINFOIcon guifg=' .. color9) + vim.cmd('highlight NotifyINFOTitle guifg=' .. color5) + end, +} + diff --git a/nvim/lua/plugins/colors.lua b/nvim/lua/plugins/colors.lua new file mode 100755 index 0000000..d08ed02 --- /dev/null +++ b/nvim/lua/plugins/colors.lua @@ -0,0 +1,23 @@ +-- return { +-- "ellisonleao/gruvbox.nvim", +-- lazy = false, +-- name = "gruvbox", +-- priority = 997, +-- config = function() +-- vim.cmd.colorscheme("gruvbox") +-- end, +-- } + + + +return { + "AlphaTechnolog/pywal.nvim", + lazy = false, + priority = 1000, + config = function() + -- Set up pywal and load the colors + require("pywal").setup() + + end, +} + diff --git a/nvim/lua/plugins/completions.lua b/nvim/lua/plugins/completions.lua new file mode 100755 index 0000000..646b978 --- /dev/null +++ b/nvim/lua/plugins/completions.lua @@ -0,0 +1,104 @@ +return { + { + "hrsh7th/cmp-nvim-lsp", + }, + { + "hrsh7th/cmp-buffer", + }, + { + "hrsh7th/cmp-path", + }, + { + "hrsh7th/cmp-cmdline", + }, + { + "L3MON4D3/LuaSnip", + dependencies = { + "saadparwaiz1/cmp_luasnip", + "rafamadriz/friendly-snippets", + }, + }, + { + "hrsh7th/nvim-cmp", + config = function() + local cmp = require("cmp") + local luasnip = require("luasnip") + require("luasnip.loaders.from_vscode").lazy_load() + + cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp", priority = 1000 }, + { name = "luasnip", priority = 750 }, + { name = "buffer", priority = 500 }, + { name = "path", priority = 250 }, + }), + formatting = { + format = function(entry, vim_item) + vim_item.menu = ({ + nvim_lsp = "[LSP]", + luasnip = "[Snippet]", + buffer = "[Buffer]", + path = "[Path]", + })[entry.source.name] + return vim_item + end, + }, + experimental = { + ghost_text = true, + }, + }) + + -- Use buffer source for `/` and `?` (search) + cmp.setup.cmdline({ "/", "?" }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, + }) + + -- Use cmdline & path source for ':' (command mode) + cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), + }) + end, + }, +} diff --git a/nvim/lua/plugins/csscolors.lua b/nvim/lua/plugins/csscolors.lua new file mode 100755 index 0000000..8ceec3c --- /dev/null +++ b/nvim/lua/plugins/csscolors.lua @@ -0,0 +1,8 @@ +return { + 'norcalli/nvim-colorizer.lua', + config = function() + require('colorizer').setup { + '*' + } + end +} diff --git a/nvim/lua/plugins/git.lua b/nvim/lua/plugins/git.lua new file mode 100755 index 0000000..622d2a1 --- /dev/null +++ b/nvim/lua/plugins/git.lua @@ -0,0 +1,56 @@ +return { + "lewis6991/gitsigns.nvim", -- Add a comma here + config = function() + require('gitsigns').setup { + signs = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged_enable = true, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + follow_files = true + }, + auto_attach = true, + attach_to_untracked = false, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + virt_text_priority = 100, + use_focus = true, + }, + current_line_blame_formatter = ', - ', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + } + end +} + diff --git a/nvim/lua/plugins/icons.lua b/nvim/lua/plugins/icons.lua new file mode 100755 index 0000000..5c6e27a --- /dev/null +++ b/nvim/lua/plugins/icons.lua @@ -0,0 +1,19 @@ +return { + "echasnovski/mini.icons", + lazy = true, + opts = { + file = { + [".keep"] = { glyph = "󰊢", hl = "MiniIconsGrey" }, + ["devcontainer.json"] = { glyph = "", hl = "MiniIconsAzure" }, + }, + filetype = { + dotenv = { glyph = "", hl = "MiniIconsYellow" }, + }, + }, + init = function() + package.preload["nvim-web-devicons"] = function() + require("mini.icons").mock_nvim_web_devicons() + return package.loaded["nvim-web-devicons"] + end + end, +} diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua new file mode 100755 index 0000000..1259cb7 --- /dev/null +++ b/nvim/lua/plugins/lualine.lua @@ -0,0 +1,55 @@ +return { + "nvim-lualine/lualine.nvim", + dependencies = { "nvim-tree/nvim-web-devicons","kdheepak/tabline.nvim" }, + + config = function() + require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + component_separators = {'', ''}, + section_separators = { left = '', right = '' }, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + always_show_tabline = true, + globalstatus = false, + refresh = { + statusline = 100, + tabline = 100, + winbar = 100, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch'}, + lualine_c = {}, + lualine_x = {'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {} + }, + tabline = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { require'tabline'.tabline_buffers }, + lualine_x = { require'tabline'.tabline_tabs }, + lualine_y = {}, + lualine_z = {}, + }, + winbar = {}, + inactive_winbar = {}, + extensions = {} + } + end, +} diff --git a/nvim/lua/plugins/markdown.lua b/nvim/lua/plugins/markdown.lua new file mode 100755 index 0000000..d2af8fd --- /dev/null +++ b/nvim/lua/plugins/markdown.lua @@ -0,0 +1,4 @@ +return { + "OXY2DEV/markview.nvim", + lazy = false +}; diff --git a/nvim/lua/plugins/neo-tree.lua b/nvim/lua/plugins/neo-tree.lua new file mode 100755 index 0000000..1a0478c --- /dev/null +++ b/nvim/lua/plugins/neo-tree.lua @@ -0,0 +1,41 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + require("neo-tree").setup({ + close_if_last_window = false, + popup_border_style = "rounded", + enable_git_status = true, + enable_diagnostics = true, + filesystem = { + filtered_items = { + visible = false, + hide_dotfiles = false, + hide_gitignored = false, + }, + follow_current_file = { + enabled = false, + }, + use_libuv_file_watcher = true, + }, + window = { + position = "left", + width = 30, + }, + event_handlers = { + { + event = "file_opened", + handler = function() + require("neo-tree.command").execute({ action = "close" }) + end, + }, + }, + }) + vim.keymap.set("n", "", ":Neotree filesystem reveal left") + end, +} diff --git a/nvim/lua/plugins/snacks.lua b/nvim/lua/plugins/snacks.lua new file mode 100755 index 0000000..f44b0b1 --- /dev/null +++ b/nvim/lua/plugins/snacks.lua @@ -0,0 +1,61 @@ +return { + "folke/snacks.nvim", + priority = 1000, + lazy = false, + ---@type snacks.Config + opts = { + bigfile = { enabled = true }, + indent = { enabled = true }, + input = { enabled = true }, + quickfile = { enabled = true }, + scroll = { enabled = true }, + statuscolumn = { enabled = true }, + words = { enabled = true }, + }, + keys = { + { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, + { "s", function() Snacks.scratch() end, desc = "Toggle Scratch Buffer" }, + { "S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" }, + { "", function() Snacks.terminal() end, desc = "Toggle Terminal" }, + { "gB", function() Snacks.gitbrowse() end, desc = "Git Browse", mode = { "n", "v" } }, + { "gb", function() Snacks.git.blame_line() end, desc = "Git Blame Line" }, + { "gf", function() Snacks.lazygit.log_file() end, desc = "Lazygit Current File History" }, + { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, + { "gl", function() Snacks.lazygit.log() end, desc = "Lazygit Log (cwd)" }, + { + "N", + desc = "Neovim News", + function() + Snacks.win({ + file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1], + width = 0.6, + height = 0.8, + wo = { + spell = false, + wrap = false, + signcolumn = "yes", + statuscolumn = " ", + conceallevel = 3, + }, + }) + end, + } + }, + init = function() + vim.api.nvim_create_autocmd("User", { + pattern = "VeryLazy", + callback = function() + _G.dd = function(...) + Snacks.debug.inspect(...) + end + _G.bt = function() + Snacks.debug.backtrace() + end + vim.print = _G.dd + -- Create some toggle mappings + Snacks.toggle.option("spell", { name = "Spelling" }):map("us") + Snacks.toggle.option("wrap", { name = "Wrap" }):map("uw") + end, + }) + end, +} diff --git a/nvim/lua/plugins/tab.lua b/nvim/lua/plugins/tab.lua new file mode 100755 index 0000000..c08ff00 --- /dev/null +++ b/nvim/lua/plugins/tab.lua @@ -0,0 +1,20 @@ +return { + 'kdheepak/tabline.nvim', + config = function() + require'tabline'.setup { + enable = true, + options = { + section_separators = { '', ''}, + component_separators = {'|', "|"}, + max_bufferline_percent = 80, + show_tabs_always = true, + show_devicons = true, + show_bufnr = false, + show_filename_only = true, + modified_italic = true, + show_tabs_only = false, + } + } + end, + requires = {'hoob3rt/lualine.nvim', 'kyazdani42/nvim-web-devicons'} +} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100755 index 0000000..d64e673 --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,89 @@ +return { + { + "nvim-telescope/telescope.nvim", + tag = "0.1.8", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local builtin = require("telescope.builtin") + vim.keymap.set("n", "", builtin.find_files, {}) + vim.keymap.set("n", "", builtin.live_grep, {}) + + -- Function for searching and scoping into a directory + function search_and_scope_into_directory() + builtin.find_files({ + prompt_title = "Search Directories", + find_command = {"fd", "--type", "d", "--hidden", "--follow"}, + attach_mappings = function(prompt_bufnr, map) + local actions = require("telescope.actions") + actions.select_default:replace(function() + local selection = require("telescope.actions.state").get_selected_entry() + local selected_dir = selection.path + + -- Change the current working directory to the selected directory + vim.cmd("cd " .. selected_dir) + actions.close(prompt_bufnr) + end) + return true + end, + }) + end + + -- Keybinding to trigger directory search and scoping + vim.keymap.set("n", "", search_and_scope_into_directory) + end + }, + { + "nvim-telescope/telescope-ui-select.nvim", + config = function() + require("telescope").setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown({}), + }, + }, + defaults = { + file_ignore_patterns = { + "node_modules", "build", "dist", "yarn.lock" + }, + vimgrep_arguments = { + "rg", + "--follow", + "--hidden", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + "--glob=!**/.git/*", + "--glob=!**/.idea/*", + "--glob=!**/.vscode/*", + "--glob=!**/build/*", + "--glob=!**/dist/*", + "--glob=!**/yarn.lock", + "--glob=!**/package-lock.json", + }, + }, + + pickers = { + find_files = { + hidden = true, + find_command = { + "rg", + "--files", + "--hidden", + "--glob=!**/.git/*", + "--glob=!**/.idea/*", + "--glob=!**/.vscode/*", + "--glob=!**/build/*", + "--glob=!**/dist/*", + "--glob=!**/yarn.lock", + "--glob=!**/package-lock.json", + }, + }, + }, + }) + require("telescope").load_extension("ui-select") + end, + }, +} + diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua new file mode 100755 index 0000000..8af9fca --- /dev/null +++ b/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,12 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + local config = require("nvim-treesitter.configs") + config.setup({ + auto_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end, +} diff --git a/nvim/lua/plugins/typr.lua b/nvim/lua/plugins/typr.lua new file mode 100755 index 0000000..7f5bd68 --- /dev/null +++ b/nvim/lua/plugins/typr.lua @@ -0,0 +1,12 @@ +return { + "nvzone/typr", + dependencies = "nvzone/volt", + opts = { + kblayout = { + { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p" }, + { "a", "s", "d", "f", "g", "h", "j", "k", "l", ";" }, + { "z", "x", "c", "v", "b", "n", "m", ",", ".", "/" }, + }, + }, + cmd = { "Typr", "TyprStats" }, +} diff --git a/nvim/lua/vim-options.lua b/nvim/lua/vim-options.lua new file mode 100755 index 0000000..d11811f --- /dev/null +++ b/nvim/lua/vim-options.lua @@ -0,0 +1,16 @@ +-- Basic vim options +vim.opt.relativenumber = false +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.smartindent = true +vim.opt.wrap = false +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undofile = true +vim.opt.hlsearch = false +vim.opt.incsearch = true +vim.opt.termguicolors = true +vim.opt.scrolloff = 8 +vim.opt.updatetime = 50 +vim.opt.colorcolumn = "80"