diff --git a/config/.Xresources b/config/.Xresources new file mode 100644 index 0000000..e236182 --- /dev/null +++ b/config/.Xresources @@ -0,0 +1,66 @@ +! High DPI Settings for Window Managers +!Xft.dpi: 192 +#include ".theme.xresources" + +font: monospace:12 +//*font: "Cascadia Code" +!! Dracula Xresources palette +!/* *.foreground: #F8F8F2 */ +!/* *.background: #282A36 */ +!/* *.color0: #000000 */ +!/* *.color8: #4D4D4D */ +!/* *.color1: #FF5555 */ +!/* *.color9: #FF6E67 */ +!/* *.color2: #50FA7B */ +!/* *.color10: #5AF78E */ +!/* *.color3: #F1FA8C */ +!/* *.color11: #F4F99D */ +!/* *.color4: #BD93F9 */ +!/* *.color12: #CAA9FA */ +!/* *.color5: #FF79C6 */ +!/* *.color13: #FF92D0 */ +!/* *.color6: #8BE9FD */ +!/* *.color14: #9AEDFE */ +!/* *.color7: #BFBFBF */ +!/* *.color15: #E6E6E6 */ +! +! Nord theme +!#define nord0 #2E3440 +!#define nord1 #3B4252 +!#define nord2 #434C5E +!#define nord3 #4C566A +!#define nord4 #D8DEE9 +!#define nord5 #E5E9F0 +!#define nord6 #ECEFF4 +!#define nord7 #8FBCBB +!#define nord8 #88C0D0 +!#define nord9 #81A1C1 +!#define nord10 #5E81AC +!#define nord11 #BF616A +!#define nord12 #D08770 +!#define nord13 #EBCB8B +!#define nord14 #A3BE8C +!#define nord15 #B48EAD +! +!*.foreground: nord4 +!*.background: nord0 +!*.cursorColor: nord4 +!*fading: 35 +!*fadeColor: nord3 +! +!*.color0: nord1 +!*.color1: nord11 +!*.color2: nord14 +!*.color3: nord13 +!*.color4: nord9 +!*.color5: nord15 +!*.color6: nord8 +!*.color7: nord5 +!*.color8: nord3 +!*.color9: nord11 +!*.color10: nord14 +!*.color11: nord13 +!*.color12: nord9 +!*.color13: nord15 +!*.color14: nord7 +!*.color15: nord6 diff --git a/config/.bash_profile b/config/.bash_profile new file mode 100644 index 0000000..9429ccb --- /dev/null +++ b/config/.bash_profile @@ -0,0 +1,8 @@ +export PATH="${PATH}:$HOME/.scripts" +source ~/.profile +source ~/.bashrc + + +# Added by Toolbox App +export PATH="$PATH:/home/mikec/.local/share/JetBrains/Toolbox/scripts" + diff --git a/config/.bashrc b/config/.bashrc new file mode 100644 index 0000000..fd239f6 --- /dev/null +++ b/config/.bashrc @@ -0,0 +1,172 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +export PATH=~/.local/bin:/snap/bin:/usr/sandbox/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:$PATH +PATH=$PATH:~/.local/share/gem/ruby/3.0.0/bin/:~/.scripts +PATH=$PATH:~/.cargo/bin +PATH=$PATH:~/go/bin/ +PATH=$PATH:~/.nimble/bin/ +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +#if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then +# debian_chroot=$(cat /etc/debian_chroot) +#fi +# +## set a fancy prompt (non-color, unless we know we "want" color) +#case "$TERM" in +# xterm-color) color_prompt=yes;; +#esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +force_color_prompt=yes + +#if [ -n "$force_color_prompt" ]; then +# if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then +# # We have color support; assume it's compliant with Ecma-48 +# # (ISO/IEC-6429). (Lack of such support is extremely rare, and such +# # a case would tend to support setf rather than setaf.) +# color_prompt=yes +# else +# color_prompt= +# fi +#fi +# +if [ "$color_prompt" = yes ]; then + PS1='\[\033[0;32m\]\u\[\033[00m\]\100\[\033[00m\]\h \[\033[0;32m\]\w\[\033[01;00m\]> '; else PS1='\[\033[0;32m\]\u\[\033[00m\]\100\[\033[00m\]\h \[\033[0;32m\]\w\[\033[01;00m\]> ' +#else +# PS1='\u\100\h \w> ' +fi +# +## Set 'man' colors +#if [ "$color_prompt" = yes ]; then +# man() { +# env \ +# LESS_TERMCAP_mb=$'\e[01;31m' \ +# LESS_TERMCAP_md=$'\e[01;31m' \ +# LESS_TERMCAP_me=$'\e[0m' \ +# LESS_TERMCAP_se=$'\e[0m' \ +# LESS_TERMCAP_so=$'\e[01;44;33m' \ +# LESS_TERMCAP_ue=$'\e[0m' \ +# LESS_TERMCAP_us=$'\e[01;32m' \ +# man "$@" +# } +#fi +# +#unset color_prompt force_color_prompt +# +# If this is an xterm set the title to user@host:dir +#case "$TERM" in +#xterm*|rxvt*) +# PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]" +# ;; +#*) +# ;; +#esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + alias dir='dir --color=auto' + alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +# some more ls aliases +alias ll='ls -lh' +alias la='ls -lha' +alias l='ls -CF' +alias emacs='emacs -nw' +alias dd='dd status=progress' +alias _='sudo' +alias _i='sudo -i' +alias please='sudo' +alias fucking='sudo' +alias hx='helix' +alias bat='bat --theme="base16-256"' +if [ -n "$(command -v 'eza')" ]; then + alias ls='eza' +fi + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. +export EDITOR='kak' + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then + # https://github.com/swaywm/sway/issues/595 + export _JAVA_AWT_WM_NONREPARENTING=1 + export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/ +fi +eval "$(zoxide init bash)" + +export TMUX_TMPDIR=/tmp +export TINTED_SHELL_ENABLE_BASE16_VARS=1 + +tinty_source_shell_theme() { + tinty $@ + subcommand="$1" + + if [ "$subcommand" = "apply" ] || [ "$subcommand" = "init" ]; then + tinty_data_dir="${XDG_DATA_HOME:-$HOME/.local/share}/tinted-theming/tinty" + + for tinty_script_file in $(find "$tinty_data_dir" -maxdepth 1 -type f -name "*.sh"); do + . $tinty_script_file + done + + unset tinty_data_dir + fi + + unset subcommand +} + +if [ -n "$(command -v 'tinty')" ]; then + tinty_source_shell_theme "init" + alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources' +fi + +if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then + alias kak='tmux new-session kak > /dev/null' +fi +alias enter-dev='. enter-dev.sh' +alias ssh='TERM="xterm-256color" ssh' + +export DISABLE_TELEMETRY=YES diff --git a/config/.config/kak-lsp/kak-lsp.toml b/config/.config/kak-lsp/kak-lsp.toml new file mode 100644 index 0000000..2332103 --- /dev/null +++ b/config/.config/kak-lsp/kak-lsp.toml @@ -0,0 +1,415 @@ +snippet_support = true +verbosity = 2 + +[server] +# exit session if no requests were received during given period in seconds +# works only in unix sockets mode (-s/--session) +# set to 0 to disable +timeout = 1800 # seconds = 30 minutes + +[language.bash] +filetypes = ["sh"] +roots = [".git", ".hg"] +command = "bash-language-server" +args = ["start"] + +[language.c_cpp] +filetypes = ["c", "cpp"] +roots = ["compile_commands.json", ".clangd", ".git", ".hg"] +command = "clangd" + +[language.crystal] +filetypes = ["crystal"] +roots = ["shard.yml"] +command = "scry" + +[language.css] +filetypes = ["css"] +roots = ["package.json", ".git", ".hg"] +command = "vscode-css-languageserver" +args = ["--stdio"] + +[language.less] +filetypes = ["less"] +roots = ["package.json", ".git", ".hg"] +command = "vscode-css-languageserver" +args = ["--stdio"] + +[language.scss] +filetypes = ["scss"] +roots = ["package.json", ".git", ".hg"] +command = "vscode-css-languageserver" +args = ["--stdio"] + +[language.d] +filetypes = ["d", "di"] +roots = [".git", "dub.sdl", "dub.json"] +command = "serve-d" + +[language.dart] +# start shell to find path to dart analysis server source +filetypes = ["dart"] +roots = ["pubspec.yaml", ".git", ".hg"] +command = "sh" +args = ["-c", "dart $(dirname $(command -v dart))/snapshots/analysis_server.dart.snapshot --lsp"] + +[language.elixir] +filetypes = ["elixir"] +roots = ["mix.exs"] +command = "elixir-ls" +settings_section = "elixirLS" +[language.elixir.settings.elixirLS] +# See https://github.com/elixir-lsp/elixir-ls/blob/master/apps/language_server/lib/language_server/server.ex +# dialyzerEnable = true + +[language.elm] +filetypes = ["elm"] +roots = ["elm.json"] +command = "elm-language-server" +args = ["--stdio"] +settings_section = "elmLS" +[language.elm.settings.elmLS] +# See https://github.com/elm-tooling/elm-language-server#server-settings +runtime = "node" +elmPath = "elm" +elmFormatPath = "elm-format" +elmTestPath = "elm-test" + +[language.erlang] +filetypes = ["erlang"] +# See https://github.com/erlang-ls/erlang_ls.git for more information and +# how to configure. This default config should work in most cases though. +roots = ["rebar.config", "erlang.mk", ".git", ".hg"] +command = "erlang_ls" + +[language.go] +filetypes = ["go"] +roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] +command = "gopls" +settings_section = "gopls" +[language.go.settings.gopls] +# See https://github.com/golang/tools/blob/master/gopls/doc/settings.md +# "build.buildFlags" = [] + +[language.haskell] +filetypes = ["haskell"] +roots = ["Setup.hs", "stack.yaml", "*.cabal"] +command = "haskell-language-server-wrapper" +args = ["--lsp"] +settings_section = "haskell" +[language.haskell.settings.haskell] +# See https://haskell-language-server.readthedocs.io/en/latest/configuration.html +# formattingProvider = "ormolu" + +[language.html] +filetypes = ["html"] +roots = ["package.json"] +command = "vscode-html-languageserver" +args = ["--stdio"] + +# # Commented out by default because you still need to set the paths in the JDT +# # Language Server arguments below before this can become a valid configuration. +[language.java] +filetypes = ["java"] +roots = [".git", "mvnw", "gradlew"] +command = "jdtls" +# args = [ +# "-Declipse.application=org.eclipse.jdt.ls.core.id1", +# "-Dosgi.bundles.defaultStartLevel=4", +# "-Declipse.product=org.eclipse.jdt.ls.core.product", +# "-Dlog.level=ALL", +# "-Dfile.encoding=utf-8", +# "--add-modules=ALL-SYSTEM", +# "--add-opens", +# "java.base/java.util=ALL-UNNAMED", +# "--add-opens", +# "java.base/java.lang=ALL-UNNAMED", +# "-noverify", +# "-Xmx1G", +# "-jar", +# "/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.900.v20240613-2009.jar" +# "-configuration", +# "/usr/share/jdtls/config_linux", +# "-data", +# # "/path/to/eclipse-workspace", +# ] +# [language.java.settings] +# # See https://github.dev/eclipse/eclipse.jdt.ls +# # "java.format.insertSpaces" = true + +[language.javascript] +filetypes = ["javascript"] +roots = [".flowconfig"] +command = "flow" +args = ["lsp"] + +[language.json] +filetypes = ["json"] +roots = ["package.json"] +command = "json-languageserver" +args = ["--stdio"] + +# Requires Julia packages "LanguageServer", "StaticLint" and "SymbolServer" +[language.julia] +filetypes = ["julia"] +roots = ["Project.toml", ".git", ".hg"] +command = "julia" +args = [ + "--startup-file=no", + "--history-file=no", + "-e", + """ + using LanguageServer; + using Pkg; + import StaticLint; + import SymbolServer; + import REPL; + env_path = dirname(Pkg.Types.Context().env.project_file); + server = LanguageServer.LanguageServerInstance(stdin, stdout, env_path, ""); + server.runlinter = true; + run(server); + """, +] +[language.julia.settings] +# See https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl +# Format options. See https://github.com/julia-vscode/DocumentFormat.jl/blob/master/src/DocumentFormat.jl +# "julia.format.indent" = 4 +# Lint options. See https://github.com/julia-vscode/StaticLint.jl/blob/master/src/linting/checks.jl +# "julia.lint.call" = true +# Other options, see https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl +# "julia.lint.run" = "true" + +[language.latex] +filetypes = ["latex"] +roots = [".git", ".hg"] +command = "texlab" +settings_section = "texlab" +[language.latex.settings.texlab] +# See https://github.com/latex-lsp/texlab/blob/master/docs/options.md +# +# Preview configuration for zathura with SyncTeX search. +# For other PDF viewers see https://github.com/latex-lsp/texlab/blob/master/docs/previewing.md +forwardSearch.executable = "zathura" +forwardSearch.args = [ + "%p", + "--synctex-forward", # Support texlab-forward-search + "%l:1:%f", + "--synctex-editor-command", # Inverse search: use Control+Left-Mouse-Button to jump to source. + """ + sh -c ' + echo " + evaluate-commands -client $kak_client %{ + evaluate-commands -try-client %opt{jumpclient} %{ + edit -- %{input} %{line} + } + } + " | kak -p $kak_session + ' + """, +] + +[language.lua] +filetypes = ["lua"] +roots = [".git", ".hg"] +command = "lua-language-server" +[language.lua.settings.Lua] +# See https://github.com/sumneko/vscode-lua/blob/master/setting/schema.json +# diagnostics.enable = true + +[language.nim] +filetypes = ["nim"] +roots = ["*.nimble", ".git", ".hg"] +command = "nimlangserver" + +[language.nix] +filetypes = ["nix"] +roots = ["flake.nix", "shell.nix", ".git", ".hg"] +command = "rnix-lsp" + +[language.ocaml] +filetypes = ["ocaml"] +roots = ["Makefile", "opam", "*.opam", "dune"] +command = "ocamllsp" + +[language.php] +filetypes = ["php"] +roots = [".htaccess", "composer.json"] +command = "intelephense" +args = ["--stdio"] +settings_section = "intelephense" +[language.php.settings] +intelephense.storagePath = "/tmp/intelephense" + +[language.python] +filetypes = ["python"] +roots = ["requirements.txt", "setup.py", ".git", ".hg"] +command = "pylsp" +settings_section = "_" +[language.python.settings._] +# See https://github.com/python-lsp/python-lsp-server#configuration +# pylsp.configurationSources = ["flake8"] + +[language.r] +filetypes = ["r"] +roots = ["DESCRIPTION", ".git", ".hg"] +command = "R" +args = ["--slave", "-e", "languageserver::run()"] + +[language.racket] +filetypes = ["racket"] +roots = ["info.rkt"] +command = "racket" +args = ["-l", "racket-langserver"] + +[language.reason] +filetypes = ["reason"] +roots = ["package.json", "Makefile", ".git", ".hg"] +command = "ocamllsp" + +[language.ruby] +filetypes = ["ruby"] +roots = ["Gemfile"] +command = "solargraph" +args = ["stdio"] +[language.ruby.settings] +# See https://github.com/castwide/solargraph/blob/master/lib/solargraph/language_server/host.rb +# "solargraph.completion" = true + +[language.rust] +filetypes = ["rust"] +roots = ["Cargo.toml"] +command = "sh" +args = [ + "-c", + """ + if path=$(rustup which rls 2>/dev/null); then + "$path" + else + rls + fi + """, +] +[language.rust.settings.rust] +# See https://github.com/rust-lang/rls#configuration +# features = [] + +# [language.rust] +# filetypes = ["rust"] +# roots = ["Cargo.toml"] +# command = "sh" +# args = [ +# "-c", +# """ +# if path=$(rustup which rust-analyzer 2>/dev/null); then +# "$path" +# else +# rust-analyzer +# fi +# """, +# ] +# settings_section = "rust-analyzer" +# [language.rust.settings.rust-analyzer] +# hoverActions.enable = false # kak-lsp doesn't support this at the moment +# # cargo.features = [] +# # See https://rust-analyzer.github.io/manual.html#configuration +# # If you get 'unresolved proc macro' warnings, you have two options +# # 1. The safe choice is two disable the warning: +# diagnostics.disabled = ["unresolved-proc-macro"] +# # 2. Or you can opt-in for proc macro support +# procMacro.enable = true +# cargo.loadOutDirsFromCheck = true +# # See https://github.com/rust-analyzer/rust-analyzer/issues/6448 + +[language.terraform] +filetypes = ["terraform"] +roots = ["*.tf"] +command = "terraform-ls" +args = ["serve"] +[language.terraform.settings.terraform-ls] +# See https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md +# rootModulePaths = [] + +[language.typescript] +filetypes = ["typescript"] +roots = ["package.json", "tsconfig.json", ".git", ".hg"] +command = "typescript-language-server" +args = ["--stdio"] + +# [language.typescript] +# filetypes = ["typescript"] +# roots = ["package.json", "tsconfig.json", ".git", ".hg"] +# command = "deno" +# args = ["lsp"] +# [language.typescript.settings.deno] +# enable = true +# lint = true + +[language.yaml] +filetypes = ["yaml"] +roots = [".git", ".hg"] +command = "yaml-language-server" +args = ["--stdio"] +[language.yaml.settings] +# See https://github.com/redhat-developer/yaml-language-server#language-server-settings +# Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts +# yaml.format.enable = true + +[language.zig] +filetypes = ["zig"] +roots = ["build.zig"] +command = "zls" + +# Semantic tokens support +# See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens +# for the default list of tokens and modifiers. +# However, many language servers implement their own values. +# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well. +# Examples: +# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/2645fb54ea1e764aff71dee0ecc8aceff3aabf56/client/src/common/semanticTokens.ts#L58 +# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/f6da603c7fe56c19a275dc7bab1f30fe1ad39707/crates/ide/src/syntax_highlighting.rs#L42 +[[semantic_tokens]] +token = "comment" +face = "documentation" +modifiers = ["documentation"] + +[[semantic_tokens]] +token = "comment" +face = "comment" + +[[semantic_tokens]] +token = "function" +face = "function" + +[[semantic_tokens]] +token = "keyword" +face = "keyword" + +[[semantic_tokens]] +token = "namespace" +face = "module" + +[[semantic_tokens]] +token = "operator" +face = "operator" + +[[semantic_tokens]] +token = "string" +face = "string" + +[[semantic_tokens]] +token = "type" +face = "type" + +[[semantic_tokens]] +token = "variable" +face = "default+d" +modifiers = ["readonly"] + +[[semantic_tokens]] +token = "variable" +face = "default+d" +modifiers = ["constant"] + +[[semantic_tokens]] +token = "variable" +face = "variable" diff --git a/config/.config/kak/colors/catppuccin_macchiato.kak b/config/.config/kak/colors/catppuccin_macchiato.kak new file mode 100644 index 0000000..967279c --- /dev/null +++ b/config/.config/kak/colors/catppuccin_macchiato.kak @@ -0,0 +1,163 @@ +# Catppuccin Macchiato theme for Kakoune +# +# Taken and adapted from +# + +# Color palette +declare-option str rosewater "rgb:f4dbd6" +declare-option str red "rgb:ed8796" +declare-option str mauve "rgb:c6a0f6" +declare-option str maroon "rgb:ee99a0" +declare-option str pink "rgb:f5bde6" +declare-option str cyan "rgb:7dc4e4" +declare-option str yellow "rgb:eed49f" +declare-option str green "rgb:a6da95" +declare-option str white "rgb:cad3f5" +declare-option str blue "rgb:8aadf4" +declare-option str sky "rgb:91d7e3" +declare-option str lavender "rgb:b7bdf8" +declare-option str black1 "rgb:1e2030" +declare-option str black2 "rgb:24273a" +declare-option str black3 "rgb:363a4f" +declare-option str orange "rgb:f5a97f" +declare-option str teal "rgb:8bd5ca" +declare-option str flamingo "rgb:f0c6c6" +declare-option str gray0 "rgb:5b6078" +declare-option str gray1 "rgb:6e738d" +declare-option str bright_red "%opt{red}+b" +declare-option str bright_green "%opt{green}+b" +declare-option str bright_yellow "%opt{yellow}+b" +declare-option str bright_blue "%opt{blue}+b" +declare-option str bright_cyan "%opt{cyan}+b" +declare-option str bright_white "%opt{white}+b" +declare-option str foreground %opt{white} +declare-option str background %opt{black2} +declare-option str overlay0 "rgb:8087a2" +declare-option str overlay1 "rgb:939ab7" + +# Markup +set-face global title "%opt{rosewater}" +set-face global header "%opt{bright_red}" +set-face global bold "%opt{mauve}" +set-face global italic "%opt{lavender}" +set-face global mono "%opt{green}" +set-face global block "%opt{cyan}" +set-face global link "%opt{green}" +set-face global bullet "%opt{green}" +set-face global list "%opt{white}" + +# Builtins +set-face global Default "%opt{white},%opt{background}" +set-face global PrimarySelection "%opt{gray0},%opt{lavender}" +set-face global SecondarySelection "%opt{lavender},%opt{gray0}" +set-face global PrimaryCursor "%opt{background},%opt{rosewater}" +set-face global SecondaryCursor "%opt{black1},%opt{teal}" +set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" +set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" +set-face global LineNumbers "%opt{gray1},%opt{background}" +set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" +set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" +set-face global MenuForeground "%opt{white},%opt{gray0}+b" +set-face global MenuBackground "%opt{white},%opt{black3}" +set-face global MenuInfo "%opt{black1},%opt{blue}" +set-face global Information "%opt{black1},%opt{lavender}" +set-face global Error "%opt{red},%opt{black2}" +set-face global StatusLine "%opt{white},%opt{black1}" +set-face global StatusLineMode "%opt{black2},%opt{yellow}" +set-face global StatusLineInfo "%opt{background},%opt{green}" +set-face global StatusLineValue "%opt{orange},%opt{gray0}" +set-face global StatusCursor "%opt{black1},%opt{lavender}" +set-face global Prompt "%opt{green},%opt{black2}" +set-face global MatchingChar "%opt{maroon},%opt{black2}" +set-face global Whitespace "%opt{gray1},%opt{background}+f" +set-face global WrapMarker Whitespace +set-face global BufferPadding "%opt{background},%opt{background}" + +# Code +set-face global value "%opt{orange}" +set-face global type "%opt{rosewater}" +set-face global variable "%opt{white}" +set-face global module "%opt{maroon}" +set-face global function "%opt{sky}" +set-face global string "%opt{green}" +set-face global keyword "%opt{blue}" +set-face global operator "%opt{blue}" +set-face global attribute "%opt{green}" +set-face global comment "%opt{gray1}+i" +set-face global documentation comment +set-face global meta "%opt{pink}" +set-face global builtin "%opt{lavender}+b" + +# Tree-sitter () +set-face global ts_attribute "%opt{blue}" +set-face global ts_comment "%opt{overlay0}+i" +set-face global ts_conceal "%opt{mauve}+i" +set-face global ts_constant "%opt{orange}" +set-face global ts_constant_builtin_boolean "%opt{sky}" +set-face global ts_constant_character "%opt{yellow}" +set-face global ts_constant_macro "%opt{mauve}" +set-face global ts_constructor "%opt{cyan}" +set-face global ts_diff_plus "%opt{green}" +set-face global ts_diff_minus "%opt{red}" +set-face global ts_diff_delta "%opt{blue}" +set-face global ts_diff_delta_moved "%opt{mauve}" +set-face global ts_error "%opt{red}+b" +set-face global ts_function "%opt{blue}" +set-face global ts_function_builtin "%opt{blue}+i" +set-face global ts_function_macro "%opt{mauve}" +set-face global ts_hint "%opt{blue}+b" +set-face global ts_info "%opt{green}+b" +set-face global ts_keyword "%opt{mauve}" +set-face global ts_keyword_conditional "%opt{mauve}+i" +set-face global ts_keyword_control_conditional "%opt{mauve}+i" +set-face global ts_keyword_control_directive "%opt{mauve}+i" +set-face global ts_keyword_control_import "%opt{mauve}+i" +set-face global ts_keyword_directive "%opt{mauve}+i" +set-face global ts_label "%opt{cyan}+i" +set-face global ts_markup_bold "%opt{orange}+b" +set-face global ts_markup_heading "%opt{red}" +set-face global ts_markup_heading_1 "%opt{red}" +set-face global ts_markup_heading_2 "%opt{mauve}" +set-face global ts_markup_heading_3 "%opt{green}" +set-face global ts_markup_heading_4 "%opt{yellow}" +set-face global ts_markup_heading_5 "%opt{pink}" +set-face global ts_markup_heading_6 "%opt{teal}" +set-face global ts_markup_heading_marker "%opt{orange}+b" +set-face global ts_markup_italic "%opt{pink}+i" +set-face global ts_markup_list_checked "%opt{green}" +set-face global ts_markup_list_numbered "%opt{blue}+i" +set-face global ts_markup_list_unchecked "%opt{teal}" +set-face global ts_markup_list_unnumbered "%opt{mauve}" +set-face global ts_markup_link_label "%opt{blue}" +set-face global ts_markup_link_url "%opt{teal}+u" +set-face global ts_markup_link_uri "%opt{teal}+u" +set-face global ts_markup_link_text "%opt{blue}" +set-face global ts_markup_quote "%opt{gray1}" +set-face global ts_markup_raw "%opt{green}" +set-face global ts_markup_strikethrough "%opt{gray1}+s" +set-face global ts_namespace "%opt{blue}+i" +set-face global ts_operator "%opt{sky}" +set-face global ts_property "%opt{sky}" +set-face global ts_punctuation "%opt{overlay1}" +set-face global ts_punctuation_special "%opt{sky}" +set-face global ts_special "%opt{blue}" +set-face global ts_spell "%opt{mauve}" +set-face global ts_string "%opt{green}" +set-face global ts_string_regex "%opt{orange}" +set-face global ts_string_regexp "%opt{orange}" +set-face global ts_string_escape "%opt{mauve}" +set-face global ts_string_special "%opt{blue}" +set-face global ts_string_special_path "%opt{green}" +set-face global ts_string_special_symbol "%opt{mauve}" +set-face global ts_string_symbol "%opt{red}" +set-face global ts_tag "%opt{mauve}" +set-face global ts_tag_error "%opt{red}" +set-face global ts_text "%opt{white}" +set-face global ts_text_title "%opt{mauve}" +set-face global ts_type "%opt{yellow}" +set-face global ts_type_enum_variant "%opt{flamingo}" +set-face global ts_variable "%opt{white}" +set-face global ts_variable_builtin "%opt{red}" +set-face global ts_variable_other_member "%opt{teal}" +set-face global ts_variable_parameter "%opt{maroon}+i" +set-face global ts_warning "%opt{orange}+b" diff --git a/config/.config/kak/colors/catppuccin_mocha.kak b/config/.config/kak/colors/catppuccin_mocha.kak new file mode 100644 index 0000000..730bd73 --- /dev/null +++ b/config/.config/kak/colors/catppuccin_mocha.kak @@ -0,0 +1,166 @@ +# Catppuccint Mocha theme for Kakoune +# +# Taken and adapted from +# + +# Catppuccin theme for Kakoune + +# Color palette (see https://catppuccin.com/palette) +declare-option str rosewater "rgb:f5e0dc" +declare-option str flamingo "rgb:f2cdcd" +declare-option str pink "rgb:f5c2e7" +declare-option str mauve "rgb:cba6f7" +declare-option str red "rgb:f38ba8" +declare-option str maroon "rgb:eba0ac" +declare-option str peach "rgb:fab387" +declare-option str yellow "rgb:f9e2af" +declare-option str green "rgb:a6e3a1" +declare-option str teal "rgb:94e2d5" +declare-option str sky "rgb:89dceb" +declare-option str sapphire "rgb:74c7ec" +declare-option str blue "rgb:89b4fa" +declare-option str lavender "rgb:b4befe" +declare-option str text "rgb:cdd6f4" +declare-option str subtext1 "rgb:bac2de" +declare-option str subtext0 "rgb:a6adc8" +declare-option str overlay2 "rgb:9399b2" +declare-option str overlay1 "rgb:7f849c" +declare-option str overlay0 "rgb:6c7086" +declare-option str surface2 "rgb:585b70" +declare-option str surface1 "rgb:45475a" +declare-option str surface0 "rgb:313244" +declare-option str base "rgb:1e1e2e" +declare-option str mantle "rgb:181825" +declare-option str crust "rgb:11111b" + +# Markup +set-face global title "%opt{text}+b" +set-face global header "%opt{subtext0}+b" +set-face global bold "%opt{maroon}+b" +set-face global italic "%opt{maroon}+i" +set-face global mono "%opt{green}" +set-face global block "%opt{sapphire}" +set-face global link "%opt{blue}" +set-face global bullet "%opt{peach}" +set-face global list "%opt{peach}" + +# Builtins +set-face global Default "%opt{text},%opt{base}" +set-face global PrimarySelection "%opt{text},%opt{surface2}" +set-face global SecondarySelection "%opt{text},%opt{surface2}" +set-face global PrimaryCursor "%opt{crust},%opt{rosewater}" +set-face global SecondaryCursor "%opt{text},%opt{overlay0}" +set-face global PrimaryCursorEol "%opt{surface2},%opt{lavender}" +set-face global SecondaryCursorEol "%opt{surface2},%opt{overlay1}" +set-face global LineNumbers "%opt{overlay1},%opt{base}" +set-face global LineNumberCursor "%opt{rosewater},%opt{surface2}+b" +set-face global LineNumbersWrapped "%opt{rosewater},%opt{surface2}" +set-face global MenuForeground "%opt{text},%opt{surface1}+b" +set-face global MenuBackground "%opt{text},%opt{surface0}" +set-face global MenuInfo "%opt{crust},%opt{teal}" +set-face global Information "%opt{crust},%opt{teal}" +set-face global Error "%opt{crust},%opt{red}" +set-face global DiagnosticError Error +set-face global DiagnosticWarning "%opt{yellow}" +set-face global StatusLine "%opt{text},%opt{mantle}" +set-face global StatusLineMode "%opt{crust},%opt{yellow}" +set-face global StatusLineInfo "%opt{crust},%opt{teal}" +set-face global StatusLineValue "%opt{crust},%opt{yellow}" +set-face global StatusCursor "%opt{crust},%opt{rosewater}" +set-face global Prompt "%opt{teal},%opt{base}+b" +set-face global MatchingChar "%opt{maroon},%opt{base}" +set-face global Whitespace "%opt{overlay1},%opt{base}+f" +set-face global WrapMarker Whitespace +set-face global BufferPadding "%opt{base},%opt{base}" + + +# Code +set-face global value "%opt{peach}" +set-face global type "%opt{yellow}" +set-face global variable "%opt{text}" +set-face global module "%opt{maroon}" +set-face global function "%opt{blue}" +set-face global string "%opt{green}" +set-face global keyword "%opt{mauve}" +set-face global operator "%opt{sky}" +set-face global attribute "%opt{yellow}" +set-face global comment "%opt{overlay1}+i" +set-face global documentation comment +set-face global meta "%opt{yellow}" +set-face global builtin "%opt{red}" + +# Tree-sitter () +# Copied from catppuccin_macchiato.kak +# Adjusted with https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md +set-face global ts_attribute attribute +set-face global ts_comment comment +set-face global ts_conceal "%opt{mauve}+i" +set-face global ts_constant "%opt{peach}" +set-face global ts_constant_builtin_boolean "%opt{sky}" +set-face global ts_constant_character "%opt{yellow}" +set-face global ts_constant_macro "%opt{mauve}" +set-face global ts_constructor "%opt{sky}" +set-face global ts_diff_plus "%opt{green}" +set-face global ts_diff_minus "%opt{red}" +set-face global ts_diff_delta "%opt{blue}" +set-face global ts_diff_delta_moved "%opt{mauve}" +set-face global ts_error "%opt{red}+b" +set-face global ts_function "%opt{blue}" +set-face global ts_function_builtin "%opt{blue}+i" +set-face global ts_function_macro "%opt{mauve}" +set-face global ts_hint "%opt{blue}+b" +set-face global ts_info "%opt{teal}+b" +set-face global ts_keyword "%opt{mauve}" +set-face global ts_keyword_conditional "%opt{mauve}+i" +set-face global ts_keyword_control_conditional "%opt{mauve}+i" +set-face global ts_keyword_control_directive "%opt{mauve}+i" +set-face global ts_keyword_control_import "%opt{mauve}+i" +set-face global ts_keyword_directive "%opt{mauve}+i" +set-face global ts_label "%opt{sky}+i" +set-face global ts_markup_bold "%opt{peach}+b" +set-face global ts_markup_heading "%opt{red}" +set-face global ts_markup_heading_1 "%opt{red}" +set-face global ts_markup_heading_2 "%opt{mauve}" +set-face global ts_markup_heading_3 "%opt{green}" +set-face global ts_markup_heading_4 "%opt{yellow}" +set-face global ts_markup_heading_5 "%opt{pink}" +set-face global ts_markup_heading_6 "%opt{teal}" +set-face global ts_markup_heading_marker "%opt{peach}+b" +set-face global ts_markup_italic "%opt{pink}+i" +set-face global ts_markup_list_checked "%opt{green}" +set-face global ts_markup_list_numbered "%opt{blue}+i" +set-face global ts_markup_list_unchecked "%opt{teal}" +set-face global ts_markup_list_unnumbered "%opt{mauve}" +set-face global ts_markup_link_label "%opt{blue}" +set-face global ts_markup_link_url "%opt{teal}+u" +set-face global ts_markup_link_uri "%opt{teal}+u" +set-face global ts_markup_link_text "%opt{blue}" +set-face global ts_markup_quote "%opt{overlay1}" +set-face global ts_markup_raw "%opt{green}" +set-face global ts_markup_strikethrough "%opt{overlay1}+s" +set-face global ts_namespace "%opt{blue}+i" +set-face global ts_operator "%opt{sky}" +set-face global ts_property "%opt{sky}" +set-face global ts_punctuation "%opt{overlay1}" +set-face global ts_punctuation_special "%opt{sky}" +set-face global ts_special "%opt{blue}" +set-face global ts_spell "%opt{mauve}" +set-face global ts_string string +set-face global ts_string_regex "%opt{pink}" +set-face global ts_string_regexp "%opt{pink}" +set-face global ts_string_escape "%opt{flamingo}" +set-face global ts_string_special "%opt{blue}" +set-face global ts_string_special_path "%opt{green}" +set-face global ts_string_special_symbol "%opt{mauve}" +set-face global ts_string_symbol "%opt{red}" +set-face global ts_tag "%opt{mauve}" +set-face global ts_tag_error "%opt{red}" +set-face global ts_text "%opt{text}" +set-face global ts_text_title "%opt{mauve}" +set-face global ts_type type +set-face global ts_type_enum_variant "%opt{teal}" +set-face global ts_variable variable +set-face global ts_variable_builtin builtin +set-face global ts_variable_other_member "%opt{teal}" +set-face global ts_variable_parameter "%opt{maroon}+i" +set-face global ts_warning "%opt{yellow}+b" diff --git a/config/.config/kak/colors/kakoune b/config/.config/kak/colors/kakoune new file mode 120000 index 0000000..a9f0acd --- /dev/null +++ b/config/.config/kak/colors/kakoune @@ -0,0 +1 @@ +../plugins/base16-kakoune/colors/ \ No newline at end of file diff --git a/config/.config/kak/kakrc b/config/.config/kak/kakrc new file mode 100644 index 0000000..cbc5767 --- /dev/null +++ b/config/.config/kak/kakrc @@ -0,0 +1,423 @@ +### Plugins ### +evaluate-commands %sh{ + plugins="$kak_config/plugins" + mkdir -p "$plugins" + [ ! -e "$plugins/plug.kak" ] && \ + git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak" + printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'" +} + +plug "andreyorst/plug.kak" noload + +plug "andreyorst/smarttab.kak" defer smarttab %{ + set-option global softtabstop 4 +} + +plug "occivink/kakoune-sudo-write" + +plug "kak-lsp/kak-lsp" do %{ + cargo install --locked --force --path . +} + +# plug "gustavo-hms/luar" %{ +# plug "gustavo-hms/peneira" %{ +# require-module peneira +# } +# } + +# # Color Themes +plug "tinted-theming/base16-kakoune" + +### End Of Plugins ### + +# set-option global luar_interpreter luajit + +## Treesitter ## + +eval %sh{ kak-tree-sitter -dks --with-highlighting --with-text-objects --session $kak_session } +#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session } +#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session } + +evaluate-commands %sh{ + echo "colorscheme base16-$BASE16_THEME" +} + +## Highlighting ## +hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor} +add-highlighter global/ show-matching +add-highlighter global/ column 80 MenuForeground +add-highlighter global/ show-whitespaces + +## Formatting ## +define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{ + + + hook global -group autofmt BufSetOption filetype=(zig) %{ + set-option buffer formatcmd 'zig fmt --stdin' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } + + hook global -group autofmt BufSetOption filetype=(html) %{ + set-option buffer formatcmd 'prettier --tab-width 4 --parser html' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } + + hook global -group autofmt BufSetOption filetype=(css) %{ + set-option buffer formatcmd 'prettier --tab-width 4 --parser css' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } + + hook global -group autofmt BufSetOption filetype=(javascript) %{ + set-option buffer formatcmd 'prettier --tab-width 4 --parser typescript' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } + + hook global -group autofmt BufSetOption filetype=(go) %{ + set-option buffer formatcmd 'gofmt' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } +} + +define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{ + remove-hooks global autofmt +} + +enable-autofmt + + +## Indentation ## +set global tabstop 4 +set global indentwidth 4 +hook global WinSetOption filetype=.* expandtab +hook global WinSetOption filetype=(makefile|gas) noexpandtab +hook global BufCreate .* %{ + editorconfig-load + autoconfigtab +} + +define-command sleuth -docstring 'Heuristically set buffer options' %{ + try %{ + evaluate-commands -draft %{ + # Search the first indent level + execute-keys 'gg' '/' '^\h+' '' + + # Tab vs. Space + # https://youtu.be/V7PLxL8jIl8 + try %{ + execute-keys '' '\t' '' + #set-option buffer indentwidth 0 + noexpandtab + } catch %{ + set-option buffer indentwidth %val{selection_length} + expandtab + } + } + } +} + +define-command git-status -docstring 'Show git diff' %{ + hook -group git-status global BufOpenFile .* %{ + git show-diff + } + + hook -group git-status global BufWritePost .* %{ + git show-diff + } +} + +define-command disable-git-status -docstring 'Disable git diff gutter' %{ + remove-hooks global git-status +} + +define-command sleuth-enable -docstring 'Enable sleuth' %{ + # Run sleuth when opening and saving files. + hook -group sleuth global BufOpenFile .* %{ + sleuth + } + + hook -group sleuth global BufWritePost .* %{ + sleuth + } +} + +define-command sleuth-disable -docstring 'Disable sleuth' %{ + remove-hooks global sleuth +} + +## LSP ## +lsp-enable +lsp-auto-hover-enable + +lsp-inlay-diagnostics-enable global +hook global WinSetOption filetype=(c|zig|rust|python|ruby|lua|java|html|css) %{ + hook window -group semantic-tokens BufReload .* lsp-semantic-tokens + hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens + hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens + hook -once -always window WinSetOption filetype=.* %{ + remove-hooks window semantic-tokens + } +} + +face global InfoDefault Information +face global InfoBlock Information +face global InfoBlockQuote Information +face global InfoBullet Information +face global InfoHeader Information +face global InfoLink Information +face global InfoLinkMono Information +face global InfoMono Information +face global InfoRule Information +face global InfoDiagnosticError Information +face global InfoDiagnosticHint Information +face global InfoDiagnosticInformation Information +face global InfoDiagnosticWarning Information + +set-option global lsp_config %{ +} + +define-command -docstring 'Invoke fzf to select a buffer' fzf-buffer %{ + evaluate-commands %sh{ + BUFFER=$( + ( + eval "set -- $kak_buflist" + while [ $# -gt 0 ]; do + printf "%s\0" "$1" + shift + done + ) | + fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null' + ) + BUFFER=${BUFFER/\'/\'\'} + if [ -n "$BUFFER" ]; then + printf "buffer %s" "${BUFFER}" + fi + } +} + +define-command -docstring 'live grep' live-grep %{ + evaluate-commands %sh{ + + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(rfv.sh)" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + fi + } +} + +define-command -docstring 'exact grep' exact-grep %{ + evaluate-commands %sh{ + + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(rfve.sh)" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + fi + } +} + +define-command -docstring 'search contents of current file' file-search %{ + evaluate-commands -save-regs '"' %{ + set-register dquote %sh{ mktemp } + execute-keys -draft '% cat > $kak_reg_dquote' + evaluate-commands %sh{ + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + rm $kak_reg_dquote + fi + } + } +} + +define-command -docstring 'search contents of current file with regex' regex-file-search %{ + evaluate-commands -save-regs '"' %{ + set-register dquote %sh{ mktemp } + execute-keys -draft '% cat > $kak_reg_dquote' + evaluate-commands %sh{ + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + rm $kak_reg_dquote + fi + } + } +} + +define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{ + evaluate-commands %sh{ + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + fi + } +} + +define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{ + evaluate-commands %sh{ + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + dir="$(get_local_path ${kak_buffile})" + if [ -n "$dir" ]; then + file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" + fi + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + fi + } +} + +define-command -docstring 'Pick project' -params 0 switch-project %{ + evaluate-commands %sh{ + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)" + if [ -n "$proj" ]; then + printf "cd %s\n" "$proj" + printf 'fzf-edit\n' + fi + fi + } +} + +define-command -docstring 'Project wide search' project-search %{ + evaluate-commands %sh{ + + if [ -z "${kak_client_env_TMUX}" ]; then + printf 'fail "client was not started under tmux"\n' + else + file="$(rgfs.sh)" + if [ -n "$file" ]; then + printf "edit %s\n" "$file" + fi + fi + } +} + +define-command -docstring 'Print Working Directory' -params 0 pwd %{ + evaluate-commands echo %sh{ echo "$(pwd)"} +} + +define-command -docstring 'copy to clipboard' xcopy %{ + execute-keys 'xclip -selection clipboard -i' +} + +define-command -docstring 'paste from clipboard' xpaste %{ + evaluate-commands -save-regs '"' %{ + set-register dquote %sh{ xclip -selection clipboard -o } + execute-keys 'p' + } +} + +declare-user-mode config +map -docstring 'enter config mode' global user e ':enter-user-mode config' +map -docstring 'edit kakoune config' global config k ':cd ~/.config/kak/:e ./kakrc' +map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf' +map -docstring 'edit bash config' global config b ':e ~/.bashrc' +map -docstring 'edit scripts folder' global config s ':cd ~/.scripts:fzf-edit' +map -docstring 'edit .config folder' global config c ':cd ~/.config:fzf-edit' + +declare-user-mode buffer +map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer' +map -docstring 'next buffer' global buffer n ':buffer-next' +map -docstring 'previous buffer' global buffer p ':buffer-previous' +map -docstring 'close current buffer' global buffer d ':delete-buffer!' +map -docstring 'write and close current buffer' global buffer w ':w:db' +map -docstring 'list and select a buffer' global buffer b ':fzf-buffer' + +declare-user-mode find +map -docstring 'enter find mode' global user f ':enter-user-mode find' +map -docstring 'find files' global find f ':fzf-edit' +map -docstring 'find tags for the current project' global find t ':ctags-search ' +map -docstring 'find line in current file' global find l ':file-search' +map -docstring 'find line in current file with regex' global find L ':regex-file-search' +map -docstring 'find files in current directory' global find F ':fzf-edit-local' +map -docstring "grep file contents recursively" global find g ':live-grep' +map -docstring "grep exact file contents recursively" global find e ':exact-grep' +map -docstring 'project wide search' global find p ':project-search' + +map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp' +map -docstring 'goto definition (tag)' global lsp t 'w:ctags-search' + +map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter' +map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search' + +declare-user-mode tmux +map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux' +map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}' +map -docstring 'horizontal split' global tmux h ':tmux-terminal-vertical kak -c %val{session}' +map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{session}' +map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash' +map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash' +map -docstring 'new terminal tab' global tmux T ':tmux-repl-window' +map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit' + +declare-user-mode project +map -docstring 'enter project mode' global user P ':enter-user-mode project' +map -docstring 'open project' global project o ':switch-project' + +map -docstring 'enter man mode' global user m ':enter-user-mode man' + +#map -docstring 'clipboard yank' global user y 'clip.exe' +map -docstring 'clipboard yank' global user y ':xcopy' +#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"' +map -docstring 'clipboard paste' global user p ':xpaste' + +map -docstring 'quit kakoune' global user q ':q' +map -docstring 'toggle comments' global user c ':comment-line' diff --git a/config/.config/kak/plugins/.build/kak-lsp/hooks b/config/.config/kak/plugins/.build/kak-lsp/hooks new file mode 100644 index 0000000..3e03f45 --- /dev/null +++ b/config/.config/kak/plugins/.build/kak-lsp/hooks @@ -0,0 +1,4 @@ + +set -e + + cargo install --locked --force --path . diff --git a/config/.config/kak/plugins/.build/kakoune-discord/config b/config/.config/kak/plugins/.build/kakoune-discord/config new file mode 100644 index 0000000..44db292 --- /dev/null +++ b/config/.config/kak/plugins/.build/kakoune-discord/config @@ -0,0 +1,19 @@ +try %{ + + discord-presence-enable + } catch %{ + echo -debug "Error while evaluating 'kakoune-discord' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'kakoune-discord' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/kakoune-discord/hooks b/config/.config/kak/plugins/.build/kakoune-discord/hooks new file mode 100644 index 0000000..b2eeae9 --- /dev/null +++ b/config/.config/kak/plugins/.build/kakoune-discord/hooks @@ -0,0 +1,2 @@ + + cargo install --path . --force \ No newline at end of file diff --git a/config/.config/kak/plugins/.build/kakoune-rainbow/config b/config/.config/kak/plugins/.build/kakoune-rainbow/config new file mode 100644 index 0000000..cae030a --- /dev/null +++ b/config/.config/kak/plugins/.build/kakoune-rainbow/config @@ -0,0 +1,23 @@ +try %{ + + require-module rainbow + # suggested mapping +# # map global user r ": rainbow" -docstring "rainbow brackets" +# # map global user R ": rmhl window/ranges_rainbow_specs" \ +# # -docstring "remove rainbow highlighter" + } catch %{ + echo -debug "Error while evaluating 'kakoune-rainbow' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'kakoune-rainbow' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/kakoune-rainbow/domain b/config/.config/kak/plugins/.build/kakoune-rainbow/domain new file mode 100644 index 0000000..4d97e31 --- /dev/null +++ b/config/.config/kak/plugins/.build/kakoune-rainbow/domain @@ -0,0 +1 @@ +gitlab.com \ No newline at end of file diff --git a/config/.config/kak/plugins/.build/kakoune-smooth-scroll/config b/config/.config/kak/plugins/.build/kakoune-smooth-scroll/config new file mode 100644 index 0000000..fe8be3c --- /dev/null +++ b/config/.config/kak/plugins/.build/kakoune-smooth-scroll/config @@ -0,0 +1,19 @@ +try %{ + + # configuration here + } catch %{ + echo -debug "Error while evaluating 'kakoune-smooth-scroll' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'kakoune-smooth-scroll' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/luar/config b/config/.config/kak/plugins/.build/luar/config new file mode 100644 index 0000000..319928e --- /dev/null +++ b/config/.config/kak/plugins/.build/luar/config @@ -0,0 +1,21 @@ +try %{ + + plug "gustavo-hms/peneira" %{ + require-module peneira + } + } catch %{ + echo -debug "Error while evaluating 'luar' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'luar' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/pandoc.kak/config b/config/.config/kak/plugins/.build/pandoc.kak/config new file mode 100644 index 0000000..5927b78 --- /dev/null +++ b/config/.config/kak/plugins/.build/pandoc.kak/config @@ -0,0 +1,19 @@ +try %{ + + # your config + } catch %{ + echo -debug "Error while evaluating 'pandoc.kak' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'pandoc.kak' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/peneira/config b/config/.config/kak/plugins/.build/peneira/config new file mode 100644 index 0000000..4d73538 --- /dev/null +++ b/config/.config/kak/plugins/.build/peneira/config @@ -0,0 +1,19 @@ +try %{ + + require-module peneira + } catch %{ + echo -debug "Error while evaluating 'peneira' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'peneira' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/kak/plugins/.build/tagbar.kak/config b/config/.config/kak/plugins/.build/tagbar.kak/config new file mode 100644 index 0000000..10bc9be --- /dev/null +++ b/config/.config/kak/plugins/.build/tagbar.kak/config @@ -0,0 +1,25 @@ +try %{ + + # if you have wrap highlighter enamled in you configuration + # files it's better to turn it off for tagbar, using this hook: + hook global WinSetOption filetype=tagbar %{ + remove-highlighter window/wrap + # you can also disable rendering whitespaces here, line numbers, and + # matching characters + } + } catch %{ + echo -debug "Error while evaluating 'tagbar.kak' configuration: %val{error}" + + set-option -add current plug_conf_errors "Error while evaluating 'tagbar.kak' configuration:" + set-option -add current plug_conf_errors %sh{ printf "\n " } + set-option -add current plug_conf_errors %val{error} + set-option -add current plug_conf_errors %sh{ printf "\n\n" } + + hook -once -group plug-conf-err global WinDisplay .* %{ + info -style modal -title "plug.kak error" "%opt{plug_conf_errors}" + on-key %{ + info -style modal + execute-keys -with-maps -with-hooks %val{key} + } + } +} diff --git a/config/.config/mutt/.mailsynclastrun b/config/.config/mutt/.mailsynclastrun new file mode 100644 index 0000000..e69de29 diff --git a/config/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc b/config/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc new file mode 100644 index 0000000..494eff8 --- /dev/null +++ b/config/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc @@ -0,0 +1,22 @@ +# vim: filetype=neomuttrc +# muttrc file for account chalupmc@rose-hulman.edu +set realname = "chalupmc" +set from = "chalupmc@rose-hulman.edu" +set sendmail = "msmtp -a chalupmc@rose-hulman.edu" +alias me chalupmc +set folder = "/home/mikec/.local/share/mail/chalupmc@rose-hulman.edu" +set header_cache = /home/mikec/.cache/mutt-wizard/chalupmc@rose-hulman.edu/headers +set message_cachedir = /home/mikec/.cache/mutt-wizard/chalupmc@rose-hulman.edu/bodies +set mbox_type = Maildir +set hostname = "rose-hulman.edu" +source /usr/share/mutt-wizard/switch.muttrc +set spoolfile = +INBOX +set postponed = +Drafts +set trash = +Trash +set record = +Sent + +macro index o "mw -y chalupmc@rose-hulman.edu" "run mbsync to sync chalupmc@rose-hulman.edu" +macro index \eg "unset wait_keygpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; /usr/libexec/gpg-wks-client --create \$eFGPT \$eID | msmtp --read-envelope-from --read-recipients -a chalupmc@rose-hulman.edu" "publish GPG key to WKS provider" +macro index \eh "/usr/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a chalupmc@rose-hulman.edu" "confirm GPG publication" + +mailboxes "=INBOX" "=Drafts" "=Junk" "=Trash" "=Sent" "=Archive" diff --git a/config/.config/mutt/accounts/mikec@mchalupiak.com.muttrc b/config/.config/mutt/accounts/mikec@mchalupiak.com.muttrc new file mode 100644 index 0000000..19622a6 --- /dev/null +++ b/config/.config/mutt/accounts/mikec@mchalupiak.com.muttrc @@ -0,0 +1,19 @@ +# vim: filetype=neomuttrc +# muttrc file for account mikec@mchalupiak.com +set real_name = "mikec" +set from = "mikec@mchalupiak.com" +set sendmail = "msmtp -a mikec@mchalupiak.com" +alias me mikec +set folder = "/home/mikec/.local/share/mail/mikec@mchalupiak.com" +set header_cache = "/home/mikec/.cache/mutt-wizard/mikec_mchalupiak.com/headers" +set message_cachedir = "/home/mikec/.cache/mutt-wizard/mikec_mchalupiak.com/bodies" +set mbox_type = Maildir +set hostname = "mchalupiak.com" +source /usr/share/mutt-wizard/switch.muttrc +set spool_file = "+INBOX" +set postponed = "+Drafts" +set trash = "+Trash" +set record = "+Sent" + +macro index o "mailsync mikec@mchalupiak.com" "sync mikec@mchalupiak.com" +mailboxes "=Sent" "=Drafts" "=Junk" "=INBOX" diff --git a/config/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc b/config/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc new file mode 100644 index 0000000..8dbbaa6 --- /dev/null +++ b/config/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc @@ -0,0 +1,22 @@ +# vim: filetype=neomuttrc +# muttrc file for account mikecchalupiak@outlook.com +set realname = "mikecchalupiak" +set from = "mikecchalupiak@outlook.com" +set sendmail = "msmtp -a mikecchalupiak@outlook.com" +alias me mikecchalupiak +set folder = "/home/mikec/.local/share/mail/mikecchalupiak@outlook.com" +set header_cache = /home/mikec/.cache/mutt-wizard/mikecchalupiak@outlook.com/headers +set message_cachedir = /home/mikec/.cache/mutt-wizard/mikecchalupiak@outlook.com/bodies +set mbox_type = Maildir +set hostname = "outlook.com" +source /usr/share/mutt-wizard/switch.muttrc +set spoolfile = +INBOX +set postponed = +Drafts +set trash = +Trash +set record = +Sent + +macro index o "mw -y mikecchalupiak@outlook.com" "run mbsync to sync mikecchalupiak@outlook.com" +macro index \eg "unset wait_keygpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; /usr/libexec/gpg-wks-client --create \$eFGPT \$eID | msmtp --read-envelope-from --read-recipients -a mikecchalupiak@outlook.com" "publish GPG key to WKS provider" +macro index \eh "/usr/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a mikecchalupiak@outlook.com" "confirm GPG publication" + +mailboxes "=INBOX" "=Drafts" "=Junk" "=Trash" "=Sent" "=Archive" diff --git a/config/.config/mutt/chalupmc b/config/.config/mutt/chalupmc new file mode 100644 index 0000000..9800fba Binary files /dev/null and b/config/.config/mutt/chalupmc differ diff --git a/config/.config/mutt/mikecchalupiak b/config/.config/mutt/mikecchalupiak new file mode 100644 index 0000000..1fb01fd Binary files /dev/null and b/config/.config/mutt/mikecchalupiak differ diff --git a/config/.config/mutt/muttrc b/config/.config/mutt/muttrc new file mode 100644 index 0000000..4bbf60c --- /dev/null +++ b/config/.config/mutt/muttrc @@ -0,0 +1,6 @@ +# vim: filetype=neomuttrc +source /usr/share/mutt-wizard/mutt-wizard.muttrc +source /home/mikec/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc +macro index,pager i1 'source /home/mikec/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc!;' "switch to mikecchalupiak@outlook.com" +macro index,pager i2 'source /home/mikec/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc!;' "switch to chalupmc@rose-hulman.edu" +macro index,pager i3 'source /home/mikec/.config/mutt/accounts/mikec@mchalupiak.com.muttrc!;' "switch to mikec@mchalupiak.com" diff --git a/config/.config/newsboat/cache.db b/config/.config/newsboat/cache.db new file mode 100644 index 0000000..2a8fd0d Binary files /dev/null and b/config/.config/newsboat/cache.db differ diff --git a/config/.config/newsboat/config b/config/.config/newsboat/config new file mode 100644 index 0000000..699b444 --- /dev/null +++ b/config/.config/newsboat/config @@ -0,0 +1,23 @@ +# unbind keys +# unbind-key ENTER +unbind-key j +unbind-key k +unbind-key h +unbind-key l +unbind-key g +unbind-key G + +# bind keys - vim style +bind-key j down +bind-key k up +bind-key l open +bind-key h quit +bind-key g home +bind-key G end + +podlist-format "%2i %b %> %S [%dMB / %tMB] [%p %%] [%K]" +download-filename-format "%t | %n [%F].%e" +download-path "~/podcasts/%n/" + +macro 1 set browser "curl %u --output /tmp/image && sxiv /tmp/image && rm /tmp/image"; one; set browser lynx +macro 2 set browser "mpv --vid=no -- %u"; one; set browser lynx diff --git a/config/.config/newsboat/queue b/config/.config/newsboat/queue new file mode 100644 index 0000000..e69de29 diff --git a/config/.config/newsboat/urls b/config/.config/newsboat/urls new file mode 100644 index 0000000..1db068e --- /dev/null +++ b/config/.config/newsboat/urls @@ -0,0 +1,9 @@ +https://phaazon.net/blog/feed +https://danielde.dev/rss.xml +https://sizeof.cat/index.xml +https://lukesmith.xyz/index.xml +https://api.substack.com/feed/podcast/462466.rss +https://www.dailywire.com/feeds/rss.xml +https://feeds.simplecast.com/6c2VScgo +https://feeds.simplecast.com/pp_b9xO6 +https://notrelated.xyz/rss diff --git a/config/.config/nvim/after/plugin/colors.lua b/config/.config/nvim/after/plugin/colors.lua new file mode 100755 index 0000000..9b35a4e --- /dev/null +++ b/config/.config/nvim/after/plugin/colors.lua @@ -0,0 +1,14 @@ +function colors(color) + color = color or 'vscode' + -- Available values: `'hard'`, `'medium'`, `'soft'` + vim.g.gruvbox_material_background = 'medium' + -- Available values: `'material'`, `'mix'`, `'original'` + vim.g.gruvbox_material_foreground = 'mix' + -- Available values: `'hard'`, `'medium'`, `'soft'` + vim.g.everforest_background = 'hard' + vim.g.gruvbox_material_better_performance = 1 + vim.g.everforest_better_performance = 1 + vim.cmd.colorscheme(color) +end + +colors() diff --git a/config/.config/nvim/after/plugin/lsp.lua b/config/.config/nvim/after/plugin/lsp.lua new file mode 100755 index 0000000..3feb871 --- /dev/null +++ b/config/.config/nvim/after/plugin/lsp.lua @@ -0,0 +1,90 @@ +local lsp = require('lsp-zero') +local lsp_config = require("lspconfig") + +lsp.preset('recommended') + +lsp.ensure_installed({ + 'lua_ls', +}) + +--Enable (broadcasting) snippet capability for completion +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true + +lsp_config.html.setup { + capabilities = capabilities, + filetypes = { "html", "etlua" }, +} + +lsp_config.nim_langserver.setup{ + settings = { + nim = { + projectMapping = { + projectFile = "main.nim", + fileRegex = ".*\\.nim" + } + } + } +} + +local cmp = require("cmp") +local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_mappings = lsp.defaults.cmp_mappings({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({select = true}), + [''] = cmp.mapping.complete(), +}) + +cmp.setup { + sources = { + -- { name = 'conjure' }, + { name = 'nvim_lsp_signature_help' }, + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + } +} + +lsp.set_preferences({ + sign_icons = { } +}) + +lsp.setup_nvim_cmp({ + mapping = cmp_mappings +}) + +lsp.on_attach(function(client, bufnr) + local opts = {buffer = bufnr, remap = false} + + if client.name == "eslint" then + vim.cmd.LspStop('eslint') + return + end + if client.name == "html" or client.name == "cssls" then + capabilities = capabilities + end + + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) + vim.keymap.set("n", "vws", vim.lsp.buf.workspace_symbol, opts) + vim.keymap.set("n", "vd", vim.diagnostic.open_float, opts) + vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts) + vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts) + vim.keymap.set("n", "vca", vim.lsp.buf.code_action, opts) + vim.keymap.set("n", "vrr", vim.lsp.buf.references, opts) + vim.keymap.set("n", "vrn", vim.lsp.buf.rename, opts) + vim.keymap.set("i", "", vim.lsp.buf.signature_help, opts) +end) + +lsp_config.lua_ls.setup { + -- ... other configs + settings = { + Lua = { + diagnostics = { + globals = { 'vim' } + } + } + } +} +lsp_config.racket_langserver.setup{} +lsp.setup() diff --git a/config/.config/nvim/after/plugin/telescope.lua b/config/.config/nvim/after/plugin/telescope.lua new file mode 100755 index 0000000..99cfc0e --- /dev/null +++ b/config/.config/nvim/after/plugin/telescope.lua @@ -0,0 +1,15 @@ +local builtin = require('telescope.builtin') +local telescope = require('telescope') +telescope.load_extension("workspaces") +telescope.load_extension("recent_files") +telescope.load_extension("telescope-tabs") +vim.keymap.set('n', 'ff', builtin.find_files, {}) +vim.keymap.set('n', 'fF', builtin.git_files, {}) +vim.keymap.set('n', 'fg', builtin.live_grep, {}) +vim.keymap.set('n', 'bb', builtin.buffers, {}) +vim.keymap.set('n', 'hh', builtin.help_tags, {}) +vim.keymap.set('n', 'cc', builtin.colorscheme, {}) +vim.keymap.set('n', 'wo', ":Telescope workspaces", {}) +vim.api.nvim_set_keymap("n", "fr", + [[lua require('telescope').extensions.recent_files.pick()]], + {noremap = true, silent = true}) diff --git a/config/.config/nvim/after/plugin/treesitter.lua b/config/.config/nvim/after/plugin/treesitter.lua new file mode 100755 index 0000000..81cba2d --- /dev/null +++ b/config/.config/nvim/after/plugin/treesitter.lua @@ -0,0 +1,22 @@ +require'nvim-treesitter.configs'.setup { + -- A list of parser names, or "all" + ensure_installed = { "help", "java", "c", "lua" }, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + + highlight = { + -- `false` will disable the whole extension + enable = true, + + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + }, +} diff --git a/config/.config/nvim/after/plugin/undotree.lua b/config/.config/nvim/after/plugin/undotree.lua new file mode 100755 index 0000000..97bb7ab --- /dev/null +++ b/config/.config/nvim/after/plugin/undotree.lua @@ -0,0 +1,2 @@ +vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) + diff --git a/config/.config/nvim/db_ui/connections.json b/config/.config/nvim/db_ui/connections.json new file mode 100644 index 0000000..7780eff --- /dev/null +++ b/config/.config/nvim/db_ui/connections.json @@ -0,0 +1 @@ +[{"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/SodaBasechalupmc", "name": "SodaBasechalupmc"}, {"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/NWindchalupmc", "name": "NWindchalupmc"}] diff --git a/config/.config/nvim/ftplugin/java.lua b/config/.config/nvim/ftplugin/java.lua new file mode 100755 index 0000000..39087ba --- /dev/null +++ b/config/.config/nvim/ftplugin/java.lua @@ -0,0 +1,97 @@ +-- See `:help vim.lsp.start_client` for an overview of the supported `config` options. + +--local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') +--local workspace_dir = '/path/to/workspace-root/' .. project_name +local workspace_dir = vim.fn.getcwd() +local config = { + -- The command that starts the language server + -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line + cmd = { + + -- ๐Ÿ’€ + 'jdtls', -- or '/path/to/java17_or_newer/bin/java' + -- depends on if `java` is in your $PATH env variable and if it points to the right version. + + -- '-Declipse.application=org.eclipse.jdt.ls.core.id1', + -- '-Dosgi.bundles.defaultStartLevel=4', + -- '-Declipse.product=org.eclipse.jdt.ls.core.product', + -- '-Dlog.protocol=true', + -- '-Dlog.level=ALL', + -- '-Xms1g', + -- '--add-modules=ALL-SYSTEM', + -- '--add-opens', 'java.base/java.util=ALL-UNNAMED', + -- '--add-opens', 'java.base/java.lang=ALL-UNNAMED', + -- + -- -- ๐Ÿ’€ + -- '-jar', '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar', + -- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ + -- -- Must point to the Change this to + -- -- eclipse.jdt.ls installation the actual version + -- + -- + -- -- ๐Ÿ’€ + -- '-configuration', '/usr/share/java/jdtls/config_linux', + -- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ + -- -- Must point to the Change to one of `linux`, `win` or `mac` + -- -- eclipse.jdt.ls installation Depending on your system. + -- + -- + -- -- ๐Ÿ’€ + -- -- See `data directory configuration` section in the README + -- '-data', "/home/mikec/Documents/workspace" + }, + + -- ๐Ÿ’€ + -- This is the default if not provided, you can remove it. Or adjust as needed. + -- One dedicated LSP server & client will be started per unique root_dir + root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), + + -- Here you can configure eclipse.jdt.ls specific settings + -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request + -- for a list of options + settings = { + java = { + } + }, + + -- Language server `initializationOptions` + -- You need to extend the `bundles` with paths to jar files + -- if you want to use additional eclipse.jdt.ls plugins. + -- + -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation + -- + -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this + --init_options = { + -- bundles = { + -- vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1) + -- } + --}, +} + +-- This bundles definition is the same as in the previous section (java-debug installation) +local bundles = { + vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1) +}; + +-- This is the new part +vim.list_extend(bundles, vim.split(vim.fn.glob("/path/to/microsoft/vscode-java-test/server/*.jar", 1), "\n")) +config['init_options'] = { + bundles = bundles; +} + +-- This starts a new client & server, +-- or attaches to an existing client & server depending on the `root_dir`. + +vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) +vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) +vim.keymap.set("n", "vws", vim.lsp.buf.workspace_symbol, opts) +vim.keymap.set("n", "vd", vim.diagnostic.open_float, opts) +vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts) +vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts) +vim.keymap.set("n", "vca", vim.lsp.buf.code_action, opts) +vim.keymap.set("n", "vrr", vim.lsp.buf.references, opts) +vim.keymap.set("n", "vrn", vim.lsp.buf.rename, opts) +vim.keymap.set("i", "", vim.lsp.buf.signature_help, opts) +vim.keymap.set("n", "i", function() require('jdtls').organize_imports() end, opts) + +require('jdtls').start_or_attach(config) diff --git a/config/.config/nvim/init.lua b/config/.config/nvim/init.lua new file mode 100755 index 0000000..dbc863e --- /dev/null +++ b/config/.config/nvim/init.lua @@ -0,0 +1 @@ +require("config") diff --git a/config/.config/nvim/lua/config/dadbod.lua b/config/.config/nvim/lua/config/dadbod.lua new file mode 100644 index 0000000..90c13fb --- /dev/null +++ b/config/.config/nvim/lua/config/dadbod.lua @@ -0,0 +1,29 @@ +local M = {} + +local function db_completion() + require("cmp").setup.buffer { sources = { { name = "vim-dadbod-completion" } } } +end + +function M.setup() + vim.g.db_ui_save_location = vim.fn.stdpath "config" .. require("plenary.path").path.sep .. "db_ui" + + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "sql", + }, + command = [[setlocal omnifunc=vim_dadbod_completion#omni]], + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "sql", + "mysql", + "plsql", + }, + callback = function() + vim.schedule(db_completion) + end, + }) +end + +return M diff --git a/config/.config/nvim/lua/config/init.lua b/config/.config/nvim/lua/config/init.lua new file mode 100755 index 0000000..208c9de --- /dev/null +++ b/config/.config/nvim/lua/config/init.lua @@ -0,0 +1,3 @@ +require("config.remap") +require("config.packer") +require("config.set") diff --git a/config/.config/nvim/lua/config/packer.lua b/config/.config/nvim/lua/config/packer.lua new file mode 100755 index 0000000..c007169 --- /dev/null +++ b/config/.config/nvim/lua/config/packer.lua @@ -0,0 +1,328 @@ +-- This file can be loaded by calling `lua require('plugins')` from your init.vim + +-- Only required if you have packer configured as `opt` +vim.cmd [[packadd packer.nvim]] + +return require('packer').startup(function(use) + -- Packer can manage itself + use 'wbthomason/packer.nvim' + + use { + 'nvim-telescope/telescope.nvim', + branch = '0.1.x', + requires = { { 'nvim-lua/plenary.nvim' } } + } + + use { + 'LukasPietzschmann/telescope-tabs', + requires = { 'nvim-telescope/telescope.nvim' }, + config = function() + require'telescope-tabs'.setup{ + -- Your custom config :^) + } + end + } + + use({ + 'rose-pine/neovim', + as = 'rose-pine', + -- config = function() + -- vim.cmd('colorscheme rose-pine') + -- end + }) + + use 'tanvirtin/monokai.nvim' + + use 'arzg/vim-colors-xcode' + + use 'shaunsingh/nord.nvim' + + use 'kvrohit/mellow.nvim' + + use 'Mofiqul/vscode.nvim' + + use 'Th3Whit3Wolf/one-nvim' + + use 'mhartington/oceanic-next' + + use 'folke/tokyonight.nvim' + + use 'sainnhe/gruvbox-material' + + use { "ellisonleao/gruvbox.nvim" } + + use 'sainnhe/everforest' + + use 'lourenci/github-colors' + + use 'navarasu/onedark.nvim' + + use 'shaunsingh/moonlight.nvim' + + use 'Mofiqul/dracula.nvim' + + use 'kdheepak/monochrome.nvim' + + use "savq/melange-nvim" + + use { "catppuccin/nvim", as = "catppuccin" } + + -- use 'RRethy/nvim-base16' + + use ({ 'projekt0n/github-nvim-theme' }) + + use { 'Everblush/nvim', as = 'everblush' } + + use "lewpoly/sherbet.nvim" + + use { + 'nvim-treesitter/nvim-treesitter', + run = ':TSUpdate', + } + + use { + 'numToStr/Comment.nvim', + config = function() + require('Comment').setup() + end + } + + use 'nvim-treesitter/playground' + + -- use 'mbbill/undotree' + + use { + 'VonHeikemen/lsp-zero.nvim', + requires = { + -- LSP Support + { 'neovim/nvim-lspconfig' }, + { 'williamboman/mason.nvim' }, + { 'williamboman/mason-lspconfig.nvim' }, + + -- Autocompletion + { 'hrsh7th/nvim-cmp' }, + { 'hrsh7th/cmp-buffer' }, + { 'hrsh7th/cmp-path' }, + { 'hrsh7th/cmp-nvim-lsp-signature-help' }, + { 'saadparwaiz1/cmp_luasnip' }, + { 'hrsh7th/cmp-nvim-lsp' }, + { 'hrsh7th/cmp-nvim-lua' }, + + -- Snippets + { 'L3MON4D3/LuaSnip' }, + { 'rafamadriz/friendly-snippets' }, + } + } + + use { + 'L3MON4D3/LuaSnip', + --after = 'nvim-cmp', + requires = { "rafamadriz/friendly-snippets" }, + config = function() + --require('config.snippets') + require("luasnip.loaders.from_vscode").lazy_load() + end, + run = "make install_jsregexp" + } + + use 'rafamadriz/friendly-snippets' + + use { + "folke/twilight.nvim", + config = function() + require("twilight").setup { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + } + end + } + + use 'winston0410/cmd-parser.nvim' + use { + 'winston0410/range-highlight.nvim', + config = function() require("range-highlight").setup {} end + } + + use 'RRethy/vim-illuminate' + + use 'mfussenegger/nvim-jdtls' + + use { + "samjwill/nvim-unception", + setup = function() + -- Optional settings go here! + end + } + + use { + "0oAstro/dim.lua", + requires = { "nvim-treesitter/nvim-treesitter", "neovim/nvim-lspconfig" }, + config = function() + require('dim').setup({}) + end + } + use 'mfussenegger/nvim-dap' + + use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } } + + use { 'stevearc/dressing.nvim' } + + use { + 'krady21/compiler-explorer.nvim', + config = function() + require("compiler-explorer").setup({ + autocmd = { + enable = true, + hl = "Cursorline" + } + }) + end + } + + -- use 'ggandor/lightspeed.nvim' + + use { + 'ggandor/leap.nvim', + config = function() + require('leap').add_default_mappings() + end + } + use 'ollykel/v-vim' + + use { + 'windwp/nvim-ts-autotag', + config = function() + require('nvim-ts-autotag').setup() + end + } + + use 'jbyuki/nabla.nvim' + + use { + 'ray-x/web-tools.nvim', + config = function() + require('web-tools').setup() + end + } + + use { + 'natecraddock/workspaces.nvim', + config = function() + require('workspaces').setup() + end + } + + use {"smartpde/telescope-recent-files"} + + use 'uga-rosa/ccc.nvim' + + use 'tveskag/nvim-blame-line' + + use { + 'lewis6991/gitsigns.nvim', + config = function() + require('gitsigns').setup() + end + } + + -- use 'Olical/conjure' + -- use 'PaterJason/cmp-conjure' + + use { + 'lukas-reineke/indent-blankline.nvim', + config = function() + require 'ibl'.setup{ scope = { enabled = false } } + end, + } + + use 'jaawerth/fennel.vim' + + use 'stefanos82/nelua.vim' + + use 'leafo/moonscript-vim' + + use 'teal-language/vim-teal' + + use 'https://github.com/VaiN474/vim-etlua' + + use 'folke/neodev.nvim' + + use { + "kylechui/nvim-surround", + tag = "*", -- Use for stability; omit to use `main` branch for the latest features + config = function() + require("nvim-surround").setup({ + -- Configuration here, or leave empty to use defaults + }) + end + } + + use { + "utilyre/barbecue.nvim", + tag = "*", + requires = { + "SmiteshP/nvim-navic", + "nvim-tree/nvim-web-devicons", -- optional dependency + }, + after = "nvim-web-devicons", -- keep this if you're using NvChad + config = function() + require("barbecue").setup() + end, + } + + use { + 'nvim-lualine/lualine.nvim', + requires = { 'nvim-tree/nvim-web-devicons', opt = true }, + config = function() + local function lspactive() + local names = {} + for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do + table.insert(names, server.name) + end + return "๏ฃ [" .. table.concat(names, " ") .. "]" + end + require('lualine').setup { + options = { + globalstatus = true, + icons_enabled = false, + section_separators = { left = '๎‚ด', right = '๎‚ถ' }, + component_separators = { left = '', right = '' } + }, + sections = { + lualine_a = { { 'mode', separator = { left = '๎‚ถ', right = '๎‚ด' } }, }, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'}, + lualine_y = {'encoding', 'fileformat', 'filetype'}, + lualine_z = {'location', { 'progress', separator = { left = '๎‚ถ', right = '๎‚ด' } }, }, + }, + } + end, + } + + use { + 'goolord/alpha-nvim', + requires = { 'nvim-tree/nvim-web-devicons' }, + config = function () + require'alpha'.setup(require'alpha.themes.startify'.config) + end + } + + use 'aklt/plantuml-syntax' + + use { + "tpope/vim-dadbod", + opt = true, + requires = { + "kristijanhusak/vim-dadbod-ui", + "kristijanhusak/vim-dadbod-completion", + }, + config = function() + require("config.dadbod").setup() + end, + cmd = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" }, + } + + use 'eandrju/cellular-automaton.nvim' +end) diff --git a/config/.config/nvim/lua/config/remap.lua b/config/.config/nvim/lua/config/remap.lua new file mode 100755 index 0000000..c77dc98 --- /dev/null +++ b/config/.config/nvim/lua/config/remap.lua @@ -0,0 +1,56 @@ +require('Comment').setup() +vim.g.mapleader = " " +vim.g.maplocalleader = "," + +vim.keymap.set("n", "op", vim.cmd.Ex) + +vim.keymap.set("n", "lp", ":lua require(\"nabla\").popup()") +vim.keymap.set("n", "ll", ":lua require(\"nabla\").toggle_virt()") + +-- vim.keymap.set("n", "", vim.cmd.nohlsearch) +vim.keymap.set("n", "x", vim.cmd.bdelete) +vim.keymap.set("n", "bd", ":bdelete!") +vim.keymap.set("n", "w", function() + vim.cmd.write(); + vim.cmd.bdelete(); +end) + +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") + +vim.keymap.set("n", "J", "mzJ'z") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") + +vim.keymap.set("n", "y", "\"+y") +vim.keymap.set("v", "y", "\"+y") +vim.keymap.set("n", "Y", "\"+Y") +vim.keymap.set("n", "p", "\"+p") +vim.keymap.set("v", "p", "\"+p") +vim.keymap.set("n", "P", "\"+P") + +vim.keymap.set("n", "f", function() + vim.lsp.buf.format() +end) + +vim.keymap.set("n", "tw", function() + vim.cmd.Twilight() +end) + + +vim.keymap.set("t", "", "") + +vim.keymap.set("n", "ec", ":e ~/.config/nvim") + +vim.keymap.set("n", "bn", ":bnext") +vim.keymap.set("n", "bp", ":bprevious") + +vim.keymap.set("n", "tn", ":tabnext") +vim.keymap.set("n", "tp", ":tabprevious") +vim.keymap.set("n", "to", ":tabnew") +vim.keymap.set("n", "td", ":tabclose") +vim.keymap.set("n", "tt", function() + require('telescope-tabs').list_tabs() +end) diff --git a/config/.config/nvim/lua/config/set.lua b/config/.config/nvim/lua/config/set.lua new file mode 100755 index 0000000..c24aa82 --- /dev/null +++ b/config/.config/nvim/lua/config/set.lua @@ -0,0 +1,53 @@ +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + +vim.opt.showmode = false + +vim.opt.smartindent = true + +vim.opt.wrap = false + + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.opt.undofile = true + +vim.opt.hlsearch = true +vim.opt.incsearch = true + +vim.opt.termguicolors = true + +vim.opt.scrolloff = 8 +vim.opt.signcolumn = "yes" +vim.opt.isfname:append("@-@") + +vim.opt.updatetime = 50 + +vim.opt.colorcolumn = "80" + +vim.opt.splitright = true +vim.opt.splitbelow = true + +vim.g.mapleader = " " + +vim.g.neovide_scale_factor = 1.0 +function ChangeScaleFactor(delta) + vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta +end + +vim.keymap.set("n", "", function() + ChangeScaleFactor(1.25) +end) +vim.keymap.set("n", "", function() + ChangeScaleFactor(1 / 1.25) +end) + +vim.opt.guifont = { "Cascadia Code", ":h12" } + +vim.g.netrw_keepdir = 0 diff --git a/config/.config/nvim/plugin/packer_compiled.lua b/config/.config/nvim/plugin/packer_compiled.lua new file mode 100755 index 0000000..01d4fee --- /dev/null +++ b/config/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,660 @@ +-- 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/mikec/.cache/nvim/packer_hererocks/2.1.1723675123/share/lua/5.1/?.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1723675123/share/lua/5.1/?/init.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1723675123/lib/luarocks/rocks-5.1/?.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1723675123/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/mikec/.cache/nvim/packer_hererocks/2.1.1723675123/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"] = { + config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/Comment.nvim", + url = "https://github.com/numToStr/Comment.nvim" + }, + LuaSnip = { + config = { "\27LJ\2\nM\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14lazy_load luasnip.loaders.from_vscode\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/LuaSnip", + url = "https://github.com/L3MON4D3/LuaSnip" + }, + ["alpha-nvim"] = { + config = { "\27LJ\2\n`\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\26alpha.themes.startify\nsetup\nalpha\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/alpha-nvim", + url = "https://github.com/goolord/alpha-nvim" + }, + ["barbecue.nvim"] = { + config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rbarbecue\frequire\0" }, + load_after = {}, + loaded = true, + needs_bufread = false, + path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/barbecue.nvim", + url = "https://github.com/utilyre/barbecue.nvim" + }, + catppuccin = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/catppuccin", + url = "https://github.com/catppuccin/nvim" + }, + ["ccc.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/ccc.nvim", + url = "https://github.com/uga-rosa/ccc.nvim" + }, + ["cellular-automaton.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cellular-automaton.nvim", + url = "https://github.com/eandrju/cellular-automaton.nvim" + }, + ["cmd-parser.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmd-parser.nvim", + url = "https://github.com/winston0410/cmd-parser.nvim" + }, + ["cmp-buffer"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-buffer", + url = "https://github.com/hrsh7th/cmp-buffer" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, + ["cmp-nvim-lsp-signature-help"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help", + url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help" + }, + ["cmp-nvim-lua"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua", + url = "https://github.com/hrsh7th/cmp-nvim-lua" + }, + ["cmp-path"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-path", + url = "https://github.com/hrsh7th/cmp-path" + }, + cmp_luasnip = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + url = "https://github.com/saadparwaiz1/cmp_luasnip" + }, + ["compiler-explorer.nvim"] = { + config = { "\27LJ\2\nx\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\fautocmd\1\0\1\fautocmd\0\1\0\2\ahl\15Cursorline\venable\2\nsetup\22compiler-explorer\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/compiler-explorer.nvim", + url = "https://github.com/krady21/compiler-explorer.nvim" + }, + ["dim.lua"] = { + config = { "\27LJ\2\n5\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\bdim\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dim.lua", + url = "https://github.com/0oAstro/dim.lua" + }, + ["dracula.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dracula.nvim", + url = "https://github.com/Mofiqul/dracula.nvim" + }, + ["dressing.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dressing.nvim", + url = "https://github.com/stevearc/dressing.nvim" + }, + everblush = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/everblush", + url = "https://github.com/Everblush/nvim" + }, + everforest = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/everforest", + url = "https://github.com/sainnhe/everforest" + }, + ["fennel.vim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/fennel.vim", + url = "https://github.com/jaawerth/fennel.vim" + }, + ["friendly-snippets"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/friendly-snippets", + url = "https://github.com/rafamadriz/friendly-snippets" + }, + ["github-colors"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/github-colors", + url = "https://github.com/lourenci/github-colors" + }, + ["github-nvim-theme"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/github-nvim-theme", + url = "https://github.com/projekt0n/github-nvim-theme" + }, + ["gitsigns.nvim"] = { + config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", + url = "https://github.com/lewis6991/gitsigns.nvim" + }, + ["gruvbox-material"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gruvbox-material", + url = "https://github.com/sainnhe/gruvbox-material" + }, + ["gruvbox.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gruvbox.nvim", + url = "https://github.com/ellisonleao/gruvbox.nvim" + }, + ["indent-blankline.nvim"] = { + config = { "\27LJ\2\nY\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\nscope\1\0\1\nscope\0\1\0\1\fenabled\1\nsetup\bibl\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim", + url = "https://github.com/lukas-reineke/indent-blankline.nvim" + }, + ["leap.nvim"] = { + config = { "\27LJ\2\nA\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\25add_default_mappings\tleap\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/leap.nvim", + url = "https://github.com/ggandor/leap.nvim" + }, + ["lsp-zero.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim", + url = "https://github.com/VonHeikemen/lsp-zero.nvim" + }, + ["lualine.nvim"] = { + config = { "\27LJ\2\nบ\1\0\0\n\0\f\0\0254\0\0\0006\1\0\0006\3\1\0009\3\2\0039\3\3\0035\5\4\0B\3\2\0A\1\0\4H\4\5€6\6\5\0009\6\6\6\18\b\0\0009\t\a\5B\6\3\1F\4\3\3R\4๙\127'\1\b\0006\2\5\0009\2\t\2\18\4\0\0'\5\n\0B\2\3\2'\3\v\0&\1\3\1L\1\2\0\6]\6 \vconcat\n๏ฃ [\tname\vinsert\ntable\1\0\1\nbufnr\3\0\23get_active_clients\blsp\bvim\npairsศ\5\1\0\b\0\29\0'3\0\0\0006\1\1\0'\3\2\0B\1\2\0029\1\3\0015\3\t\0005\4\4\0005\5\5\0=\5\6\0045\5\a\0=\5\b\4=\4\n\0035\4\14\0004\5\3\0005\6\v\0005\a\f\0=\a\r\6>\6\1\5=\5\15\0044\5\0\0=\5\16\0045\5\17\0=\5\18\0045\5\20\0>\0\1\0055\6\19\0>\6\2\5=\5\21\0045\5\22\0=\5\23\0045\5\24\0005\6\25\0005\a\26\0=\a\r\6>\6\2\5=\5\27\4=\4\28\3B\1\2\1K\0\1\0\rsections\14lualine_z\1\0\2\nright\b๎‚ด\tleft\b๎‚ถ\1\2\1\0\rprogress\14separator\0\1\2\0\0\rlocation\14lualine_y\1\4\0\0\rencoding\15fileformat\rfiletype\14lualine_x\1\5\0\0\0\0\vbranch\tdiff\1\2\1\0\16diagnostics\18icons_enabled\2\14lualine_c\1\2\0\0\rfilename\14lualine_b\14lualine_a\1\0\6\14lualine_x\0\14lualine_z\0\14lualine_c\0\14lualine_b\0\14lualine_a\0\14lualine_y\0\14separator\1\0\2\nright\b๎‚ด\tleft\b๎‚ถ\1\2\1\0\tmode\14separator\0\foptions\1\0\2\rsections\0\foptions\0\25component_separators\1\0\2\nright\5\tleft\5\23section_separators\1\0\2\nright\b๎‚ถ\tleft\b๎‚ด\1\0\4\23section_separators\0\18icons_enabled\1\17globalstatus\2\25component_separators\0\nsetup\flualine\frequire\0\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/lualine.nvim", + url = "https://github.com/nvim-lualine/lualine.nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + ["melange-nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/melange-nvim", + url = "https://github.com/savq/melange-nvim" + }, + ["mellow.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mellow.nvim", + url = "https://github.com/kvrohit/mellow.nvim" + }, + ["monochrome.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/monochrome.nvim", + url = "https://github.com/kdheepak/monochrome.nvim" + }, + ["monokai.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/monokai.nvim", + url = "https://github.com/tanvirtin/monokai.nvim" + }, + ["moonlight.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/moonlight.nvim", + url = "https://github.com/shaunsingh/moonlight.nvim" + }, + ["moonscript-vim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/moonscript-vim", + url = "https://github.com/leafo/moonscript-vim" + }, + ["nabla.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nabla.nvim", + url = "https://github.com/jbyuki/nabla.nvim" + }, + ["nelua.vim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nelua.vim", + url = "https://github.com/stefanos82/nelua.vim" + }, + ["neodev.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/neodev.nvim", + url = "https://github.com/folke/neodev.nvim" + }, + ["nord.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nord.nvim", + url = "https://github.com/shaunsingh/nord.nvim" + }, + ["nvim-blame-line"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-blame-line", + url = "https://github.com/tveskag/nvim-blame-line" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-dap"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-dap", + url = "https://github.com/mfussenegger/nvim-dap" + }, + ["nvim-dap-ui"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-dap-ui", + url = "https://github.com/rcarriga/nvim-dap-ui" + }, + ["nvim-jdtls"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-jdtls", + url = "https://github.com/mfussenegger/nvim-jdtls" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-navic"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-navic", + url = "https://github.com/SmiteshP/nvim-navic" + }, + ["nvim-surround"] = { + config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18nvim-surround\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-surround", + url = "https://github.com/kylechui/nvim-surround" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["nvim-ts-autotag"] = { + config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", + url = "https://github.com/windwp/nvim-ts-autotag" + }, + ["nvim-unception"] = { + loaded = true, + needs_bufread = false, + path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/nvim-unception", + url = "https://github.com/samjwill/nvim-unception" + }, + ["nvim-web-devicons"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + url = "https://github.com/nvim-tree/nvim-web-devicons" + }, + ["oceanic-next"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/oceanic-next", + url = "https://github.com/mhartington/oceanic-next" + }, + ["one-nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/one-nvim", + url = "https://github.com/Th3Whit3Wolf/one-nvim" + }, + ["onedark.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/onedark.nvim", + url = "https://github.com/navarasu/onedark.nvim" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["plantuml-syntax"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/plantuml-syntax", + url = "https://github.com/aklt/plantuml-syntax" + }, + playground = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/playground", + url = "https://github.com/nvim-treesitter/playground" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/plenary.nvim", + url = "https://github.com/nvim-lua/plenary.nvim" + }, + ["range-highlight.nvim"] = { + config = { "\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20range-highlight\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/range-highlight.nvim", + url = "https://github.com/winston0410/range-highlight.nvim" + }, + ["rose-pine"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/rose-pine", + url = "https://github.com/rose-pine/neovim" + }, + ["sherbet.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/sherbet.nvim", + url = "https://github.com/lewpoly/sherbet.nvim" + }, + ["telescope-recent-files"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope-recent-files", + url = "https://github.com/smartpde/telescope-recent-files" + }, + ["telescope-tabs"] = { + config = { "\27LJ\2\n@\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\19telescope-tabs\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope-tabs", + url = "https://github.com/LukasPietzschmann/telescope-tabs" + }, + ["telescope.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope.nvim", + url = "https://github.com/nvim-telescope/telescope.nvim" + }, + ["tokyonight.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", + url = "https://github.com/folke/tokyonight.nvim" + }, + ["twilight.nvim"] = { + config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/twilight.nvim", + url = "https://github.com/folke/twilight.nvim" + }, + ["v-vim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/v-vim", + url = "https://github.com/ollykel/v-vim" + }, + ["vim-colors-xcode"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-colors-xcode", + url = "https://github.com/arzg/vim-colors-xcode" + }, + ["vim-dadbod"] = { + after = { "vim-dadbod-ui", "vim-dadbod-completion" }, + commands = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" }, + config = { "\27LJ\2\n;\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\18config.dadbod\frequire\0" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod", + url = "https://github.com/tpope/vim-dadbod" + }, + ["vim-dadbod-completion"] = { + after_files = { "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion/after/plugin/vim_dadbod_completion.lua", "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion/after/plugin/vim_dadbod_completion.vim" }, + load_after = { + ["vim-dadbod"] = true + }, + loaded = false, + needs_bufread = false, + path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion", + url = "https://github.com/kristijanhusak/vim-dadbod-completion" + }, + ["vim-dadbod-ui"] = { + load_after = { + ["vim-dadbod"] = true + }, + loaded = false, + needs_bufread = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-ui", + url = "https://github.com/kristijanhusak/vim-dadbod-ui" + }, + ["vim-etlua"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-etlua", + url = "https://github.com/VaiN474/vim-etlua" + }, + ["vim-illuminate"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-illuminate", + url = "https://github.com/RRethy/vim-illuminate" + }, + ["vim-teal"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-teal", + url = "https://github.com/teal-language/vim-teal" + }, + ["vscode.nvim"] = { + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vscode.nvim", + url = "https://github.com/Mofiqul/vscode.nvim" + }, + ["web-tools.nvim"] = { + config = { "\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14web-tools\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/web-tools.nvim", + url = "https://github.com/ray-x/web-tools.nvim" + }, + ["workspaces.nvim"] = { + config = { "\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15workspaces\frequire\0" }, + loaded = true, + path = "/home/mikec/.local/share/nvim/site/pack/packer/start/workspaces.nvim", + url = "https://github.com/natecraddock/workspaces.nvim" + } +} + +time([[Defining packer_plugins]], false) +-- Setup for: nvim-unception +time([[Setup for nvim-unception]], true) +try_loadstring("\27LJ\2\n\v\0\0\1\0\0\0\1K\0\1\0\0", "setup", "nvim-unception") +time([[Setup for nvim-unception]], false) +time([[packadd for nvim-unception]], true) +vim.cmd [[packadd nvim-unception]] +time([[packadd for nvim-unception]], false) +-- Config for: LuaSnip +time([[Config for LuaSnip]], true) +try_loadstring("\27LJ\2\nM\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14lazy_load luasnip.loaders.from_vscode\frequire\0", "config", "LuaSnip") +time([[Config for LuaSnip]], false) +-- Config for: twilight.nvim +time([[Config for twilight.nvim]], true) +try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0", "config", "twilight.nvim") +time([[Config for twilight.nvim]], false) +-- Config for: alpha-nvim +time([[Config for alpha-nvim]], true) +try_loadstring("\27LJ\2\n`\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\26alpha.themes.startify\nsetup\nalpha\frequire\0", "config", "alpha-nvim") +time([[Config for alpha-nvim]], false) +-- Config for: nvim-ts-autotag +time([[Config for nvim-ts-autotag]], true) +try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag") +time([[Config for nvim-ts-autotag]], false) +-- Config for: indent-blankline.nvim +time([[Config for indent-blankline.nvim]], true) +try_loadstring("\27LJ\2\nY\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\nscope\1\0\1\nscope\0\1\0\1\fenabled\1\nsetup\bibl\frequire\0", "config", "indent-blankline.nvim") +time([[Config for indent-blankline.nvim]], false) +-- Config for: web-tools.nvim +time([[Config for web-tools.nvim]], true) +try_loadstring("\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14web-tools\frequire\0", "config", "web-tools.nvim") +time([[Config for web-tools.nvim]], false) +-- Config for: leap.nvim +time([[Config for leap.nvim]], true) +try_loadstring("\27LJ\2\nA\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\25add_default_mappings\tleap\frequire\0", "config", "leap.nvim") +time([[Config for leap.nvim]], false) +-- Config for: Comment.nvim +time([[Config for Comment.nvim]], true) +try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim") +time([[Config for Comment.nvim]], false) +-- Config for: nvim-surround +time([[Config for nvim-surround]], true) +try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18nvim-surround\frequire\0", "config", "nvim-surround") +time([[Config for nvim-surround]], false) +-- Config for: workspaces.nvim +time([[Config for workspaces.nvim]], true) +try_loadstring("\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15workspaces\frequire\0", "config", "workspaces.nvim") +time([[Config for workspaces.nvim]], false) +-- Config for: gitsigns.nvim +time([[Config for gitsigns.nvim]], true) +try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim") +time([[Config for gitsigns.nvim]], false) +-- Config for: compiler-explorer.nvim +time([[Config for compiler-explorer.nvim]], true) +try_loadstring("\27LJ\2\nx\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\fautocmd\1\0\1\fautocmd\0\1\0\2\ahl\15Cursorline\venable\2\nsetup\22compiler-explorer\frequire\0", "config", "compiler-explorer.nvim") +time([[Config for compiler-explorer.nvim]], false) +-- Config for: range-highlight.nvim +time([[Config for range-highlight.nvim]], true) +try_loadstring("\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20range-highlight\frequire\0", "config", "range-highlight.nvim") +time([[Config for range-highlight.nvim]], false) +-- Config for: lualine.nvim +time([[Config for lualine.nvim]], true) +try_loadstring("\27LJ\2\nบ\1\0\0\n\0\f\0\0254\0\0\0006\1\0\0006\3\1\0009\3\2\0039\3\3\0035\5\4\0B\3\2\0A\1\0\4H\4\5€6\6\5\0009\6\6\6\18\b\0\0009\t\a\5B\6\3\1F\4\3\3R\4๙\127'\1\b\0006\2\5\0009\2\t\2\18\4\0\0'\5\n\0B\2\3\2'\3\v\0&\1\3\1L\1\2\0\6]\6 \vconcat\n๏ฃ [\tname\vinsert\ntable\1\0\1\nbufnr\3\0\23get_active_clients\blsp\bvim\npairsศ\5\1\0\b\0\29\0'3\0\0\0006\1\1\0'\3\2\0B\1\2\0029\1\3\0015\3\t\0005\4\4\0005\5\5\0=\5\6\0045\5\a\0=\5\b\4=\4\n\0035\4\14\0004\5\3\0005\6\v\0005\a\f\0=\a\r\6>\6\1\5=\5\15\0044\5\0\0=\5\16\0045\5\17\0=\5\18\0045\5\20\0>\0\1\0055\6\19\0>\6\2\5=\5\21\0045\5\22\0=\5\23\0045\5\24\0005\6\25\0005\a\26\0=\a\r\6>\6\2\5=\5\27\4=\4\28\3B\1\2\1K\0\1\0\rsections\14lualine_z\1\0\2\nright\b๎‚ด\tleft\b๎‚ถ\1\2\1\0\rprogress\14separator\0\1\2\0\0\rlocation\14lualine_y\1\4\0\0\rencoding\15fileformat\rfiletype\14lualine_x\1\5\0\0\0\0\vbranch\tdiff\1\2\1\0\16diagnostics\18icons_enabled\2\14lualine_c\1\2\0\0\rfilename\14lualine_b\14lualine_a\1\0\6\14lualine_x\0\14lualine_z\0\14lualine_c\0\14lualine_b\0\14lualine_a\0\14lualine_y\0\14separator\1\0\2\nright\b๎‚ด\tleft\b๎‚ถ\1\2\1\0\tmode\14separator\0\foptions\1\0\2\rsections\0\foptions\0\25component_separators\1\0\2\nright\5\tleft\5\23section_separators\1\0\2\nright\b๎‚ถ\tleft\b๎‚ด\1\0\4\23section_separators\0\18icons_enabled\1\17globalstatus\2\25component_separators\0\nsetup\flualine\frequire\0\0", "config", "lualine.nvim") +time([[Config for lualine.nvim]], false) +-- Config for: telescope-tabs +time([[Config for telescope-tabs]], true) +try_loadstring("\27LJ\2\n@\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\19telescope-tabs\frequire\0", "config", "telescope-tabs") +time([[Config for telescope-tabs]], false) +-- Config for: dim.lua +time([[Config for dim.lua]], true) +try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\bdim\frequire\0", "config", "dim.lua") +time([[Config for dim.lua]], false) +-- Load plugins in order defined by `after` +time([[Sequenced loading]], true) +vim.cmd [[ packadd nvim-web-devicons ]] +vim.cmd [[ packadd barbecue.nvim ]] + +-- Config for: barbecue.nvim +try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rbarbecue\frequire\0", "config", "barbecue.nvim") + +time([[Sequenced loading]], false) + +-- Command lazy-loads +time([[Defining lazy-load commands]], true) +pcall(vim.api.nvim_create_user_command, 'DBUI', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUI', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUI ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'DBUIAddConnection', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIAddConnection', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUIAddConnection ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'DBUIFindBuffer', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIFindBuffer', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUIFindBuffer ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'DBUIRenameBuffer', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIRenameBuffer', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUIRenameBuffer ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'DBUILastQueryInfo', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUILastQueryInfo', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUILastQueryInfo ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'DBUIToggle', function(cmdargs) + require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIToggle', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('DBUIToggle ', 'cmdline') + end}) +time([[Defining lazy-load commands]], false) + + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + +if should_profile then save_profiles() end + +end) + +if not no_errors then + error_msg = error_msg:gsub('"', '\\"') + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end diff --git a/config/.config/qutebrowser/__pycache__/theme.cpython-312.pyc b/config/.config/qutebrowser/__pycache__/theme.cpython-312.pyc new file mode 100644 index 0000000..b0e09be Binary files /dev/null and b/config/.config/qutebrowser/__pycache__/theme.cpython-312.pyc differ diff --git a/config/.config/qutebrowser/autoconfig.yml b/config/.config/qutebrowser/autoconfig.yml new file mode 100644 index 0000000..afe91c1 --- /dev/null +++ b/config/.config/qutebrowser/autoconfig.yml @@ -0,0 +1,32 @@ +# If a config.py file exists, this file is ignored unless it's explicitly loaded +# via config.load_autoconfig(). For more information, see: +# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml +# DO NOT edit this file by hand, qutebrowser will overwrite it. +# Instead, create a config.py - see :help for details. + +config_version: 2 +settings: + auto_save.session: + global: false + colors.webpage.preferred_color_scheme: + global: dark + content.autoplay: + global: false + content.blocking.enabled: + global: true + content.blocking.method: + global: both + content.register_protocol_handler: + https://outlook.live.com?mailtouri=%25s: true + https://outlook.office.com?mailtouri=%25s: true + fonts.default_family: + global: Cascadia Code + fonts.default_size: + global: 12pt + url.default_page: + global: searx.mchalupiak.com + url.searchengines: + global: + DEFAULT: searx.mchalupiak.com/search?q={} + url.start_pages: + global: searx.mchalupiak.com diff --git a/config/.config/qutebrowser/bookmarks/urls b/config/.config/qutebrowser/bookmarks/urls new file mode 100644 index 0000000..5d1a828 --- /dev/null +++ b/config/.config/qutebrowser/bookmarks/urls @@ -0,0 +1,9 @@ +https://login.live.com/ppsecure/post.srf?cobrandid=90015&id=292841&contextid=A555F7E1FD2035C2&opid=F987D5C4DCBC41C3&bk=1686433292&uaid=cfb4ca8e9b7046538486c10a39745c6a&pid=0 Sign in to your Microsoft account +https://login.live.com/ppsecure/post.srf?cobrandid=90015&id=292841&contextid=A555F7E1FD2035C2&opid=F987D5C4DCBC41C3&bk=1686433313&uaid=cfb4ca8e9b7046538486c10a39745c6a&pid=0 Sign in to your Microsoft account +https://login.live.com/ppsecure/post.srf?cobrandid=90015&id=292841&contextid=A555F7E1FD2035C2&opid=F987D5C4DCBC41C3&bk=1686433318&uaid=cfb4ca8e9b7046538486c10a39745c6a&pid=0 Sign in to your Microsoft account +https://login.live.com/ppsecure/post.srf?cobrandid=90015&id=292841&contextid=A555F7E1FD2035C2&opid=F987D5C4DCBC41C3&bk=1686433327&uaid=cfb4ca8e9b7046538486c10a39745c6a&pid=0 Sign in to your Microsoft account +https://github.com/session Sign in to GitHub ยท GitHub +https://www.amazon.com/ap/signin Amazon Sign-In +https://blackhawk.cps.golf/onlineresweb/teetime/checkout?id=2390546 Black Hawk Online Booking Engine +https://boardsource.xyz/cart Boardsource - MBK Low Pro Keycaps +https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method diff --git a/config/.config/qutebrowser/config.py b/config/.config/qutebrowser/config.py new file mode 100644 index 0000000..5a62612 --- /dev/null +++ b/config/.config/qutebrowser/config.py @@ -0,0 +1,2504 @@ +## Autogenerated config.py +## +## NOTE: config.py is intended for advanced users who are comfortable +## with manually migrating the config file on qutebrowser upgrades. If +## you prefer, you can also configure qutebrowser using the +## :set/:bind/:config-* commands without having to write a config.py +## file. +## +## Documentation: +## qute://help/configuring.html +## qute://help/settings.html +config.source('theme.py') + +## This is here so configs done via the GUI are still loaded. +## Remove it to not load settings done via the GUI. +config.load_autoconfig(True) +c.url.default_page = "searx.mchalupiak.com" +c.url.start_pages = "searx.mchalupiak.com" +c.url.searchengines = { "DEFAULT" : "searx.mchalupiak.com/search?q={}" } +## Aliases for commands. The keys of the given dictionary are the +## aliases, while the values are the commands they map to. +## Type: Dict +# c.aliases = {'w': 'session-save', 'q': 'close', 'qa': 'quit', 'wq': 'quit --save', 'wqa': 'quit --save'} + +## Time interval (in milliseconds) between auto-saves of +## config/cookies/etc. +## Type: Int +# c.auto_save.interval = 15000 + +## Always restore open sites when qutebrowser is reopened. Without this +## option set, `:wq` (`:quit --save`) needs to be used to save open tabs +## (and restore them), while quitting qutebrowser in any other way will +## not save/restore the session. By default, this will save to the +## session which was last loaded. This behavior can be customized via the +## `session.default_name` setting. +## Type: Bool +# c.auto_save.session = False + +## Backend to use to display websites. qutebrowser supports two different +## web rendering engines / backends, QtWebEngine and QtWebKit (not +## recommended). QtWebEngine is Qt's official successor to QtWebKit, and +## both the default/recommended backend. It's based on a stripped-down +## Chromium and regularly updated with security fixes and new features by +## the Qt project: https://wiki.qt.io/QtWebEngine QtWebKit was +## qutebrowser's original backend when the project was started. However, +## support for QtWebKit was discontinued by the Qt project with Qt 5.6 in +## 2016. The development of QtWebKit was picked up in an official fork: +## https://github.com/qtwebkit/qtwebkit - however, the project seems to +## have stalled again. The latest release (5.212.0 Alpha 4) from March +## 2020 is based on a WebKit version from 2016, with many known security +## vulnerabilities. Additionally, there is no process isolation and +## sandboxing. Due to all those issues, while support for QtWebKit is +## still available in qutebrowser for now, using it is strongly +## discouraged. +## Type: String +## Valid values: +## - webengine: Use QtWebEngine (based on Chromium - recommended). +## - webkit: Use QtWebKit (based on WebKit, similar to Safari - many known security issues!). +# c.backend = 'webengine' + +## Map keys to other keys, so that they are equivalent in all modes. When +## the key used as dictionary-key is pressed, the binding for the key +## used as dictionary-value is invoked instead. This is useful for global +## remappings of keys, for example to map to . NOTE: +## This should only be used if two keys should always be equivalent, i.e. +## for things like (keypad) and (non-keypad). For normal +## command bindings, qutebrowser works differently to vim: You always +## bind keys to commands, usually via `:bind` or `config.bind()`. Instead +## of using this setting, consider finding the command a key is bound to +## (e.g. via `:bind gg`) and then binding the same command to the desired +## key. Note that when a key is bound (via `bindings.default` or +## `bindings.commands`), the mapping is ignored. +## Type: Dict +# c.bindings.key_mappings = {'': '', '': '', '': '', '': '', '': '', '': '', '': '', '': '', '': ''} + +## When to show a changelog after qutebrowser was upgraded. +## Type: String +## Valid values: +## - major: Show changelog for major upgrades (e.g. v2.0.0 -> v3.0.0). +## - minor: Show changelog for major and minor upgrades (e.g. v2.0.0 -> v2.1.0). +## - patch: Show changelog for major, minor and patch upgrades (e.g. v2.0.0 -> v2.0.1). +## - never: Never show changelog after upgrades. +# c.changelog_after_upgrade = 'minor' + +## Background color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.bg = 'qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)' + +## Bottom border color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.border.bottom = 'black' + +## Top border color of the completion widget category headers. +## Type: QssColor +# c.colors.completion.category.border.top = 'black' + +## Foreground color of completion widget category headers. +## Type: QtColor +# c.colors.completion.category.fg = 'white' + +## Background color of the completion widget for even rows. +## Type: QssColor +# c.colors.completion.even.bg = '#333333' + +## Text color of the completion widget. May be a single color to use for +## all columns or a list of three colors, one for each column. +## Type: List of QtColor, or QtColor +# c.colors.completion.fg = ['white', 'white', 'white'] + +## Background color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.bg = '#e8c000' + +## Bottom border color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.border.bottom = '#bbbb00' + +## Top border color of the selected completion item. +## Type: QssColor +# c.colors.completion.item.selected.border.top = '#bbbb00' + +## Foreground color of the selected completion item. +## Type: QtColor +# c.colors.completion.item.selected.fg = 'black' + +## Foreground color of the matched text in the selected completion item. +## Type: QtColor +# c.colors.completion.item.selected.match.fg = '#ff4444' + +## Foreground color of the matched text in the completion. +## Type: QtColor +# c.colors.completion.match.fg = '#ff4444' + +## Background color of the completion widget for odd rows. +## Type: QssColor +# c.colors.completion.odd.bg = '#444444' + +## Color of the scrollbar in the completion view. +## Type: QssColor +# c.colors.completion.scrollbar.bg = '#333333' + +## Color of the scrollbar handle in the completion view. +## Type: QssColor +# c.colors.completion.scrollbar.fg = 'white' + +## Background color of disabled items in the context menu. If set to +## null, the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.disabled.bg = None + +## Foreground color of disabled items in the context menu. If set to +## null, the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.disabled.fg = None + +## Background color of the context menu. If set to null, the Qt default +## is used. +## Type: QssColor +# c.colors.contextmenu.menu.bg = None + +## Foreground color of the context menu. If set to null, the Qt default +## is used. +## Type: QssColor +# c.colors.contextmenu.menu.fg = None + +## Background color of the context menu's selected item. If set to null, +## the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.selected.bg = None + +## Foreground color of the context menu's selected item. If set to null, +## the Qt default is used. +## Type: QssColor +# c.colors.contextmenu.selected.fg = None + +## Background color for the download bar. +## Type: QssColor +# c.colors.downloads.bar.bg = 'black' + +## Background color for downloads with errors. +## Type: QtColor +# c.colors.downloads.error.bg = 'red' + +## Foreground color for downloads with errors. +## Type: QtColor +# c.colors.downloads.error.fg = 'white' + +## Color gradient start for download backgrounds. +## Type: QtColor +# c.colors.downloads.start.bg = '#0000aa' + +## Color gradient start for download text. +## Type: QtColor +# c.colors.downloads.start.fg = 'white' + +## Color gradient stop for download backgrounds. +## Type: QtColor +# c.colors.downloads.stop.bg = '#00aa00' + +## Color gradient end for download text. +## Type: QtColor +# c.colors.downloads.stop.fg = 'white' + +## Color gradient interpolation system for download backgrounds. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.downloads.system.bg = 'rgb' + +## Color gradient interpolation system for download text. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.downloads.system.fg = 'rgb' + +## Background color for hints. Note that you can use a `rgba(...)` value +## for transparency. +## Type: QssColor +# c.colors.hints.bg = 'qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8))' + +## Font color for hints. +## Type: QssColor +# c.colors.hints.fg = 'black' + +## Font color for the matched part of hints. +## Type: QtColor +# c.colors.hints.match.fg = 'green' + +## Background color of the keyhint widget. +## Type: QssColor +# c.colors.keyhint.bg = 'rgba(0, 0, 0, 80%)' + +## Text color for the keyhint widget. +## Type: QssColor +# c.colors.keyhint.fg = '#FFFFFF' + +## Highlight color for keys to complete the current keychain. +## Type: QssColor +# c.colors.keyhint.suffix.fg = '#FFFF00' + +## Background color of an error message. +## Type: QssColor +# c.colors.messages.error.bg = 'red' + +## Border color of an error message. +## Type: QssColor +# c.colors.messages.error.border = '#bb0000' + +## Foreground color of an error message. +## Type: QssColor +# c.colors.messages.error.fg = 'white' + +## Background color of an info message. +## Type: QssColor +# c.colors.messages.info.bg = 'black' + +## Border color of an info message. +## Type: QssColor +# c.colors.messages.info.border = '#333333' + +## Foreground color of an info message. +## Type: QssColor +# c.colors.messages.info.fg = 'white' + +## Background color of a warning message. +## Type: QssColor +# c.colors.messages.warning.bg = 'darkorange' + +## Border color of a warning message. +## Type: QssColor +# c.colors.messages.warning.border = '#d47300' + +## Foreground color of a warning message. +## Type: QssColor +# c.colors.messages.warning.fg = 'black' + +## Background color for prompts. +## Type: QssColor +# c.colors.prompts.bg = '#444444' + +## Border used around UI elements in prompts. +## Type: String +# c.colors.prompts.border = '1px solid gray' + +## Foreground color for prompts. +## Type: QssColor +# c.colors.prompts.fg = 'white' + +## Background color for the selected item in filename prompts. +## Type: QssColor +# c.colors.prompts.selected.bg = 'grey' + +## Foreground color for the selected item in filename prompts. +## Type: QssColor +# c.colors.prompts.selected.fg = 'white' + +## Background color of the statusbar in caret mode. +## Type: QssColor +# c.colors.statusbar.caret.bg = 'purple' + +## Foreground color of the statusbar in caret mode. +## Type: QssColor +# c.colors.statusbar.caret.fg = 'white' + +## Background color of the statusbar in caret mode with a selection. +## Type: QssColor +# c.colors.statusbar.caret.selection.bg = '#a12dff' + +## Foreground color of the statusbar in caret mode with a selection. +## Type: QssColor +# c.colors.statusbar.caret.selection.fg = 'white' + +## Background color of the statusbar in command mode. +## Type: QssColor +# c.colors.statusbar.command.bg = 'black' + +## Foreground color of the statusbar in command mode. +## Type: QssColor +# c.colors.statusbar.command.fg = 'white' + +## Background color of the statusbar in private browsing + command mode. +## Type: QssColor +# c.colors.statusbar.command.private.bg = 'darkslategray' + +## Foreground color of the statusbar in private browsing + command mode. +## Type: QssColor +# c.colors.statusbar.command.private.fg = 'white' + +## Background color of the statusbar in insert mode. +## Type: QssColor +# c.colors.statusbar.insert.bg = 'darkgreen' + +## Foreground color of the statusbar in insert mode. +## Type: QssColor +# c.colors.statusbar.insert.fg = 'white' + +## Background color of the statusbar. +## Type: QssColor +# c.colors.statusbar.normal.bg = 'black' + +## Foreground color of the statusbar. +## Type: QssColor +# c.colors.statusbar.normal.fg = 'white' + +## Background color of the statusbar in passthrough mode. +## Type: QssColor +# c.colors.statusbar.passthrough.bg = 'darkblue' + +## Foreground color of the statusbar in passthrough mode. +## Type: QssColor +# c.colors.statusbar.passthrough.fg = 'white' + +## Background color of the statusbar in private browsing mode. +## Type: QssColor +# c.colors.statusbar.private.bg = '#666666' + +## Foreground color of the statusbar in private browsing mode. +## Type: QssColor +# c.colors.statusbar.private.fg = 'white' + +## Background color of the progress bar. +## Type: QssColor +# c.colors.statusbar.progress.bg = 'white' + +## Foreground color of the URL in the statusbar on error. +## Type: QssColor +# c.colors.statusbar.url.error.fg = 'orange' + +## Default foreground color of the URL in the statusbar. +## Type: QssColor +# c.colors.statusbar.url.fg = 'white' + +## Foreground color of the URL in the statusbar for hovered links. +## Type: QssColor +# c.colors.statusbar.url.hover.fg = 'aqua' + +## Foreground color of the URL in the statusbar on successful load +## (http). +## Type: QssColor +# c.colors.statusbar.url.success.http.fg = 'white' + +## Foreground color of the URL in the statusbar on successful load +## (https). +## Type: QssColor +# c.colors.statusbar.url.success.https.fg = 'lime' + +## Foreground color of the URL in the statusbar when there's a warning. +## Type: QssColor +# c.colors.statusbar.url.warn.fg = 'yellow' + +## Background color of the tab bar. +## Type: QssColor +# c.colors.tabs.bar.bg = '#555555' + +## Background color of unselected even tabs. +## Type: QtColor +# c.colors.tabs.even.bg = 'darkgrey' + +## Foreground color of unselected even tabs. +## Type: QtColor +# c.colors.tabs.even.fg = 'white' + +## Color for the tab indicator on errors. +## Type: QtColor +# c.colors.tabs.indicator.error = '#ff0000' + +## Color gradient start for the tab indicator. +## Type: QtColor +# c.colors.tabs.indicator.start = '#0000aa' + +## Color gradient end for the tab indicator. +## Type: QtColor +# c.colors.tabs.indicator.stop = '#00aa00' + +## Color gradient interpolation system for the tab indicator. +## Type: ColorSystem +## Valid values: +## - rgb: Interpolate in the RGB color system. +## - hsv: Interpolate in the HSV color system. +## - hsl: Interpolate in the HSL color system. +## - none: Don't show a gradient. +# c.colors.tabs.indicator.system = 'rgb' + +## Background color of unselected odd tabs. +## Type: QtColor +# c.colors.tabs.odd.bg = 'grey' + +## Foreground color of unselected odd tabs. +## Type: QtColor +# c.colors.tabs.odd.fg = 'white' + +## Background color of pinned unselected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.even.bg = 'darkseagreen' + +## Foreground color of pinned unselected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.even.fg = 'white' + +## Background color of pinned unselected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.odd.bg = 'seagreen' + +## Foreground color of pinned unselected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.odd.fg = 'white' + +## Background color of pinned selected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.even.bg = 'black' + +## Foreground color of pinned selected even tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.even.fg = 'white' + +## Background color of pinned selected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.odd.bg = 'black' + +## Foreground color of pinned selected odd tabs. +## Type: QtColor +# c.colors.tabs.pinned.selected.odd.fg = 'white' + +## Background color of selected even tabs. +## Type: QtColor +# c.colors.tabs.selected.even.bg = 'black' + +## Foreground color of selected even tabs. +## Type: QtColor +# c.colors.tabs.selected.even.fg = 'white' + +## Background color of selected odd tabs. +## Type: QtColor +# c.colors.tabs.selected.odd.bg = 'black' + +## Foreground color of selected odd tabs. +## Type: QtColor +# c.colors.tabs.selected.odd.fg = 'white' + +## Background color of tooltips. If set to null, the Qt default is used. +## Type: QssColor +# c.colors.tooltip.bg = None + +## Foreground color of tooltips. If set to null, the Qt default is used. +## Type: QssColor +# c.colors.tooltip.fg = None + +## Background color for webpages if unset (or empty to use the theme's +## color). +## Type: QtColor +# c.colors.webpage.bg = 'white' + +## Which algorithm to use for modifying how colors are rendered with dark +## mode. The `lightness-cielab` value was added with QtWebEngine 5.14 and +## is treated like `lightness-hsl` with older QtWebEngine versions. +## Type: String +## Valid values: +## - lightness-cielab: Modify colors by converting them to CIELAB color space and inverting the L value. Not available with Qt < 5.14. +## - lightness-hsl: Modify colors by converting them to the HSL color space and inverting the lightness (i.e. the "L" in HSL). +## - brightness-rgb: Modify colors by subtracting each of r, g, and b from their maximum value. +# c.colors.webpage.darkmode.algorithm = 'lightness-cielab' + +## Contrast for dark mode. This only has an effect when +## `colors.webpage.darkmode.algorithm` is set to `lightness-hsl` or +## `brightness-rgb`. +## Type: Float +# c.colors.webpage.darkmode.contrast = 0.0 + +## Render all web contents using a dark theme. On QtWebEngine < 6.7, this +## setting requires a restart and does not support URL patterns, only the +## global setting is applied. Example configurations from Chromium's +## `chrome://flags`: - "With simple HSL/CIELAB/RGB-based inversion": Set +## `colors.webpage.darkmode.algorithm` accordingly, and set +## `colors.webpage.darkmode.policy.images` to `never`. - "With selective +## image inversion": qutebrowser default settings. +## Type: Bool +# c.colors.webpage.darkmode.enabled = False + +## Which images to apply dark mode to. +## Type: String +## Valid values: +## - always: Apply dark mode filter to all images. +## - never: Never apply dark mode filter to any images. +## - smart: Apply dark mode based on image content. Not available with Qt 5.15.0. +## - smart-simple: On QtWebEngine 6.6, use a simpler algorithm for smart mode (based on numbers of colors and transparency), rather than an ML-based model. Same as 'smart' on older QtWebEnigne versions. +# c.colors.webpage.darkmode.policy.images = 'smart' + +## Which pages to apply dark mode to. The underlying Chromium setting has +## been removed in QtWebEngine 5.15.3, thus this setting is ignored +## there. Instead, every element is now classified individually. +## Type: String +## Valid values: +## - always: Apply dark mode filter to all frames, regardless of content. +## - smart: Apply dark mode filter to frames based on background color. +# c.colors.webpage.darkmode.policy.page = 'smart' + +## Threshold for inverting background elements with dark mode. Background +## elements with brightness above this threshold will be inverted, and +## below it will be left as in the original, non-dark-mode page. Set to +## 256 to never invert the color or to 0 to always invert it. Note: This +## behavior is the opposite of +## `colors.webpage.darkmode.threshold.foreground`! +## Type: Int +# c.colors.webpage.darkmode.threshold.background = 0 + +## Threshold for inverting text with dark mode. Text colors with +## brightness below this threshold will be inverted, and above it will be +## left as in the original, non-dark-mode page. Set to 256 to always +## invert text color or to 0 to never invert text color. +## Type: Int +# c.colors.webpage.darkmode.threshold.foreground = 256 + +## Value to use for `prefers-color-scheme:` for websites. The "light" +## value is only available with QtWebEngine 5.15.2+. On older versions, +## it is the same as "auto". The "auto" value is broken on QtWebEngine +## 5.15.2 due to a Qt bug. There, it will fall back to "light" +## unconditionally. +## Type: String +## Valid values: +## - auto: Use the system-wide color scheme setting. +## - light: Force a light theme. +## - dark: Force a dark theme. +# c.colors.webpage.preferred_color_scheme = 'auto' + +## Number of commands to save in the command history. 0: no history / -1: +## unlimited +## Type: Int +# c.completion.cmd_history_max_items = 100 + +## Delay (in milliseconds) before updating completions after typing a +## character. +## Type: Int +# c.completion.delay = 0 + +## Default filesystem autocomplete suggestions for :open. The elements of +## this list show up in the completion window under the Filesystem +## category when the command line contains `:open` but no argument. +## Type: List of String +# c.completion.favorite_paths = [] + +## Height (in pixels or as percentage of the window) of the completion. +## Type: PercOrInt +# c.completion.height = '50%' + +## Minimum amount of characters needed to update completions. +## Type: Int +# c.completion.min_chars = 1 + +## Which categories to show (in which order) in the :open completion. +## Type: FlagList +## Valid values: +## - searchengines +## - quickmarks +## - bookmarks +## - history +## - filesystem +# c.completion.open_categories = ['searchengines', 'quickmarks', 'bookmarks', 'history', 'filesystem'] + +## Move on to the next part when there's only one possible completion +## left. +## Type: Bool +# c.completion.quick = True + +## Padding (in pixels) of the scrollbar handle in the completion window. +## Type: Int +# c.completion.scrollbar.padding = 2 + +## Width (in pixels) of the scrollbar in the completion window. +## Type: Int +# c.completion.scrollbar.width = 12 + +## When to show the autocompletion window. +## Type: String +## Valid values: +## - always: Whenever a completion is available. +## - auto: Whenever a completion is requested. +## - never: Never. +# c.completion.show = 'always' + +## Shrink the completion to be smaller than the configured size if there +## are no scrollbars. +## Type: Bool +# c.completion.shrink = False + +## Format of timestamps (e.g. for the history completion). See +## https://sqlite.org/lang_datefunc.html and +## https://docs.python.org/3/library/datetime.html#strftime-strptime- +## behavior for allowed substitutions, qutebrowser uses both sqlite and +## Python to format its timestamps. +## Type: String +# c.completion.timestamp_format = '%Y-%m-%d %H:%M' + +## Execute the best-matching command on a partial match. +## Type: Bool +# c.completion.use_best_match = False + +## A list of patterns which should not be shown in the history. This only +## affects the completion. Matching URLs are still saved in the history +## (and visible on the `:history` page), but hidden in the completion. +## Changing this setting will cause the completion history to be +## regenerated on the next start, which will take a short while. +## Type: List of UrlPattern +# c.completion.web_history.exclude = [] + +## Number of URLs to show in the web history. 0: no history / -1: +## unlimited +## Type: Int +# c.completion.web_history.max_items = -1 + +## Require a confirmation before quitting the application. +## Type: ConfirmQuit +## Valid values: +## - always: Always show a confirmation. +## - multiple-tabs: Show a confirmation if multiple tabs are opened. +## - downloads: Show a confirmation if downloads are running +## - never: Never show a confirmation. +# c.confirm_quit = ['never'] + +## Automatically start playing `