diff --git a/nvim/coc-settings.json b/nvim/coc-settings.json index 0bb2950..c1367b5 100644 --- a/nvim/coc-settings.json +++ b/nvim/coc-settings.json @@ -1,5 +1,15 @@ { - "codeLens.enable": true, + "coc.preferences.formatOnSaveFiletypes": ["gunk", "go", "css", "svelte", "typescript", "javascript"], + "coc.preferences.currentFunctionSymbolAutoUpdate": true, + "diagnostic.virtualText": true, + "diagnostic.virtualTextCurrentLineOnly": true, + "diagnostic.virtualTextPrefix": " ⇒ ", + "diagnostic.virtualTextLineSeparator": "|", + "diagnostic.errorSign": "✘", + "diagnostic.warningSign": "!", + "diagnostic.infoSign": "?", + "diagnostic.checkCurrentLine": true, + "codeLens.enable": false, "languageserver": { "golang": { "command": "gopls", @@ -16,16 +26,33 @@ "L": ["wait", "expandable?", "expand", "open"] } }, - "markdownlint.config": { - "default": true, - "MD001": false, - "MD007": false, - "MD012": false, - "MD013": false, - "MD024": false, - "MD032": false, - "MD033": false, - "MD041": false + "suggest.completionItemKindLabels": { + "class": "", + "color": "", + "constant": "", + "constructor": "", + "default": "", + "enum": "", + "enumMember": "", + "event": "鬒", + "field": "", + "file": "", + "folder": "", + "function": "ƒ", + "interface": "", + "keyword": "", + "method": "", + "module": "פּ", + "operator": "", + "property": "", + "reference": "", + "snippet": "", + "struct": "", + "text": "", + "typeParameter": "", + "unit": "", + "value": "", + "variable": "⒳" }, "go.goplsOptions": { "completeUnimported": true, @@ -33,22 +60,58 @@ "hoverKind": "SynopsisDocumentation", "linksInHover": false }, - "typescript": { - "implementationsCodeLense.enable": false, - "referencesCodeLens.enable": false - }, - "javascript": { - "implementationsCodeLense.enable": false, - "referencesCodeLens.enable": false - }, - "Lua": { - "workspace.library": { - "/usr/share/nvim/runtime/lua": true, - "/usr/share/nvim/runtime/lua/vim": true, - "/usr/share/nvim/runtime/lua/vim/lsp": true, - }, - "diagnostics": { - "globals": ["vim"] + "cSpell.allowCompoundWords": true, + "cSpell.enabledLanguageIds": [ "markdown", "pandoc" ], + "cSpell.languagesettings": [ + + { + "languageId": "gunk", + "local": "en", + "dictionaries": ["wordsEn", "softwareTerms", "misc", "go"] } - } + ], + "cSpell.userWords": [ + "Brankas", + "GRPC", + "Glitchless", + "Gorm", + "Idempotency", + "Minecraft", + "ORMs", + "Overworld", + "Piglin", + "Speedrunning", + "accountingreports", + "appstatus", + "authorizationholds", + "discordgo", + "emptypb", + "fset", + "glaccounts", + "gohtml", + "hhhapz", + "livestreams", + "newpage", + "nums", + "openapiv", + "pagebreak", + "pkgs", + "proto", + "protobuf", + "protoc", + "resends", + "speedrun", + "speedrunner", + "speedrunners", + "speedruns", + "struct", + "teamortix", + "textwidth", + "unban" + ], + "coc-gunk": { + "server.args": ["-lint"] + }, + "svelte.enable-ts-plugin": true + } diff --git a/nvim/init.vim b/nvim/init.vim index 1a70b46..2331f87 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -5,13 +5,12 @@ so ~/.config/nvim/word_processing.vim " --Plugin Configurations let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#whitespace#enabled = 0 let g:airline_powerline_fonts = 1 let g:airline_theme='base16_bespin' -let g:formatdef_gunk = '"gunk format -"' -let g:formatters_gunk = ['gunk'] -let g:go_go_fmt_command="gopls" +" let g:formatdef_gunk = '"gunk format -"' +" let g:formatters_gunk = ['gunk'] let g:go_gopls_enabled = 1 -let g:go_gopls_gofumpt=1 let g:pandoc#command#autoexec_command = "Pandoc! pdf --citeproc" let g:pandoc#formatting#mode = 'ha' let g:pandoc#formatting#textwidth = 100 @@ -44,7 +43,7 @@ set guicursor+=a:blinkon0 set nofoldenable set updatetime=300 set shortmess+=c -set mouse=a +set mouse=ar " Indentation and highlighting filetype on @@ -68,18 +67,13 @@ hi Normal guibg=#NONE ctermbg=NONE set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} lua <', ''}, - hide_cursor = true, - stop_eof = true, - use_local_scrolloff = false, - respect_scrolloff = false, - cursor_scrolls_alone = true, - easing_function = nil, - pre_hook = nil, - post_hook = nil, +-- telescope + +require'telescope'.setup { + defaults = { + initial_mode = "normal" } +} -- better syntax highlighting require'nvim-treesitter.configs'.setup { @@ -107,7 +101,7 @@ nnoremap :bprev nnoremap :bnext inoremap :bprev inoremap :bnext -nnoremap gf :e +nnoremap gf :e noremap noremap @@ -123,6 +117,10 @@ nnoremap w :e nnoremap E :Files nnoremap b :Buffers nnoremap d :bp:bd # +nnoremap ff Telescope find_files +nnoremap fg Telescope live_grep +nnoremap fb Telescope buffers +nnoremap fh Telescope help_tags nmap a (coc-codeaction-selected) noremap y :VCopy @@ -130,12 +128,13 @@ vnoremap y :VCopyVisual noremap pd :Pandoc pdf --citeproc -Vmainfont="TeX Gyre Schola" \ -Vmathfont="TeX Gyre Schola Math" -Vdocumentclass="scrartcl" \ --resource-path=images --highlight-style ~/.config/pandoc/code.theme - \ -Fpandoc-crossref -Fpandoc-include -Fpantable + \ -Fpandoc-crossref -Fpandoc-include -Fpantable nnoremap g :GoRun nnoremap f :PrettierAsync nnoremap so :so ~/.config/nvim/init.vim nnoremap e :CocCommand explorer --toggle +nnoremap lg :CocCommand workspace.showOutput coc-gunk noremap dap } p noremap vap :m '<-2gv=gv @@ -148,6 +147,11 @@ nmap gr (coc-references) nmap rn (coc-rename) nnoremap o :CocList outline +let g:copilot_filetypes = { + \ '*': v:false, + \ 'gunk': v:true, + \ } + """""""""""""""""""""""""""""""""""""""" " " " FILE TYPES " @@ -160,7 +164,8 @@ autocmd FileType html,css,scss autocmd FileType javascript,typescript,typescriptreact,svelte \ setlocal ts=2 sts=2 sw=2 expandtab autocmd BufNewFile,BufRead *.markdown,*.text - \ setlocal ts=2 sts=2 sw=2 textwidth=100 colorcolumn=101 + \ setlocal ts=2 sts=2 sw=2 + \ set textwidth=100 colorcolumn=101 autocmd FileType sql \setlocal ts=2 sts=2 sw=2 expandtab autocmd BufNewFile,BufRead *.md.tmpl @@ -185,8 +190,8 @@ autocmd BufNewFile,BufRead *.gltf \ setlocal filetype=gltf syntax=json autocmd BufNewFile,BufRead *.frag \ setlocal filetype=glsl syntax=glsl -autocmd BufWrite *.gunk - \ :Autoformat +" autocmd BufWrite *.gunk +" \ :Autoformat let g:coc_snippet_next = '' let g:coc_snippetnext = '' @@ -249,3 +254,4 @@ augroup mygroup autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') augroup end +noremap py :! clear; python % diff --git a/nvim/plugins.vim b/nvim/plugins.vim index a1e7532..081619e 100644 --- a/nvim/plugins.vim +++ b/nvim/plugins.vim @@ -1,17 +1,16 @@ call plug#begin() +Plug 'chrisbra/Colorizer' Plug 'KabbAmine/vCoolor.vim' Plug 'ap/vim-css-color' Plug 'cespare/vim-toml' -Plug 'chiedo/vim-case-convert' Plug 'evanleck/vim-svelte', {'branch': 'main'} Plug 'fatih/vim-go' Plug 'github/copilot.vim' -Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']} Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' -Plug 'karb94/neoscroll.nvim' -Plug 'lervag/vimtex' +Plug 'nvim-lua/plenary.nvim' +Plug 'nvim-telescope/telescope.nvim' Plug 'machakann/vim-highlightedyank' Plug 'mattn/emmet-vim' Plug 'neoclide/coc.nvim', {'branch': 'release'} @@ -29,5 +28,6 @@ Plug 'vim-autoformat/vim-autoformat' Plug 'vim-pandoc/vim-pandoc' Plug 'vim-pandoc/vim-pandoc-syntax' Plug '~/code/misc/vcopy.nvim' +Plug 'hashivim/vim-terraform' call plug#end() diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add index 613a63a..cfc7869 100644 --- a/nvim/spell/en.utf-8.add +++ b/nvim/spell/en.utf-8.add @@ -85,3 +85,18 @@ Haskell IBCS middleware middlewares +speedrunning +YouTuber +livestreams +RSG +Piglin +Piglins +Q2 +Q1 +during +COVID +gameplay +lockdown +Tegnell +FlyQuest +LabQuest diff --git a/nvim/spell/en.utf-8.add.spl b/nvim/spell/en.utf-8.add.spl index d8278f5..402118d 100644 Binary files a/nvim/spell/en.utf-8.add.spl and b/nvim/spell/en.utf-8.add.spl differ diff --git a/picom/picom.conf b/picom/picom.conf new file mode 100644 index 0000000..74ab704 --- /dev/null +++ b/picom/picom.conf @@ -0,0 +1,232 @@ +################################# +# +# Adapted for Regolith from https://gist.github.com/vemacs/458d101ad0bfb79ab70792ecb977c40c +# +################################# + +################################# +# +# Backend +# +################################# + +# Backend to use: "xrender" or "glx". +# GLX backend is typically much faster but depends on a sane driver. +backend = "glx"; + +################################# +# +# GLX backend +# +################################# + +glx-no-stencil = true; + +# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all. +# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, +# but a 20% increase when only 1/4 is. +# My tests on nouveau show terrible slowdown. +# Useful with --glx-swap-method, as well. +glx-copy-from-front = false; + +# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. +# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated. +# May break VSync and is not available on some drivers. +# Overrides --glx-copy-from-front. +# glx-use-copysubbuffermesa = true; + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe). +# Recommended if it works. +glx-no-rebind-pixmap = true; + +use-damage = true; + +# Additionally use X Sync fence to sync clients' draw calls. +# Needed on nvidia-drivers with GLX backend for some users. +xrender-sync-fence = true; + +################################# +# +# Shadows +# +################################# + +# Enabled client-side shadows on windows. +shadow = false; +# The blur radius for shadows. (default 12) +shadow-radius = 7; +# The left offset for shadows. (default -15) +shadow-offset-x = -5; +# The top offset for shadows. (default -15) +shadow-offset-y = -5; +# The translucency for shadows. (default .75) +shadow-opacity = 0.8; + +# Set if you want different colour shadows +# shadow-red = 0.0; +# shadow-green = 0.0; +# shadow-blue = 0.0; + +# The shadow exclude options are helpful if you have shadows enabled. Due to the way picom draws its shadows, certain applications will have visual glitches +# (most applications are fine, only apps that do weird things with xshapes or argb are affected). +# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. +shadow-exclude = [ + "! name~=''", + "name = 'Notification'", + "name = 'Plank'", + "name = 'Docky'", + "name = 'Kupfer'", + "name = 'xfce4-notifyd'", + "name *= 'VLC'", + "name *= 'polybar'", + "name *= 'Dunst'", + "name *= 'compton'", + "name *= 'picom'", + "name *= 'cpt_frame_window'", + "name *= 'Chromium'", + "name *= 'Chrome'", + "name *= 'wrapper-2.0'", + "class_g = 'Firefox' && argb", + "class_g = 'Conky'", + "class_g = 'Kupfer'", + "class_g = 'Synapse'", + "class_g ?= 'Notify-osd'", + "class_g ?= 'Cairo-dock'", + "_GTK_FRAME_EXTENTS@:c" +]; +# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) +shadow-ignore-shaped = false; + +################################# +# +# Opacity +# +################################# + +inactive-opacity = 1; +active-opacity = 1; +frame-opacity = 1; +inactive-opacity-override = false; + +# Dim inactive windows. (0.0 - 1.0) +inactive-dim = 0.05; +# Do not let dimness adjust based on window opacity. +inactive-dim-fixed = true; +# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred. +# blur-background = true; +# Blur background of opaque windows with transparent frames as well. +# blur-background-frame = true; +# Do not let blur radius adjust based on window opacity. +blur-background-fixed = false; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + +################################# +# +# Fading +# +################################# + +# Fade windows during opacity changes. +fading = true; +# The time between steps in a fade in milliseconds. (default 10). +fade-delta = 3; +# Opacity change between steps while fading in. (default 0.028). +fade-in-step = 0.03; +# Opacity change between steps while fading out. (default 0.03). +fade-out-step = 0.03; +# Fade windows in/out when opening/closing +no-fading-openclose = false; + +# Specify a list of conditions of windows that should not be faded. +fade-exclude = [ ]; + +################################# +# +# Other +# +################################# + +# Try to detect WM windows and mark them as active. +mark-wmwin-focused = true; +# Mark all non-WM but override-redirect windows active (e.g. menus). +mark-ovredir-focused = true; +# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events. +# Usually more reliable but depends on a EWMH-compliant WM. +use-ewmh-active-win = true; +# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. +detect-rounded-corners = true; + +# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows. +# This prevents opacity being ignored for some apps. +# For example without this enabled my xfce4-notifyd is 100% opacity no matter what. +detect-client-opacity = true; + +# Specify refresh rate of the screen. +# If not specified or 0, picom will try detecting this with X RandR extension. +refresh-rate = 0; + +# Set VSync. +vsync = true; + +# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. +# Reported to have no effect, though. +dbe = false; + +# Limit picom to repaint at most once every 1 / refresh_rate second to boost performance. +# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +sw-opti = false; + +# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. +# Known to cause flickering when redirecting/unredirecting windows. +# paint-on-overlay may make the flickering less obvious. +unredir-if-possible = true; + +# Specify a list of conditions of windows that should always be considered focused. +focus-exclude = [ ]; + +# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time. +detect-transient = true; +# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time. +# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too. +detect-client-leader = true; + +# Prevent shadows from drawing across displays. +xinerama-shadow-crop = true; + +################################# +# +# Window type settings +# +################################# + +wintypes: +{ + tooltip = + { + # fade: Fade the particular type of windows. + fade = true; + # shadow: Give those windows shadow + shadow = false; + # opacity: Default opacity for the type of windows. + opacity = 0.85; + # focus: Whether to always consider windows of this type focused. + focus = true; + }; + dock = { shadow = true; } + dnd = { shadow = false; } + popup_menu = { + opacity = 1.0; + shadow = false; + fade = false; + } + dropdown_menu = { + opacity = 1.0; + fade = false; + } +}; +