Updates :)
This commit is contained in:
16
nvim/init.lua
Normal file
16
nvim/init.lua
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
require("blakeridgway.plugins-setup")
|
||||||
|
require("blakeridgway.core.options")
|
||||||
|
require("blakeridgway.core.keymaps")
|
||||||
|
require("blakeridgway.core.colorscheme")
|
||||||
|
require("blakeridgway.plugins.comment")
|
||||||
|
require("blakeridgway.plugins.nvim-tree")
|
||||||
|
require("blakeridgway.plugins.lualine")
|
||||||
|
require("blakeridgway.plugins.telescope")
|
||||||
|
require("blakeridgway.plugins.nvim-cmp")
|
||||||
|
require("blakeridgway.plugins.lsp.mason")
|
||||||
|
require("blakeridgway.plugins.lsp.lspconfig")
|
||||||
|
require("blakeridgway.plugins.lsp.null-ls")
|
||||||
|
require("blakeridgway.plugins.autopairs")
|
||||||
|
require("blakeridgway.plugins.treesitter")
|
||||||
|
require("blakeridgway.plugins.gitsigns")
|
||||||
|
require("blakeridgway.plugins.discord")
|
||||||
7
nvim/lua/blakeridgway/core/colorscheme.lua
Normal file
7
nvim/lua/blakeridgway/core/colorscheme.lua
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
-- set colorscheme to nightfly with protected call
|
||||||
|
-- in case it isn't installed
|
||||||
|
local status, _ = pcall(vim.cmd, "colorscheme nightfly")
|
||||||
|
if not status then
|
||||||
|
print("Colorscheme not found!") -- print error if colorscheme not installed
|
||||||
|
return
|
||||||
|
end
|
||||||
55
nvim/lua/blakeridgway/core/keymaps.lua
Normal file
55
nvim/lua/blakeridgway/core/keymaps.lua
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
-- set leader key to space
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
local keymap = vim.keymap -- for conciseness
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
-- General Keymaps
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
-- use jk to exit insert mode
|
||||||
|
keymap.set("i", "jk", "<ESC>")
|
||||||
|
|
||||||
|
-- clear search highlights
|
||||||
|
keymap.set("n", "<leader>nh", ":nohl<CR>")
|
||||||
|
|
||||||
|
-- delete single character without copying into register
|
||||||
|
keymap.set("n", "x", '"_x')
|
||||||
|
|
||||||
|
-- increment/decrement numbers
|
||||||
|
keymap.set("n", "<leader>+", "<C-a>") -- increment
|
||||||
|
keymap.set("n", "<leader>-", "<C-x>") -- decrement
|
||||||
|
|
||||||
|
-- window management
|
||||||
|
keymap.set("n", "<leader>sv", "<C-w>v") -- split window vertically
|
||||||
|
keymap.set("n", "<leader>sh", "<C-w>s") -- split window horizontally
|
||||||
|
keymap.set("n", "<leader>se", "<C-w>=") -- make split windows equal width & height
|
||||||
|
keymap.set("n", "<leader>sx", ":close<CR>") -- close current split window
|
||||||
|
|
||||||
|
keymap.set("n", "<leader>to", ":tabnew<CR>") -- open new tab
|
||||||
|
keymap.set("n", "<leader>tx", ":tabclose<CR>") -- close current tab
|
||||||
|
keymap.set("n", "<leader>tn", ":tabn<CR>") -- go to next tab
|
||||||
|
keymap.set("n", "<leader>tp", ":tabp<CR>") -- go to previous tab
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
-- Plugin Keybinds
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
-- vim-maximizer
|
||||||
|
keymap.set("n", "<leader>sm", ":MaximizerToggle<CR>") -- toggle split window maximization
|
||||||
|
|
||||||
|
-- nvim-tree
|
||||||
|
keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>") -- toggle file explorer
|
||||||
|
|
||||||
|
-- telescope
|
||||||
|
keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>") -- find files within current working directory, respects .gitignore
|
||||||
|
keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>") -- find string in current working directory as you type
|
||||||
|
keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>") -- find string under cursor in current working directory
|
||||||
|
keymap.set("n", "<leader>fb", "<cmd>Telescope buffers<cr>") -- list open buffers in current neovim instance
|
||||||
|
keymap.set("n", "<leader>fh", "<cmd>Telescope help_tags<cr>") -- list available help tags
|
||||||
|
|
||||||
|
-- telescope git commands
|
||||||
|
keymap.set("n", "<leader>gc", "<cmd>Telescope git_commits<cr>") -- list all git commits (use <cr> to checkout) ["gc" for git commits]
|
||||||
|
keymap.set("n", "<leader>gfc", "<cmd>Telescope git_bcommits<cr>") -- list git commits for current file/buffer (use <cr> to checkout) ["gfc" for git file commits]
|
||||||
|
keymap.set("n", "<leader>gb", "<cmd>Telescope git_branches<cr>") -- list git branches (use <cr> to checkout) ["gb" for git branch]
|
||||||
|
keymap.set("n", "<leader>gs", "<cmd>Telescope git_status<cr>") -- list current changes per file with diff preview ["gs" for git status]
|
||||||
41
nvim/lua/blakeridgway/core/options.lua
Normal file
41
nvim/lua/blakeridgway/core/options.lua
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
local opt = vim.opt -- for conciseness
|
||||||
|
|
||||||
|
-- line numbers
|
||||||
|
opt.relativenumber = true -- show relative line numbers
|
||||||
|
opt.number = true -- shows absolute line number on cursor line (when relative number is on)
|
||||||
|
|
||||||
|
-- tabs & indentation
|
||||||
|
opt.tabstop = 2 -- 2 spaces for tabs (prettier default)
|
||||||
|
opt.shiftwidth = 2 -- 2 spaces for indent width
|
||||||
|
opt.expandtab = true -- expand tab to spaces
|
||||||
|
opt.autoindent = true -- copy indent from current line when starting new one
|
||||||
|
|
||||||
|
-- line wrapping
|
||||||
|
opt.wrap = false -- disable line wrapping
|
||||||
|
|
||||||
|
-- search settings
|
||||||
|
opt.ignorecase = true -- ignore case when searching
|
||||||
|
opt.smartcase = true -- if you include mixed case in your search, assumes you want case-sensitive
|
||||||
|
|
||||||
|
-- cursor line
|
||||||
|
opt.cursorline = true -- highlight the current cursor line
|
||||||
|
|
||||||
|
-- appearance
|
||||||
|
|
||||||
|
-- turn on termguicolors for nightfly colorscheme to work
|
||||||
|
-- (have to use iterm2 or any other true color terminal)
|
||||||
|
opt.termguicolors = true
|
||||||
|
opt.background = "dark" -- colorschemes that can be light or dark will be made dark
|
||||||
|
opt.signcolumn = "yes" -- show sign column so that text doesn't shift
|
||||||
|
|
||||||
|
-- backspace
|
||||||
|
opt.backspace = "indent,eol,start" -- allow backspace on indent, end of line or insert mode start position
|
||||||
|
|
||||||
|
-- clipboard
|
||||||
|
opt.clipboard:append("unnamedplus") -- use system clipboard as default register
|
||||||
|
|
||||||
|
-- split windows
|
||||||
|
opt.splitright = true -- split vertical window to the right
|
||||||
|
opt.splitbelow = true -- split horizontal window to the bottom
|
||||||
|
|
||||||
|
opt.iskeyword:append("-") -- consider string-string as whole word
|
||||||
109
nvim/lua/blakeridgway/plugins-setup.lua
Normal file
109
nvim/lua/blakeridgway/plugins-setup.lua
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
-- auto install packer if not installed
|
||||||
|
local ensure_packer = function()
|
||||||
|
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 })
|
||||||
|
vim.cmd([[packadd packer.nvim]])
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local packer_bootstrap = ensure_packer() -- true if packer was just installed
|
||||||
|
|
||||||
|
-- autocommand that reloads neovim and installs/updates/removes plugins
|
||||||
|
-- when file is saved
|
||||||
|
vim.cmd([[
|
||||||
|
augroup packer_user_config
|
||||||
|
autocmd!
|
||||||
|
autocmd BufWritePost plugins-setup.lua source <afile> | PackerSync
|
||||||
|
augroup end
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- import packer safely
|
||||||
|
local status, packer = pcall(require, "packer")
|
||||||
|
if not status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- add list of plugins to install
|
||||||
|
return packer.startup(function(use)
|
||||||
|
-- packer can manage itself
|
||||||
|
use("wbthomason/packer.nvim")
|
||||||
|
|
||||||
|
use("nvim-lua/plenary.nvim") -- lua functions that many plugins use
|
||||||
|
|
||||||
|
use("bluz71/vim-nightfly-guicolors") -- preferred colorscheme
|
||||||
|
|
||||||
|
use("christoomey/vim-tmux-navigator") -- tmux & split window navigation
|
||||||
|
|
||||||
|
use("szw/vim-maximizer") -- maximizes and restores current window
|
||||||
|
|
||||||
|
-- essential plugins
|
||||||
|
use("tpope/vim-surround") -- add, delete, change surroundings (it's awesome)
|
||||||
|
use("inkarkat/vim-ReplaceWithRegister") -- replace with register contents using motion (gr + motion)
|
||||||
|
|
||||||
|
-- commenting with gc
|
||||||
|
use("numToStr/Comment.nvim")
|
||||||
|
|
||||||
|
-- file explorer
|
||||||
|
use("nvim-tree/nvim-tree.lua")
|
||||||
|
|
||||||
|
-- vs-code like icons
|
||||||
|
use("nvim-tree/nvim-web-devicons")
|
||||||
|
|
||||||
|
-- statusline
|
||||||
|
use("nvim-lualine/lualine.nvim")
|
||||||
|
|
||||||
|
-- fuzzy finding w/ telescope
|
||||||
|
use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- dependency for better sorting performance
|
||||||
|
use({ "nvim-telescope/telescope.nvim", tag = "0.1.0" }) -- fuzzy finder
|
||||||
|
|
||||||
|
-- autocompletion
|
||||||
|
use("hrsh7th/nvim-cmp") -- completion plugin
|
||||||
|
use("hrsh7th/cmp-buffer") -- source for text in buffer
|
||||||
|
use("hrsh7th/cmp-path") -- source for file system paths
|
||||||
|
|
||||||
|
-- snippets
|
||||||
|
use("L3MON4D3/LuaSnip") -- snippet engine
|
||||||
|
use("saadparwaiz1/cmp_luasnip") -- for autocompletion
|
||||||
|
use("rafamadriz/friendly-snippets") -- useful snippets
|
||||||
|
|
||||||
|
-- managing & installing lsp servers, linters & formatters
|
||||||
|
use("williamboman/mason.nvim") -- in charge of managing lsp servers, linters & formatters
|
||||||
|
use("williamboman/mason-lspconfig.nvim") -- bridges gap b/w mason & lspconfig
|
||||||
|
|
||||||
|
-- configuring lsp servers
|
||||||
|
use("neovim/nvim-lspconfig") -- easily configure language servers
|
||||||
|
use("hrsh7th/cmp-nvim-lsp") -- for autocompletion
|
||||||
|
use({ "glepnir/lspsaga.nvim", branch = "main" }) -- enhanced lsp uis
|
||||||
|
use("jose-elias-alvarez/typescript.nvim") -- additional functionality for typescript server (e.g. rename file & update imports)
|
||||||
|
use("onsails/lspkind.nvim") -- vs-code like icons for autocompletion
|
||||||
|
|
||||||
|
-- formatting & linting
|
||||||
|
use("jose-elias-alvarez/null-ls.nvim") -- configure formatters & linters
|
||||||
|
use("jayp0521/mason-null-ls.nvim") -- bridges gap b/w mason & null-ls
|
||||||
|
|
||||||
|
-- treesitter configuration
|
||||||
|
use({
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
run = function()
|
||||||
|
local ts_update = require("nvim-treesitter.install").update({ with_sync = true })
|
||||||
|
ts_update()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- auto closing
|
||||||
|
use("windwp/nvim-autopairs") -- autoclose parens, brackets, quotes, etc...
|
||||||
|
use({ "windwp/nvim-ts-autotag", after = "nvim-treesitter" }) -- autoclose tags
|
||||||
|
|
||||||
|
-- git integration
|
||||||
|
use("lewis6991/gitsigns.nvim") -- show line modifications on left hand side
|
||||||
|
|
||||||
|
-- discord rpc
|
||||||
|
use("andweeb/presence.nvim")
|
||||||
|
|
||||||
|
if packer_bootstrap then
|
||||||
|
require("packer").sync()
|
||||||
|
end
|
||||||
|
end)
|
||||||
29
nvim/lua/blakeridgway/plugins/autopairs.lua
Normal file
29
nvim/lua/blakeridgway/plugins/autopairs.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
local autopairs_setup, autopairs = pcall(require, "nvim-autopairs")
|
||||||
|
if not autopairs_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- configure autopairs
|
||||||
|
autopairs.setup({
|
||||||
|
check_ts = true, -- enable treesitter
|
||||||
|
ts_config = {
|
||||||
|
lua = { "string" }, -- don't add pairs in lua string treesitter nodes
|
||||||
|
javascript = { "template_string" }, -- don't add pairs in javscript template_string treesitter nodes
|
||||||
|
java = false, -- don't check treesitter on java
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- import nvim-autopairs completion functionality safely
|
||||||
|
local cmp_autopairs_setup, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp")
|
||||||
|
if not cmp_autopairs_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import nvim-cmp plugin safely (completions plugin)
|
||||||
|
local cmp_setup, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- make autopairs and completion work together
|
||||||
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
||||||
8
nvim/lua/blakeridgway/plugins/comment.lua
Normal file
8
nvim/lua/blakeridgway/plugins/comment.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
-- import comment
|
||||||
|
local setup, comment = pcall(require, "Comment")
|
||||||
|
if not setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- enable comment
|
||||||
|
comment.setup()
|
||||||
23
nvim/lua/blakeridgway/plugins/discord.lua
Normal file
23
nvim/lua/blakeridgway/plugins/discord.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
require("presence"):setup({
|
||||||
|
-- General options
|
||||||
|
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
|
||||||
|
neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image
|
||||||
|
main_image = "neovim", -- Main image display (either "neovim" or "file")
|
||||||
|
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
|
||||||
|
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
|
||||||
|
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
|
||||||
|
enable_line_number = false, -- Displays the current line number instead of the current project
|
||||||
|
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
|
||||||
|
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
|
||||||
|
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
|
||||||
|
show_time = true, -- Show the timer
|
||||||
|
|
||||||
|
-- Rich Presence text options
|
||||||
|
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
|
||||||
|
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
|
||||||
|
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
|
||||||
|
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
|
||||||
|
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
|
||||||
|
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
|
||||||
|
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
|
||||||
|
})
|
||||||
8
nvim/lua/blakeridgway/plugins/gitsigns.lua
Normal file
8
nvim/lua/blakeridgway/plugins/gitsigns.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
-- import gitsigns plugin safely
|
||||||
|
local setup, gitsigns = pcall(require, "gitsigns")
|
||||||
|
if not setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- configure/enable gitsigns
|
||||||
|
gitsigns.setup()
|
||||||
111
nvim/lua/blakeridgway/plugins/lsp/lspconfig.lua
Normal file
111
nvim/lua/blakeridgway/plugins/lsp/lspconfig.lua
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
-- import lspconfig plugin safely
|
||||||
|
local lspconfig_status, lspconfig = pcall(require, "lspconfig")
|
||||||
|
if not lspconfig_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import cmp-nvim-lsp plugin safely
|
||||||
|
local cmp_nvim_lsp_status, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
|
||||||
|
if not cmp_nvim_lsp_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import typescript plugin safely
|
||||||
|
local typescript_setup, typescript = pcall(require, "typescript")
|
||||||
|
if not typescript_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local keymap = vim.keymap -- for conciseness
|
||||||
|
|
||||||
|
-- enable keybinds only for when lsp server available
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
-- keybind options
|
||||||
|
local opts = { noremap = true, silent = true, buffer = bufnr }
|
||||||
|
|
||||||
|
-- set keybinds
|
||||||
|
keymap.set("n", "gf", "<cmd>Lspsaga lsp_finder<CR>", opts) -- show definition, references
|
||||||
|
keymap.set("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts) -- got to declaration
|
||||||
|
keymap.set("n", "gd", "<cmd>Lspsaga peek_definition<CR>", opts) -- see definition and make edits in window
|
||||||
|
keymap.set("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts) -- go to implementation
|
||||||
|
keymap.set("n", "<leader>ca", "<cmd>Lspsaga code_action<CR>", opts) -- see available code actions
|
||||||
|
keymap.set("n", "<leader>rn", "<cmd>Lspsaga rename<CR>", opts) -- smart rename
|
||||||
|
keymap.set("n", "<leader>D", "<cmd>Lspsaga show_line_diagnostics<CR>", opts) -- show diagnostics for line
|
||||||
|
keymap.set("n", "<leader>d", "<cmd>Lspsaga show_cursor_diagnostics<CR>", opts) -- show diagnostics for cursor
|
||||||
|
keymap.set("n", "[d", "<cmd>Lspsaga diagnostic_jump_prev<CR>", opts) -- jump to previous diagnostic in buffer
|
||||||
|
keymap.set("n", "]d", "<cmd>Lspsaga diagnostic_jump_next<CR>", opts) -- jump to next diagnostic in buffer
|
||||||
|
keymap.set("n", "K", "<cmd>Lspsaga hover_doc<CR>", opts) -- show documentation for what is under cursor
|
||||||
|
keymap.set("n", "<leader>o", "<cmd>LSoutlineToggle<CR>", opts) -- see outline on right hand side
|
||||||
|
|
||||||
|
-- typescript specific keymaps (e.g. rename file and update imports)
|
||||||
|
if client.name == "tsserver" then
|
||||||
|
keymap.set("n", "<leader>rf", ":TypescriptRenameFile<CR>") -- rename file and update imports
|
||||||
|
keymap.set("n", "<leader>oi", ":TypescriptOrganizeImports<CR>") -- organize imports (not in youtube nvim video)
|
||||||
|
keymap.set("n", "<leader>ru", ":TypescriptRemoveUnused<CR>") -- remove unused variables (not in youtube nvim video)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- used to enable autocompletion (assign to every lsp server config)
|
||||||
|
local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||||
|
|
||||||
|
-- Change the Diagnostic symbols in the sign column (gutter)
|
||||||
|
-- (not in youtube nvim video)
|
||||||
|
local signs = { Error = " ", Warn = " ", Hint = "ﴞ ", Info = " " }
|
||||||
|
for type, icon in pairs(signs) do
|
||||||
|
local hl = "DiagnosticSign" .. type
|
||||||
|
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- configure html server
|
||||||
|
lspconfig["html"].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- configure typescript server with plugin
|
||||||
|
typescript.setup({
|
||||||
|
server = {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- configure css server
|
||||||
|
lspconfig["cssls"].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- configure tailwindcss server
|
||||||
|
lspconfig["tailwindcss"].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- configure emmet language server
|
||||||
|
lspconfig["emmet_ls"].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte" },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- configure lua server (with special settings)
|
||||||
|
lspconfig["sumneko_lua"].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = { -- custom settings for lua
|
||||||
|
Lua = {
|
||||||
|
-- make the language server recognize "vim" global
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "vim" },
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
-- make language server aware of runtime files
|
||||||
|
library = {
|
||||||
|
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
|
||||||
|
[vim.fn.stdpath("config") .. "/lua"] = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
45
nvim/lua/blakeridgway/plugins/lsp/mason.lua
Normal file
45
nvim/lua/blakeridgway/plugins/lsp/mason.lua
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
-- import mason plugin safely
|
||||||
|
local mason_status, mason = pcall(require, "mason")
|
||||||
|
if not mason_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import mason-lspconfig plugin safely
|
||||||
|
local mason_lspconfig_status, mason_lspconfig = pcall(require, "mason-lspconfig")
|
||||||
|
if not mason_lspconfig_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import mason-null-ls plugin safely
|
||||||
|
local mason_null_ls_status, mason_null_ls = pcall(require, "mason-null-ls")
|
||||||
|
if not mason_null_ls_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- enable mason
|
||||||
|
mason.setup()
|
||||||
|
|
||||||
|
mason_lspconfig.setup({
|
||||||
|
-- list of servers for mason to install
|
||||||
|
ensure_installed = {
|
||||||
|
"tsserver",
|
||||||
|
"html",
|
||||||
|
"cssls",
|
||||||
|
"tailwindcss",
|
||||||
|
"sumneko_lua",
|
||||||
|
"emmet_ls",
|
||||||
|
},
|
||||||
|
-- auto-install configured servers (with lspconfig)
|
||||||
|
automatic_installation = true, -- not the same as ensure_installed
|
||||||
|
})
|
||||||
|
|
||||||
|
mason_null_ls.setup({
|
||||||
|
-- list of formatters & linters for mason to install
|
||||||
|
ensure_installed = {
|
||||||
|
"prettier", -- ts/js formatter
|
||||||
|
"stylua", -- lua formatter
|
||||||
|
"eslint_d", -- ts/js linter
|
||||||
|
},
|
||||||
|
-- auto-install configured formatters & linters (with null-ls)
|
||||||
|
automatic_installation = true,
|
||||||
|
})
|
||||||
48
nvim/lua/blakeridgway/plugins/lsp/null-ls.lua
Normal file
48
nvim/lua/blakeridgway/plugins/lsp/null-ls.lua
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
-- import null-ls plugin safely
|
||||||
|
local setup, null_ls = pcall(require, "null-ls")
|
||||||
|
if not setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- for conciseness
|
||||||
|
local formatting = null_ls.builtins.formatting -- to setup formatters
|
||||||
|
local diagnostics = null_ls.builtins.diagnostics -- to setup linters
|
||||||
|
|
||||||
|
-- to setup format on save
|
||||||
|
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||||
|
|
||||||
|
-- configure null_ls
|
||||||
|
null_ls.setup({
|
||||||
|
-- setup formatters & linters
|
||||||
|
sources = {
|
||||||
|
-- to disable file types use
|
||||||
|
-- "formatting.prettier.with({disabled_filetypes: {}})" (see null-ls docs)
|
||||||
|
formatting.prettier, -- js/ts formatter
|
||||||
|
formatting.stylua, -- lua formatter
|
||||||
|
diagnostics.eslint_d.with({ -- js/ts linter
|
||||||
|
-- only enable eslint if root has .eslintrc.js (not in youtube nvim video)
|
||||||
|
condition = function(utils)
|
||||||
|
return utils.root_has_file(".eslintrc.js") -- change file extension if you use something else
|
||||||
|
end,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
-- configure format on save
|
||||||
|
on_attach = function(current_client, bufnr)
|
||||||
|
if current_client.supports_method("textDocument/formatting") then
|
||||||
|
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||||
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||||
|
group = augroup,
|
||||||
|
buffer = bufnr,
|
||||||
|
callback = function()
|
||||||
|
vim.lsp.buf.format({
|
||||||
|
filter = function(client)
|
||||||
|
-- only use null-ls for formatting instead of lsp server
|
||||||
|
return client.name == "null-ls"
|
||||||
|
end,
|
||||||
|
bufnr = bufnr,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
36
nvim/lua/blakeridgway/plugins/lualine.lua
Normal file
36
nvim/lua/blakeridgway/plugins/lualine.lua
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
-- import lualine plugin safely
|
||||||
|
local status, lualine = pcall(require, "lualine")
|
||||||
|
if not status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- get lualine nightfly theme
|
||||||
|
local lualine_nightfly = require("lualine.themes.nightfly")
|
||||||
|
|
||||||
|
-- new colors for theme
|
||||||
|
local new_colors = {
|
||||||
|
blue = "#65D1FF",
|
||||||
|
green = "#3EFFDC",
|
||||||
|
violet = "#FF61EF",
|
||||||
|
yellow = "#FFDA7B",
|
||||||
|
black = "#000000",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- change nightlfy theme colors
|
||||||
|
lualine_nightfly.normal.a.bg = new_colors.blue
|
||||||
|
lualine_nightfly.insert.a.bg = new_colors.green
|
||||||
|
lualine_nightfly.visual.a.bg = new_colors.violet
|
||||||
|
lualine_nightfly.command = {
|
||||||
|
a = {
|
||||||
|
gui = "bold",
|
||||||
|
bg = new_colors.yellow,
|
||||||
|
fg = new_colors.black, -- black
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- configure lualine with modified theme
|
||||||
|
lualine.setup({
|
||||||
|
options = {
|
||||||
|
theme = lualine_nightfly,
|
||||||
|
},
|
||||||
|
})
|
||||||
53
nvim/lua/blakeridgway/plugins/nvim-cmp.lua
Normal file
53
nvim/lua/blakeridgway/plugins/nvim-cmp.lua
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
-- import nvim-cmp plugin safely
|
||||||
|
local cmp_status, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import luasnip plugin safely
|
||||||
|
local luasnip_status, luasnip = pcall(require, "luasnip")
|
||||||
|
if not luasnip_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import lspkind plugin safely
|
||||||
|
local lspkind_status, lspkind = pcall(require, "lspkind")
|
||||||
|
if not lspkind_status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- load vs-code like snippets from plugins (e.g. friendly-snippets)
|
||||||
|
require("luasnip/loaders/from_vscode").lazy_load()
|
||||||
|
|
||||||
|
vim.opt.completeopt = "menu,menuone,noselect"
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<C-k>"] = cmp.mapping.select_prev_item(), -- previous suggestion
|
||||||
|
["<C-j>"] = cmp.mapping.select_next_item(), -- next suggestion
|
||||||
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(), -- show completion suggestions
|
||||||
|
["<C-e>"] = cmp.mapping.abort(), -- close completion window
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||||
|
}),
|
||||||
|
-- sources for autocompletion
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" }, -- lsp
|
||||||
|
{ name = "luasnip" }, -- snippets
|
||||||
|
{ name = "buffer" }, -- text within current buffer
|
||||||
|
{ name = "path" }, -- file system paths
|
||||||
|
}),
|
||||||
|
-- configure lspkind for vs-code like icons
|
||||||
|
formatting = {
|
||||||
|
format = lspkind.cmp_format({
|
||||||
|
maxwidth = 50,
|
||||||
|
ellipsis_char = "...",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
})
|
||||||
35
nvim/lua/blakeridgway/plugins/nvim-tree.lua
Normal file
35
nvim/lua/blakeridgway/plugins/nvim-tree.lua
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
-- import nvim-tree plugin safely
|
||||||
|
local setup, nvimtree = pcall(require, "nvim-tree")
|
||||||
|
if not setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- settings passed of nvim-tree documentation
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
|
-- colorscheme for arrows in tree to a light blue
|
||||||
|
vim.cmd([[ highlight NvimTreeIndentMarker guifg=#3FC5FF ]])
|
||||||
|
|
||||||
|
-- config nvim-tree
|
||||||
|
nvimtree.setup({
|
||||||
|
-- folder arrow icons
|
||||||
|
renderer = {
|
||||||
|
icons = {
|
||||||
|
glyphs = {
|
||||||
|
folder = {
|
||||||
|
arrow_closed = " ",
|
||||||
|
arrow_open = " ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- no window_picker for explorer
|
||||||
|
actions = {
|
||||||
|
open_file = {
|
||||||
|
window_picker = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
26
nvim/lua/blakeridgway/plugins/telescope.lua
Normal file
26
nvim/lua/blakeridgway/plugins/telescope.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-- import telescope
|
||||||
|
local telescope_setup, telescope = pcall(require, "telescope")
|
||||||
|
if not telescope_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- import teleport actions
|
||||||
|
local actions_setup, actions = pcall(require, "telescope.actions")
|
||||||
|
if not actions_setup then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- config
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<C-k>"] = actions.move_selection_previous,
|
||||||
|
["<C-j>"] = actions.move_selection_next,
|
||||||
|
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
telescope.load_extension("fzf")
|
||||||
37
nvim/lua/blakeridgway/plugins/treesitter.lua
Normal file
37
nvim/lua/blakeridgway/plugins/treesitter.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
-- import nvim-treesitter plugin safely
|
||||||
|
local status, treesitter = pcall(require, "nvim-treesitter.configs")
|
||||||
|
if not status then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- configure treesitter
|
||||||
|
treesitter.setup({
|
||||||
|
-- enable syntax highlighting
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
-- enable indentation
|
||||||
|
indent = { enable = true },
|
||||||
|
-- enable autotagging (w/ nvim-ts-autotag plugin)
|
||||||
|
autotag = { enable = true },
|
||||||
|
-- ensure these language parsers are installed
|
||||||
|
ensure_installed = {
|
||||||
|
"json",
|
||||||
|
"javascript",
|
||||||
|
"typescript",
|
||||||
|
"tsx",
|
||||||
|
"yaml",
|
||||||
|
"html",
|
||||||
|
"css",
|
||||||
|
"markdown",
|
||||||
|
"svelte",
|
||||||
|
"graphql",
|
||||||
|
"bash",
|
||||||
|
"lua",
|
||||||
|
"vim",
|
||||||
|
"dockerfile",
|
||||||
|
"gitignore",
|
||||||
|
},
|
||||||
|
-- auto install above language parsers
|
||||||
|
auto_install = true,
|
||||||
|
})
|
||||||
266
nvim/plugin/packer_compiled.lua
Normal file
266
nvim/plugin/packer_compiled.lua
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
-- 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/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/home/bridgway/.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 = {
|
||||||
|
["Comment.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/Comment.nvim",
|
||||||
|
url = "https://github.com/numToStr/Comment.nvim"
|
||||||
|
},
|
||||||
|
LuaSnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||||
|
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||||
|
},
|
||||||
|
["cmp-buffer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lsp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
["cmp-path"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-path"
|
||||||
|
},
|
||||||
|
cmp_luasnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||||
|
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||||
|
},
|
||||||
|
["friendly-snippets"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||||
|
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||||
|
},
|
||||||
|
["gitsigns.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
|
||||||
|
url = "https://github.com/lewis6991/gitsigns.nvim"
|
||||||
|
},
|
||||||
|
["lspkind.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lspkind.nvim",
|
||||||
|
url = "https://github.com/onsails/lspkind.nvim"
|
||||||
|
},
|
||||||
|
["lspsaga.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lspsaga.nvim",
|
||||||
|
url = "https://github.com/glepnir/lspsaga.nvim"
|
||||||
|
},
|
||||||
|
["lualine.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||||
|
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||||
|
},
|
||||||
|
["mason-lspconfig.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||||
|
},
|
||||||
|
["mason-null-ls.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason-null-ls.nvim",
|
||||||
|
url = "https://github.com/jayp0521/mason-null-ls.nvim"
|
||||||
|
},
|
||||||
|
["mason.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason.nvim"
|
||||||
|
},
|
||||||
|
["null-ls.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
|
||||||
|
url = "https://github.com/jose-elias-alvarez/null-ls.nvim"
|
||||||
|
},
|
||||||
|
["nvim-autopairs"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
|
||||||
|
url = "https://github.com/windwp/nvim-autopairs"
|
||||||
|
},
|
||||||
|
["nvim-cmp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-tree.lua"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||||
|
url = "https://github.com/nvim-tree/nvim-tree.lua"
|
||||||
|
},
|
||||||
|
["nvim-treesitter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||||
|
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
["nvim-ts-autotag"] = {
|
||||||
|
load_after = {},
|
||||||
|
loaded = true,
|
||||||
|
needs_bufread = false,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/opt/nvim-ts-autotag",
|
||||||
|
url = "https://github.com/windwp/nvim-ts-autotag"
|
||||||
|
},
|
||||||
|
["nvim-web-devicons"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||||
|
url = "https://github.com/nvim-tree/nvim-web-devicons"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
["presence.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/presence.nvim",
|
||||||
|
url = "https://github.com/andweeb/presence.nvim"
|
||||||
|
},
|
||||||
|
["telescope-fzf-native.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
},
|
||||||
|
["typescript.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/typescript.nvim",
|
||||||
|
url = "https://github.com/jose-elias-alvarez/typescript.nvim"
|
||||||
|
},
|
||||||
|
["vim-ReplaceWithRegister"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-ReplaceWithRegister",
|
||||||
|
url = "https://github.com/inkarkat/vim-ReplaceWithRegister"
|
||||||
|
},
|
||||||
|
["vim-maximizer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-maximizer",
|
||||||
|
url = "https://github.com/szw/vim-maximizer"
|
||||||
|
},
|
||||||
|
["vim-nightfly-guicolors"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-nightfly-guicolors",
|
||||||
|
url = "https://github.com/bluz71/vim-nightfly-guicolors"
|
||||||
|
},
|
||||||
|
["vim-surround"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-surround",
|
||||||
|
url = "https://github.com/tpope/vim-surround"
|
||||||
|
},
|
||||||
|
["vim-tmux-navigator"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator",
|
||||||
|
url = "https://github.com/christoomey/vim-tmux-navigator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], false)
|
||||||
|
-- Load plugins in order defined by `after`
|
||||||
|
time([[Sequenced loading]], true)
|
||||||
|
vim.cmd [[ packadd nvim-treesitter ]]
|
||||||
|
vim.cmd [[ packadd nvim-ts-autotag ]]
|
||||||
|
time([[Sequenced loading]], 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
|
||||||
33
post_install
33
post_install
@@ -8,11 +8,18 @@ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flat
|
|||||||
|
|
||||||
PACKAGE_LIST=(
|
PACKAGE_LIST=(
|
||||||
bpytop
|
bpytop
|
||||||
|
cargo
|
||||||
|
gcc-c++
|
||||||
git
|
git
|
||||||
|
golang
|
||||||
|
fd-find
|
||||||
|
java-openjdk
|
||||||
neofetch
|
neofetch
|
||||||
neovim
|
neovim
|
||||||
python3
|
python3
|
||||||
python3-pip
|
python3-pip
|
||||||
|
ripgrep
|
||||||
|
rust
|
||||||
solaar
|
solaar
|
||||||
tilix
|
tilix
|
||||||
virt-manager
|
virt-manager
|
||||||
@@ -22,9 +29,8 @@ PACKAGE_LIST=(
|
|||||||
FLATPAK_LIST=(
|
FLATPAK_LIST=(
|
||||||
com.bitwarden.desktop
|
com.bitwarden.desktop
|
||||||
com.slack.Slack
|
com.slack.Slack
|
||||||
net.veloren.airshipper
|
md.obsidian.Obsidian
|
||||||
org.videolan.VLC
|
|
||||||
sh.cider.Cider
|
|
||||||
)
|
)
|
||||||
|
|
||||||
echo #######################
|
echo #######################
|
||||||
@@ -51,6 +57,18 @@ for flatpak_name in ${FLATPAK_LIST[@]}; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo #######
|
||||||
|
echo # NVM #
|
||||||
|
echo #######
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
|
||||||
|
|
||||||
|
echo ##########
|
||||||
|
echo # pynvim #
|
||||||
|
echo ##########
|
||||||
|
|
||||||
|
/usr/bin/python3 -m pip install pynvim
|
||||||
|
|
||||||
echo #######
|
echo #######
|
||||||
echo # SSH #
|
echo # SSH #
|
||||||
echo #######
|
echo #######
|
||||||
@@ -73,6 +91,12 @@ echo ######################
|
|||||||
|
|
||||||
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||||
|
|
||||||
|
echo ########
|
||||||
|
echo # Node #
|
||||||
|
echo ########
|
||||||
|
|
||||||
|
zsh nvm install node
|
||||||
|
|
||||||
echo ##################
|
echo ##################
|
||||||
echo # Setup Starship #
|
echo # Setup Starship #
|
||||||
echo ##################
|
echo ##################
|
||||||
@@ -95,8 +119,7 @@ echo ###################
|
|||||||
echo # Setting up nvim #
|
echo # Setting up nvim #
|
||||||
echo ###################
|
echo ###################
|
||||||
|
|
||||||
mkdir -p ~/.config/nvim/
|
cp -r nvim/ ~/.config/nvim/
|
||||||
echo $'set runtimepath^=~/.vim runtimepath+=~/.vim/after\nlet &packpath=&runtimepath\nsource ~/.vimrc' > ~/.config/nvim/init.vim
|
|
||||||
|
|
||||||
echo #######################
|
echo #######################
|
||||||
echo # Cleanup and Updates #
|
echo # Cleanup and Updates #
|
||||||
|
|||||||
10
zshrc
10
zshrc
@@ -1,10 +1,6 @@
|
|||||||
# Path to your oh-my-zsh installation.
|
# Path to your oh-my-zsh installation.
|
||||||
export ZSH=$HOME/.oh-my-zsh
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
# $GOPATH
|
|
||||||
export GOPATH=$HOME/go
|
|
||||||
export PATH=$PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
GITSTATUS_LOG_LEVEL=DEBUG
|
GITSTATUS_LOG_LEVEL=DEBUG
|
||||||
|
|
||||||
DEFAULT_USER="bridgway"
|
DEFAULT_USER="bridgway"
|
||||||
@@ -13,6 +9,12 @@ plugins=(git)
|
|||||||
|
|
||||||
# User configuration
|
# User configuration
|
||||||
|
|
||||||
|
export GOPATH=$HOME/go
|
||||||
|
export PATH=$PATH:/usr/local/go/bin
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
||||||
|
|
||||||
export PATH="$PATH:$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$HOME/.rvm/gems:$HOME/.rvm/bin:$HOME/bin:/usr/local/bin:/usr/local/nwjs:/usr/local/var/postgres"
|
export PATH="$PATH:$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$HOME/.rvm/gems:$HOME/.rvm/bin:$HOME/bin:/usr/local/bin:/usr/local/nwjs:/usr/local/var/postgres"
|
||||||
|
|
||||||
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
|
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
|
||||||
|
|||||||
Reference in New Issue
Block a user