From b0e54888bbd7ea348e5e83ccc7029b1891e3ccf1 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 25 Apr 2022 16:23:14 +0200 Subject: [PATCH] feat: refactor --- configs/kitty/current-theme.conf | 42 +++--- configs/kitty/kitty.conf | 4 +- configs/kitty/kitty.conf.bak | 4 +- configs/nvim/ftplugin/markdown.lua | 4 + configs/nvim/init.lua | 80 ++--------- configs/nvim/lua/configs/dashboard.lua | 56 ++++++++ configs/nvim/lua/configs/lsp.lua | 129 +++++++++--------- configs/nvim/lua/configs/snippets.lua | 65 +++++++++ configs/nvim/lua/core/autocommands.lua | 5 +- configs/nvim/lua/core/keymappings.lua | 21 +-- configs/nvim/lua/core/options.lua | 99 +++++++------- configs/nvim/lua/core/plugins.lua | 153 ++++++++++------------ configs/nvim/lua/core/theme.lua | 9 ++ configs/nvim/lua/snippets.lua | 65 --------- configs/nvim/lua/utils/install-packer.lua | 4 +- configs/{ => zsh}/.zshrc | 0 16 files changed, 369 insertions(+), 371 deletions(-) create mode 100644 configs/nvim/ftplugin/markdown.lua create mode 100644 configs/nvim/lua/configs/dashboard.lua create mode 100644 configs/nvim/lua/configs/snippets.lua create mode 100644 configs/nvim/lua/core/theme.lua delete mode 100644 configs/nvim/lua/snippets.lua rename configs/{ => zsh}/.zshrc (100%) diff --git a/configs/kitty/current-theme.conf b/configs/kitty/current-theme.conf index 29f8f9e..056ef3b 100644 --- a/configs/kitty/current-theme.conf +++ b/configs/kitty/current-theme.conf @@ -1,21 +1,21 @@ -background #000000 -foreground #fffaf3 -cursor #ffffff -selection_background #002a3a -color0 #222222 -color8 #444444 -color1 #ff000f -color9 #ff273f -color2 #8ce00a -color10 #abe05a -color3 #ffb900 -color11 #ffd141 -color4 #008df8 -color12 #0092ff -color5 #6c43a5 -color13 #9a5feb -color6 #00d7eb -color14 #67ffef -color7 #ffffff -color15 #ffffff -selection_foreground #0d0f18 +background #f8f8f8 +foreground #2a2b33 +cursor #bbbbbb +selection_background #ececec +color0 #000000 +color8 #000000 +color1 #de3d35 +color9 #de3d35 +color2 #3e953a +color10 #3e953a +color3 #d2b67b +color11 #d2b67b +color4 #2f5af3 +color12 #2f5af3 +color5 #950095 +color13 #a00095 +color6 #3e953a +color14 #3e953a +color7 #bbbbbb +color15 #ffffff +selection_foreground #f8f8f8 diff --git a/configs/kitty/kitty.conf b/configs/kitty/kitty.conf index 8948b61..8c61916 100644 --- a/configs/kitty/kitty.conf +++ b/configs/kitty/kitty.conf @@ -495,7 +495,7 @@ window_padding_width 10 #: Fade the text in inactive windows by the specified amount (a number #: between zero and one, with zero being fully faded). -# hide_window_decorations no +hide_window_decorations yes #: Hide the window decorations (title-bar and window borders) with #: yes. On macOS, titlebar-only can be used to only hide the titlebar. @@ -1314,6 +1314,6 @@ map kitty_mod+minus change_font_size all -2.0 # BEGIN_KITTY_THEME -# Argonaut +# Atom One Light include current-theme.conf # END_KITTY_THEME diff --git a/configs/kitty/kitty.conf.bak b/configs/kitty/kitty.conf.bak index 6cccc8d..c625178 100644 --- a/configs/kitty/kitty.conf.bak +++ b/configs/kitty/kitty.conf.bak @@ -495,7 +495,7 @@ window_padding_width 10 #: Fade the text in inactive windows by the specified amount (a number #: between zero and one, with zero being fully faded). -# hide_window_decorations no +hide_window_decorations yes #: Hide the window decorations (title-bar and window borders) with #: yes. On macOS, titlebar-only can be used to only hide the titlebar. @@ -1314,6 +1314,6 @@ map kitty_mod+minus change_font_size all -2.0 # BEGIN_KITTY_THEME -# Atom One Light +# Argonaut include current-theme.conf # END_KITTY_THEME diff --git a/configs/nvim/ftplugin/markdown.lua b/configs/nvim/ftplugin/markdown.lua new file mode 100644 index 0000000..41bcd2d --- /dev/null +++ b/configs/nvim/ftplugin/markdown.lua @@ -0,0 +1,4 @@ +local map = vim.api.nvim_set_keymap + + +map("i", "", ">a**", { noremap = true }) diff --git a/configs/nvim/init.lua b/configs/nvim/init.lua index f01cd8b..711ef24 100644 --- a/configs/nvim/init.lua +++ b/configs/nvim/init.lua @@ -1,21 +1,8 @@ require("utils.install-packer") local u = require("utils") -require("core.plugins") - -local g = vim.g -local cmd = vim.cmd - -if u.has_plugin("cmp") then - require "impatient" - - require "core.options" - require "core.autocommands" - require "core.keymappings" - +if u.has_plugin("packer") then local packer = require("packer") - - -- Have packer use a popup window packer.init { display = { open_fn = function() @@ -24,69 +11,28 @@ if u.has_plugin("cmp") then }, } + require "core.plugins" + require "impatient" + + require "core.options" + require "core.autocommands" + require "core.keymappings" + require "core.theme" + + require "configs.dashboard" require "configs.command-center" require "configs.notify" require "configs.lsp" require "configs.lspinstaller" require "configs.telescope" require "configs.tree" - - -- Enable Theming / Syntax - require("nightfox").setup({ - options = { - transparent = true - } - }) - cmd("colorscheme nightfox") - require "utils.theme-reloader" - require "configs.lualine" - - -- Configure Wiki - g.wiki_root = "~/Notes" - g.wiki_filetypes = { "md" } - g.wiki_link_extension = ".md" + require "configs.treesitter" + require "configs.autocomplete" + require "configs.snippets" require "overlays" - -- require "nvim-tmux-navigation".setup { - -- keybindings = { - -- left = "", - -- down = "", - -- up = "", - -- right = "", - -- last_active = "", - -- next = "" - -- } - -- } - require "nvim-autopairs".setup() - - -- Treesitter config - require "configs.treesitter" - - -- Autocompletion Setup - require "snippets" - require "configs.autocomplete" - - -- Setup rest.vim - -- require("rest-nvim").setup( - -- { - -- -- Open request results in a horizontal split - -- result_split_horizontal = false, - -- -- Skip SSL verification, useful for unknown certificates - -- skip_ssl_verification = false, - -- -- Highlight request on run - -- highlight = { - -- enabled = true, - -- timeout = 150 - -- }, - -- -- Jump to request line on run - -- jump_to_request = false - -- } - -- ) - - -- LSP Config - -- require "lsp-conf" else vim.cmd [[PackerSync]] vim.cmd [[echo Installed -> Reload]] diff --git a/configs/nvim/lua/configs/dashboard.lua b/configs/nvim/lua/configs/dashboard.lua new file mode 100644 index 0000000..bf87bf6 --- /dev/null +++ b/configs/nvim/lua/configs/dashboard.lua @@ -0,0 +1,56 @@ +----------------------------------- +-- Welcome Screen Configuration -- +----------------------------------- + +-- Call Alpha With A pcall +local status_ok, alpha = pcall(require, "alpha") +if not status_ok then + return +end + +-- Enable Alpha Dashboard +local dashboard = require("alpha.themes.dashboard") + +-- Remove These ~ ~ ~ +vim.opt.fillchars:append { eob = " " } + +-- Disable Status Line so that alpha dashboard look nice +vim.cmd [[ au User AlphaReady if winnr('$') == 1 | set laststatus=1 ]] + +-- Custom Footer +dashboard.section.footer.val = { + "Write Programs That Do One Thing And Do It Well.", +} + +-- Custom Section +dashboard.section.buttons.val = { + dashboard.button("n", " Create New file", ":set laststatus=3 | :ene startinsert "), + dashboard.button("e", " Open File Manager", ":set laststatus=3 | :NvimTreeOpen "), + dashboard.button("v", " Neovim Settings ", ":set laststatus=3 | e ~/.config/nvim/init.lua "), + dashboard.button("b", "⟳ Recent Files", ":Telescope oldfiles"), + dashboard.button("s", " Shell Configuration", ":set laststatus=3 | e ~/.config/zsh/.zshrc "), + dashboard.button("u", " Update Nvim Plugins", ":PackerUpdate "), + dashboard.button("q", " Quit Neovim", ":qa"), +} + +-- LuaVim Ascii Art +dashboard.section.header.val = { + [[███╗ ███╗ █████╗ ██╗ ██╗ ███╗ ██╗ ██╗ ██╗██╗███╗ ███╗]], + [[████╗ ████║██╔══██╗╚██╗██╔╝ ████╗ ██║ ██║ ██║██║████╗ ████║]], + [[██╔████╔██║███████║ ╚███╔╝ ██╔██╗ ██║ ██║ ██║██║██╔████╔██║]], + [[██║╚██╔╝██║██╔══██║ ██╔██╗ ██║╚██╗██║ ╚██╗ ██╔╝██║██║╚██╔╝██║]], + [[██║ ╚═╝ ██║██║ ██║██╔╝ ██╗ ██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║]], + [[╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]], +} + +-- Layout For Luavim ascii art +dashboard.config.layout = { + { type = "padding", val = 5 }, + dashboard.section.header, + { type = "padding", val = 2 }, + dashboard.section.buttons, + { type = "padding", val = 1 }, + dashboard.section.footer, +} + +alpha.setup(dashboard.opts) diff --git a/configs/nvim/lua/configs/lsp.lua b/configs/nvim/lua/configs/lsp.lua index 7dff02a..14509f5 100644 --- a/configs/nvim/lua/configs/lsp.lua +++ b/configs/nvim/lua/configs/lsp.lua @@ -2,49 +2,49 @@ local lsp = require "lspconfig" local lsp_status = require("lsp-status") -- local ts_utils = require("nvim-lsp-ts-utils") -require'nvim-lightbulb'.setup { - -- LSP client names to ignore - -- Example: {"sumneko_lua", "null-ls"} - ignore = {}, - sign = { - enabled = true, - -- Priority of the gutter sign - priority = 10, - }, - float = { - enabled = false, - -- Text to show in the popup float - text = "💡", - -- Available keys for window options: - -- - height of floating window - -- - width of floating window - -- - wrap_at character to wrap at for computing height - -- - max_width maximal width of floating window - -- - max_height maximal height of floating window - -- - pad_left number of columns to pad contents at left - -- - pad_right number of columns to pad contents at right - -- - pad_top number of lines to pad contents at top - -- - pad_bottom number of lines to pad contents at bottom - -- - offset_x x-axis offset of the floating window - -- - offset_y y-axis offset of the floating window - -- - anchor corner of float to place at the cursor (NW, NE, SW, SE) - -- - winblend transparency of the window (0-100) - win_opts = {}, - }, - virtual_text = { - enabled = false, - -- Text to show at virtual text - text = "💡", - -- highlight mode to use for virtual text (replace, combine, blend), see :help nvim_buf_set_extmark() for reference - hl_mode = "replace", - }, - status_text = { - enabled = false, - -- Text to provide when code actions are available - text = "💡", - -- Text to provide when no actions are available - text_unavailable = "" - } +require 'nvim-lightbulb'.setup { + -- LSP client names to ignore + -- Example: {"sumneko_lua", "null-ls"} + ignore = {}, + sign = { + enabled = true, + -- Priority of the gutter sign + priority = 10, + }, + float = { + enabled = false, + -- Text to show in the popup float + text = "💡", + -- Available keys for window options: + -- - height of floating window + -- - width of floating window + -- - wrap_at character to wrap at for computing height + -- - max_width maximal width of floating window + -- - max_height maximal height of floating window + -- - pad_left number of columns to pad contents at left + -- - pad_right number of columns to pad contents at right + -- - pad_top number of lines to pad contents at top + -- - pad_bottom number of lines to pad contents at bottom + -- - offset_x x-axis offset of the floating window + -- - offset_y y-axis offset of the floating window + -- - anchor corner of float to place at the cursor (NW, NE, SW, SE) + -- - winblend transparency of the window (0-100) + win_opts = {}, + }, + virtual_text = { + enabled = false, + -- Text to show at virtual text + text = "💡", + -- highlight mode to use for virtual text (replace, combine, blend), see :help nvim_buf_set_extmark() for reference + hl_mode = "replace", + }, + status_text = { + enabled = false, + -- Text to provide when code actions are available + text = "💡", + -- Text to provide when no actions are available + text_unavailable = "" + } } @@ -53,30 +53,29 @@ table.insert(runtime_path, "lua/?.lua") table.insert(runtime_path, "lua/?/init.lua") lsp.sumneko_lua.setup { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - -- Setup your lua path - path = runtime_path - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {"vim"} - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true) - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false - } - } + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Setup your lua path + path = runtime_path + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" } + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true) + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false + } } + } } -- Ltex Language Server require("grammar-guard").init() - diff --git a/configs/nvim/lua/configs/snippets.lua b/configs/nvim/lua/configs/snippets.lua new file mode 100644 index 0000000..ec3ca77 --- /dev/null +++ b/configs/nvim/lua/configs/snippets.lua @@ -0,0 +1,65 @@ +local ls = require("luasnip") + +-- some shorthands... +local s = ls.snippet +local sn = ls.snippet_node +local t = ls.text_node +local i = ls.insert_node +local f = ls.function_node +local c = ls.choice_node +local d = ls.dynamic_node + +local types = require("luasnip.util.types") + +require("luasnip.loaders.from_vscode").load({ include = { "typescript", "javascript", "html" } }) + +-- Every unspecified option will be set to the default. +ls.config.set_config( + { + history = true, + -- Update more often, :h events for more info. + updateevents = "TextChanged,TextChangedI", + ext_opts = { + [types.choiceNode] = { + active = { + virt_text = { { "choiceNode", "Comment" } } + } + } + }, + -- treesitter-hl has 100, use something higher (default is 200). + ext_base_prio = 300, + -- minimal increase in priority. + ext_prio_increase = 1, + enable_autosnippets = true +} +) + +ls.add_snippets("all", { + s({ trig = "b(%d)", regTrig = true, wordTrig = true }, { + f(function(args) return { "Captured Text: " .. args[1].captures[1] .. "." } end, {}), + i(0) + }) +}) + +ls.add_snippets("svelte", { + s("slt", { + t('") + }), + s("sc", { + t('") + }) +}) + +ls.add_snippets("typescript", { + s("sget", { + t('export async function get({'), + i(1, "params"), + t("}) {"), + i(2), + t("}"), + }) +}) diff --git a/configs/nvim/lua/core/autocommands.lua b/configs/nvim/lua/core/autocommands.lua index bdee7d3..8a28904 100644 --- a/configs/nvim/lua/core/autocommands.lua +++ b/configs/nvim/lua/core/autocommands.lua @@ -22,10 +22,9 @@ augroup SaveManualFolds augroup END ]] +vim.cmd [[autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb()]] - - -vim.api.nvim_create_autocmd("BufWritePre",{ +vim.api.nvim_create_autocmd("BufWritePre", { callback = function() vim.lsp.buf.formatting_sync(); end diff --git a/configs/nvim/lua/core/keymappings.lua b/configs/nvim/lua/core/keymappings.lua index 3d9c877..c2dd2c3 100644 --- a/configs/nvim/lua/core/keymappings.lua +++ b/configs/nvim/lua/core/keymappings.lua @@ -1,14 +1,14 @@ local map = vim.api.nvim_set_keymap local g = vim.g -local options = {noremap = true} -local remap = {noremap = false} +local options = { noremap = true } +local remap = { noremap = false } g.mapleader = " " map("n", "", ":Telescope find_files", options) map("n", "", ":Telescope live_grep", options) -map("n","",":Telescope command_center",options) +map("n", "", ":Telescope command_center", options) map("n", "", "za", options) -- LSP Functionality @@ -32,16 +32,21 @@ map("n", "", "k", options) map("n", "", "l", options) -- Browser like next/previous -map("n", "", ":bprevious",options); -map("n", "", ":bnext",options); +map("n", "", ":bprevious", options); +map("n", "", ":bnext", options); -- Backspace Delete like Browser map('i', '', 'caw', options) -map("n", "Y", "yy", options) +-- Copy visual selection to keyboard +map("v", "Y", '"+y', options) map("n", "k", "{", options) map("n", "j", "}", options) +-- Don't accidently create macros when trying to quit +map('n', 'Q', 'q', {}) +map('n', 'q', '', {}) + -- Move lines vscode style map("n", "", "move +1", options) map("n", "", "move -2", options) @@ -60,8 +65,8 @@ map("n", "gdh", ":diffget //2", options) -- Find file in NvimTree map("n", "f", ":NvimTreeFindFile", options) -map("n", "",":vsplit",options); -map("n", "",":split",options); +map("n", "", ":vsplit", options); +map("n", "", ":split", options); -- I aint no weak boy map("n", "", ":echo 'No Left for you'", options) diff --git a/configs/nvim/lua/core/options.lua b/configs/nvim/lua/core/options.lua index 37ca228..5ddc66f 100644 --- a/configs/nvim/lua/core/options.lua +++ b/configs/nvim/lua/core/options.lua @@ -1,63 +1,62 @@ - ------------- -- General -- ------------- local set = vim.opt -set.swapfile = false -- Don't use swapfile -set.updatetime = 0 -- Faster completion -set.encoding="utf-8" -- The encoding displayed -set.fileencoding="utf-8" -- The encoding written to file -set.smartindent = true -- Makes indenting smart -set.iskeyword:append("-") -- treat dash separated words as a word text object" -set.clipboard = "unnamedplus" -- Copy paste between vim and everything else -set.smarttab = true -- Makes tabbing smarter will realize you have 2 vs 4 -set.expandtab = true -- Converts tabs to spaces -set.autoindent = true -- Good auto indent -set.autochdir = true -- Your working directory will always be the same as your working directory -set.incsearch = true -- sets incremental search -set.shell = "/bin/zsh" -- Set your shell to bash or zsh -set.shortmess:append "sI" -- Disable nvim intro -vim.cmd [[set nobackup]] -- creates a backup file -vim.cmd [[set nowritebackup]] -- creates a backup file i guess -vim.cmd [[set formatoptions-=cro]] -- Stop newline continution of comments -vim.cmd [[set complete+=kspell]] -- auto complete with spellcheck -vim.cmd [[set completeopt=menuone,longest]] -- auto complete menu (It's pretty great) -vim.cmd [[set nocompatible]] -- Disable compatibility to old-time vi -set.mouse = 'a' -- Enable mouse support +set.swapfile = false -- Don't use swapfile +set.updatetime = 0 -- Faster completion +set.encoding = "utf-8" -- The encoding displayed +set.fileencoding = "utf-8" -- The encoding written to file +set.smartindent = true -- Makes indenting smart +set.iskeyword:append("-") -- treat dash separated words as a word text object" +set.clipboard = "unnamedplus" -- Copy paste between vim and everything else +set.smarttab = true -- Makes tabbing smarter will realize you have 2 vs 4 +set.expandtab = true -- Converts tabs to spaces +set.autoindent = true -- Good auto indent +set.autochdir = true -- Your working directory will always be the same as your working directory +set.incsearch = true -- sets incremental search +set.shell = "/bin/zsh" -- Set your shell to bash or zsh +set.shortmess:append "sI" -- Disable nvim intro +vim.cmd [[set nobackup]] -- creates a backup file +vim.cmd [[set nowritebackup]] -- creates a backup file i guess +vim.cmd [[set formatoptions-=cro]] -- Stop newline continution of comments +vim.cmd [[set complete+=kspell]] -- auto complete with spellcheck +vim.cmd [[set completeopt=menuone,longest]] -- auto complete menu (It's pretty great) +vim.cmd [[set nocompatible]] -- Disable compatibility to old-time vi +set.mouse = 'a' -- Enable mouse support --------------- -- Neovim UI -- --------------- -set.pumheight = 15 -- Makes popup menu smaller -set.ruler = true -- Show the cursor position all the time -set.splitbelow = true -- Horizontal splits will automatically be below -set.splitright = true -- Vertical splits will automatically be to the right -set.conceallevel = 0 -- So that I can see `` in markdown files -set.tabstop = 2 -- Insert 2 spaces for a tab -set.number = true -- Line numbers -set.background = "dark" -- tell vim what the background color looks like -set.virtualedit = "onemore" -- With This option you can move the cursor one character over the end -set.ignorecase = true -- ignores case when searching -set.smartcase = true -- turns on case sensitive search when letters are capitalized -set.termguicolors = true -- set term gui colors (most terminals support this) -set.laststatus=2 -- Always display the status line -set.title = true -- Show current txt that you editing -set.relativenumber = false -- Vim’s absolute, relative and hybrid line numbers -set.cursorline = false -- Enable highlighting of the current line -set.shiftwidth = 2 -- Change the number of space characters inserted for indentation -set.showtabline = 1 -- Always show tabs -set.cmdheight = 1 -- More space for displaying messages -vim.cmd [[set nowrap]] -- Display long lines as just one line -vim.cmd [[set noshowmode]] -- We don't need to see things like -- INSERT -- anymore -vim.cmd [[syntax enable]] -- Enables syntax highlighing -vim.cmd [[set t_Co=256]] -- Support 256 colors +set.pumheight = 15 -- Makes popup menu smaller +set.ruler = true -- Show the cursor position all the time +set.splitbelow = true -- Horizontal splits will automatically be below +set.splitright = true -- Vertical splits will automatically be to the right +set.conceallevel = 0 -- So that I can see `` in markdown files +set.tabstop = 2 -- Insert 2 spaces for a tab +set.number = true -- Line numbers +set.background = "dark" -- tell vim what the background color looks like +set.virtualedit = "onemore" -- With This option you can move the cursor one character over the end +set.ignorecase = true -- ignores case when searching +set.smartcase = true -- turns on case sensitive search when letters are capitalized +set.termguicolors = true -- set term gui colors (most terminals support this) +set.laststatus = 2 -- Always display the status line +set.title = true -- Show current txt that you editing +set.relativenumber = false -- Vim’s absolute, relative and hybrid line numbers +set.cursorline = false -- Enable highlighting of the current line +set.shiftwidth = 2 -- Change the number of space characters inserted for indentation +set.showtabline = 1 -- Always show tabs +set.cmdheight = 1 -- More space for displaying messages +vim.cmd [[set nowrap]] -- Display long lines as just one line +vim.cmd [[set noshowmode]] -- We don't need to see things like -- INSERT -- anymore +vim.cmd [[syntax enable]] -- Enables syntax highlighing +vim.cmd [[set t_Co=256]] -- Support 256 colors -- vim.cmd "set whichwrap+=<,>,[,],h,l" -- Breaks Space-Time Continuum ----------------- -- Memory, CPU -- ----------------- -set.hidden = true -- Required to keep multiple buffers open multiple buffers -set.timeoutlen = 500 -- By default timeoutlen is 1000 ms -set.lazyredraw = true -- Disable lazyredraw -set.synmaxcol = 240 -- Max column for syntax highlight -set.updatetime = 700 -- ms to wait for trigger an event +set.hidden = true -- Required to keep multiple buffers open multiple buffers +set.timeoutlen = 500 -- By default timeoutlen is 1000 ms +set.lazyredraw = true -- Disable lazyredraw +set.synmaxcol = 240 -- Max column for syntax highlight +set.updatetime = 700 -- ms to wait for trigger an event diff --git a/configs/nvim/lua/core/plugins.lua b/configs/nvim/lua/core/plugins.lua index 64b3286..e25b0a9 100644 --- a/configs/nvim/lua/core/plugins.lua +++ b/configs/nvim/lua/core/plugins.lua @@ -1,96 +1,79 @@ return require("packer").startup( - function(use) - -- Let packer manage itself - use "wbthomason/packer.nvim" + function(use) + -- Let packer manage itself + use "wbthomason/packer.nvim" + use 'lewis6991/impatient.nvim' - use 'lewis6991/impatient.nvim' + -- General Helper Functions + use "nvim-lua/plenary.nvim" - -- General Helper Functions - use "nvim-lua/plenary.nvim" + -- Theming Section + use "EdenEast/nightfox.nvim" + use "nvim-lualine/lualine.nvim" - -- Filetype Detection - -- use "nathom/filetype.nvim" + -- Layout Plugins + use "kyazdani42/nvim-web-devicons" + use "kyazdani42/nvim-tree.lua" + use "nvim-lua/popup.nvim" + -- use "mhinz/vim-startify" + use 'goolord/alpha-nvim' + use { "terrortylor/nvim-comment", config = function() require('nvim_comment').setup() end } + use "windwp/nvim-autopairs" - -- Theming Section - -- use 'folke/tokyonight.nvim' - use "EdenEast/nightfox.nvim" - use "nvim-lualine/lualine.nvim" - -- use "xiyaowong/nvim-transparent" + -- Code Navigation + use "junegunn/fzf" + use "nvim-telescope/telescope.nvim" + use "gfeiyou/command-center.nvim" - -- Layout Plugins - use "kyazdani42/nvim-web-devicons" - use "kyazdani42/nvim-tree.lua" - use "nvim-lua/popup.nvim" - use "mhinz/vim-startify" - -- use "tpope/vim-fugitive" - use "tpope/vim-commentary" - -- use "tpope/vim-surround" - -- use "lambdalisue/suda.vim" - use "windwp/nvim-autopairs" + -- Postman like features + -- use "NTBBloodbath/rest.nvim" - -- Code Navigation - -- use "alexghergh/nvim-tmux-navigation" - -- use "dense-analysis/ale" - -- use "nathanmsmith/nvim-ale-diagnostic" - use "junegunn/fzf" - use "nvim-telescope/telescope.nvim" - use "gfeiyou/command-center.nvim" + -- Obsidian / Roam like features + -- use "lervag/wiki.vim" - -- Postman like features - -- use "NTBBloodbath/rest.nvim" + use "rcarriga/nvim-notify" - -- Obsidian / Roam like features - -- use "lervag/wiki.vim" - - use "rcarriga/nvim-notify" - - -- Lsp Errors - use "folke/lsp-colors.nvim" - use "kosayoda/nvim-lightbulb" - -- use "onsails/lspkind-nvim" - use { - "folke/trouble.nvim", - requires = "kyazdani42/nvim-web-devicons", - config = function() - require("trouble").setup {} - end - } - - -- Syntax / Autocomplete - -- use "terminalnode/sway-vim-syntax" --sway config syntax - use "neovim/nvim-lspconfig" - use "hrsh7th/nvim-cmp" - use "hrsh7th/cmp-nvim-lsp" - use "hrsh7th/cmp-nvim-lua" - use "hrsh7th/cmp-path" - use "hrsh7th/cmp-calc" - use "hrsh7th/cmp-buffer" - use "hrsh7th/cmp-cmdline" - use "rafamadriz/friendly-snippets" - use "L3MON4D3/LuaSnip" - use "saadparwaiz1/cmp_luasnip" - use "williamboman/nvim-lsp-installer" - use "nvim-lua/lsp-status.nvim" - -- use "jose-elias-alvarez/nvim-lsp-ts-utils" - -- use "neoclide/jsonc.vim" - use "brymer-meneses/grammar-guard.nvim" - use { - "nvim-treesitter/nvim-treesitter", - run = ":TSUpdate" - } - - -- Autoformat - -- use "sbdchd/neoformat" - use "lukas-reineke/lsp-format.nvim" - -- use "lukas-reineke/format.nvim" - - -- General Popup Window - use "akinsho/nvim-toggleterm.lua" - - use "rktjmp/fwatch.nvim" - - -- Database Feature - use "tpope/vim-dadbod" - use "kristijanhusak/vim-dadbod-ui" + -- Lsp Errors + use "folke/lsp-colors.nvim" + use "kosayoda/nvim-lightbulb" + use { + "folke/trouble.nvim", + requires = "kyazdani42/nvim-web-devicons", + config = function() + require("trouble").setup {} end + } + + -- Syntax / Autocomplete + use "neovim/nvim-lspconfig" + use "hrsh7th/nvim-cmp" + use "hrsh7th/cmp-nvim-lsp" + use "hrsh7th/cmp-nvim-lua" + use "hrsh7th/cmp-path" + use "hrsh7th/cmp-calc" + use "hrsh7th/cmp-buffer" + use "hrsh7th/cmp-cmdline" + use "rafamadriz/friendly-snippets" + use "L3MON4D3/LuaSnip" + use "saadparwaiz1/cmp_luasnip" + use "williamboman/nvim-lsp-installer" + use "nvim-lua/lsp-status.nvim" + use "brymer-meneses/grammar-guard.nvim" + use { + "nvim-treesitter/nvim-treesitter", + run = ":TSUpdate" + } + + -- Autoformat + use "lukas-reineke/lsp-format.nvim" + + -- General Popup Window + use "akinsho/nvim-toggleterm.lua" + + use "rktjmp/fwatch.nvim" + + -- Database Feature + use "tpope/vim-dadbod" + use "kristijanhusak/vim-dadbod-ui" +end ) diff --git a/configs/nvim/lua/core/theme.lua b/configs/nvim/lua/core/theme.lua new file mode 100644 index 0000000..7226cb5 --- /dev/null +++ b/configs/nvim/lua/core/theme.lua @@ -0,0 +1,9 @@ +-- Enable Theming / Syntax +require("nightfox").setup({ + options = { + transparent = true + } +}) +vim.cmd("colorscheme nightfox") +require "utils.theme-reloader" +require "configs.lualine" diff --git a/configs/nvim/lua/snippets.lua b/configs/nvim/lua/snippets.lua deleted file mode 100644 index 6a94d58..0000000 --- a/configs/nvim/lua/snippets.lua +++ /dev/null @@ -1,65 +0,0 @@ -local ls = require("luasnip") - --- some shorthands... -local s = ls.snippet -local sn = ls.snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local c = ls.choice_node -local d = ls.dynamic_node - -local types = require("luasnip.util.types") - -require("luasnip.loaders.from_vscode").load({include = {"typescript", "javascript", "html"}}) - --- Every unspecified option will be set to the default. -ls.config.set_config( - { - history = true, - -- Update more often, :h events for more info. - updateevents = "TextChanged,TextChangedI", - ext_opts = { - [types.choiceNode] = { - active = { - virt_text = {{"choiceNode", "Comment"}} - } - } - }, - -- treesitter-hl has 100, use something higher (default is 200). - ext_base_prio = 300, - -- minimal increase in priority. - ext_prio_increase = 1, - enable_autosnippets = true - } -) - -ls.add_snippets("all", { -s({trig = "b(%d)", regTrig = true, wordTrig = true}, { - f(function(args) return {"Captured Text: " .. args[1].captures[1] .. "."} end, {}), - i(0) - }) -}) - -ls.add_snippets("svelte",{ - s("slt",{ - t('") - }), - s("sc",{ - t('") - }) -}) - -ls.add_snippets("typescript",{ - s("sget",{ - t('export async function get({'), - i(1,"params"), - t("}) {"), - i(2), - t("}"), - }) -}) diff --git a/configs/nvim/lua/utils/install-packer.lua b/configs/nvim/lua/utils/install-packer.lua index d67a631..aff4ddd 100644 --- a/configs/nvim/lua/utils/install-packer.lua +++ b/configs/nvim/lua/utils/install-packer.lua @@ -1,7 +1,5 @@ local fn = vim.fn - local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' - if fn.empty(fn.glob(install_path)) > 0 then - fn.system({'git', 'clone', '--depth=1', 'https://github.com/wbthomason/packer.nvim', install_path}) + fn.system({ 'git', 'clone', '--depth=1', 'https://github.com/wbthomason/packer.nvim', install_path }) end diff --git a/configs/.zshrc b/configs/zsh/.zshrc similarity index 100% rename from configs/.zshrc rename to configs/zsh/.zshrc