dotfiles with stow
This commit is contained in:
		
							parent
							
								
									2c44971f2f
								
							
						
					
					
						commit
						00f346b438
					
				
							
								
								
									
										66
									
								
								config/.Xresources
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								config/.Xresources
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										8
									
								
								config/.bash_profile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								config/.bash_profile
									
									
									
									
									
										Normal file
									
								
							| @ -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" | ||||
| 
 | ||||
							
								
								
									
										172
									
								
								config/.bashrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								config/.bashrc
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										415
									
								
								config/.config/kak-lsp/kak-lsp.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										415
									
								
								config/.config/kak-lsp/kak-lsp.toml
									
									
									
									
									
										Normal file
									
								
							| @ -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" | ||||
							
								
								
									
										163
									
								
								config/.config/kak/colors/catppuccin_macchiato.kak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								config/.config/kak/colors/catppuccin_macchiato.kak
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,163 @@ | ||||
| # Catppuccin Macchiato theme for Kakoune | ||||
| # | ||||
| # Taken and adapted from | ||||
| # <https://github.com/catppuccin/kakoune/blob/e52fb5c95f70c297fea1fd58613284817b5a50bd/colors/catppuccin_macchiato.kak> | ||||
| 
 | ||||
| # 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 (<https://git.sr.ht/~hadronized/kak-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" | ||||
							
								
								
									
										166
									
								
								config/.config/kak/colors/catppuccin_mocha.kak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								config/.config/kak/colors/catppuccin_mocha.kak
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,166 @@ | ||||
| # Catppuccint Mocha theme for Kakoune | ||||
| # | ||||
| # Taken and adapted from | ||||
| # <https://github.com/catppuccin/kakoune/blob/7f187d9da2867a7fda568b2135d29b9c00cfbb94/colors/catppuccin_mocha.kak> | ||||
| 
 | ||||
| # 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 (<https://git.sr.ht/~hadronized/kak-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" | ||||
							
								
								
									
										1
									
								
								config/.config/kak/colors/kakoune
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								config/.config/kak/colors/kakoune
									
									
									
									
									
										Symbolic link
									
								
							| @ -0,0 +1 @@ | ||||
| ../plugins/base16-kakoune/colors/ | ||||
							
								
								
									
										423
									
								
								config/.config/kak/kakrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										423
									
								
								config/.config/kak/kakrc
									
									
									
									
									
										Normal file
									
								
							| @ -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+' '<ret>' | ||||
| 
 | ||||
|       # Tab vs. Space | ||||
|       # https://youtu.be/V7PLxL8jIl8 | ||||
|       try %{ | ||||
|         execute-keys '<a-k>' '\t' '<ret>' | ||||
|         #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 '%<a-|> cat > $kak_reg_dquote<ret>' | ||||
|         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 '%<a-|> cat > $kak_reg_dquote<ret>' | ||||
|         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 '<a-|>xclip -selection clipboard -i<ret>' | ||||
| } | ||||
| 
 | ||||
| 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<ret>' | ||||
| map -docstring 'edit kakoune config' global config k ':cd ~/.config/kak/<ret>:e ./kakrc<ret>' | ||||
| map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>' | ||||
| map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>' | ||||
| map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>' | ||||
| map -docstring 'edit .config folder' global config c ':cd ~/.config<ret>:fzf-edit<ret>' | ||||
| 
 | ||||
| declare-user-mode buffer | ||||
| map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer<ret>' | ||||
| map -docstring 'next buffer' global buffer n ':buffer-next<ret>' | ||||
| map -docstring 'previous buffer' global buffer p ':buffer-previous<ret>' | ||||
| map -docstring 'close current buffer' global buffer d ':delete-buffer!<ret>' | ||||
| map -docstring 'write and close current buffer' global buffer w ':w<ret>:db<ret>' | ||||
| map -docstring 'list and select a buffer' global buffer b ':fzf-buffer<ret>' | ||||
| 
 | ||||
| declare-user-mode find | ||||
| map -docstring 'enter find mode' global user f ':enter-user-mode find<ret>' | ||||
| map -docstring 'find files' global find f ':fzf-edit<ret>' | ||||
| 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<ret>' | ||||
| map -docstring 'find line in current file with regex' global find L ':regex-file-search<ret>' | ||||
| map -docstring 'find files in current directory' global find F ':fzf-edit-local<ret>' | ||||
| map -docstring "grep file contents recursively" global find g ':live-grep<ret>' | ||||
| map -docstring "grep exact file contents recursively" global find e ':exact-grep<ret>' | ||||
| map -docstring 'project wide search' global find p ':project-search<ret>' | ||||
| 
 | ||||
| map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>' | ||||
| map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>' | ||||
| 
 | ||||
| map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter<ret>' | ||||
| map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search<ret>' | ||||
| 
 | ||||
| declare-user-mode tmux | ||||
| map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>' | ||||
| map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c  %val{session}<ret>' | ||||
| map -docstring 'horizontal split' global tmux h ':tmux-terminal-vertical kak -c %val{session}<ret>' | ||||
| map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{session}<ret>' | ||||
| map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>' | ||||
| map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>' | ||||
| map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>' | ||||
| map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>' | ||||
| 
 | ||||
| declare-user-mode project | ||||
| map -docstring 'enter project mode' global user P ':enter-user-mode project<ret>' | ||||
| map -docstring 'open project' global project o ':switch-project<ret>' | ||||
| 
 | ||||
| map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>' | ||||
| 
 | ||||
| #map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>' | ||||
| map -docstring 'clipboard yank' global user y ':xcopy<ret>' | ||||
| #map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>' | ||||
| map -docstring 'clipboard paste' global user p ':xpaste<ret>' | ||||
| 
 | ||||
| map -docstring 'quit kakoune' global user q ':q<ret>' | ||||
| map -docstring 'toggle comments' global user c ':comment-line<ret>' | ||||
							
								
								
									
										4
									
								
								config/.config/kak/plugins/.build/kak-lsp/hooks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								config/.config/kak/plugins/.build/kak-lsp/hooks
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
|         cargo install --locked --force --path . | ||||
							
								
								
									
										19
									
								
								config/.config/kak/plugins/.build/kakoune-discord/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/.config/kak/plugins/.build/kakoune-discord/config
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										2
									
								
								config/.config/kak/plugins/.build/kakoune-discord/hooks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								config/.config/kak/plugins/.build/kakoune-discord/hooks
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| 
 | ||||
|  cargo install --path . --force  | ||||
							
								
								
									
										23
									
								
								config/.config/kak/plugins/.build/kakoune-rainbow/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								config/.config/kak/plugins/.build/kakoune-rainbow/config
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| try %{  | ||||
| 
 | ||||
|         require-module rainbow | ||||
|             # suggested mapping | ||||
| #     # map global user r ": rainbow<ret>" -docstring "rainbow brackets" | ||||
| #         # map global user R ": rmhl window/ranges_rainbow_specs<ret>" \ | ||||
| #             #     -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										1
									
								
								config/.config/kak/plugins/.build/kakoune-rainbow/domain
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								config/.config/kak/plugins/.build/kakoune-rainbow/domain
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| gitlab.com | ||||
| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										21
									
								
								config/.config/kak/plugins/.build/luar/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								config/.config/kak/plugins/.build/luar/config
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								config/.config/kak/plugins/.build/pandoc.kak/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/.config/kak/plugins/.build/pandoc.kak/config
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								config/.config/kak/plugins/.build/peneira/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/.config/kak/plugins/.build/peneira/config
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										25
									
								
								config/.config/kak/plugins/.build/tagbar.kak/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								config/.config/kak/plugins/.build/tagbar.kak/config
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										0
									
								
								config/.config/mutt/.mailsynclastrun
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								config/.config/mutt/.mailsynclastrun
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										22
									
								
								config/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								config/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc
									
									
									
									
									
										Normal file
									
								
							| @ -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 <chalupmc@rose-hulman.edu> | ||||
| 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 "<shell-escape>mw -y chalupmc@rose-hulman.edu<enter>" "run mbsync to sync chalupmc@rose-hulman.edu" | ||||
| macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --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<enter>"  "publish GPG key to WKS provider" | ||||
| macro index \eh "<pipe-message>/usr/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a chalupmc@rose-hulman.edu<enter>" "confirm GPG publication" | ||||
| 
 | ||||
| mailboxes "=INBOX" "=Drafts" "=Junk" "=Trash" "=Sent" "=Archive" | ||||
							
								
								
									
										19
									
								
								config/.config/mutt/accounts/mikec@mchalupiak.com.muttrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/.config/mutt/accounts/mikec@mchalupiak.com.muttrc
									
									
									
									
									
										Normal file
									
								
							| @ -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 <mikec@mchalupiak.com> | ||||
| 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 "<shell-escape>mailsync mikec@mchalupiak.com<enter>" "sync mikec@mchalupiak.com" | ||||
| mailboxes "=Sent" "=Drafts" "=Junk" "=INBOX" | ||||
| @ -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 <mikecchalupiak@outlook.com> | ||||
| 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 "<shell-escape>mw -y mikecchalupiak@outlook.com<enter>" "run mbsync to sync mikecchalupiak@outlook.com" | ||||
| macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --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<enter>"  "publish GPG key to WKS provider" | ||||
| macro index \eh "<pipe-message>/usr/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a mikecchalupiak@outlook.com<enter>" "confirm GPG publication" | ||||
| 
 | ||||
| mailboxes "=INBOX" "=Drafts" "=Junk" "=Trash" "=Sent" "=Archive" | ||||
							
								
								
									
										
											BIN
										
									
								
								config/.config/mutt/chalupmc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.config/mutt/chalupmc
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								config/.config/mutt/mikecchalupiak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.config/mutt/mikecchalupiak
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										6
									
								
								config/.config/mutt/muttrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								config/.config/mutt/muttrc
									
									
									
									
									
										Normal file
									
								
							| @ -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 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/mikecchalupiak@outlook.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to mikecchalupiak@outlook.com" | ||||
| macro index,pager i2 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/chalupmc@rose-hulman.edu.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to chalupmc@rose-hulman.edu" | ||||
| macro index,pager i3 '<sync-mailbox><enter-command>source /home/mikec/.config/mutt/accounts/mikec@mchalupiak.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to mikec@mchalupiak.com" | ||||
							
								
								
									
										
											BIN
										
									
								
								config/.config/newsboat/cache.db
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.config/newsboat/cache.db
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										23
									
								
								config/.config/newsboat/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								config/.config/newsboat/config
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										0
									
								
								config/.config/newsboat/queue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								config/.config/newsboat/queue
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										9
									
								
								config/.config/newsboat/urls
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								config/.config/newsboat/urls
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										14
									
								
								config/.config/nvim/after/plugin/colors.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								config/.config/nvim/after/plugin/colors.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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() | ||||
							
								
								
									
										90
									
								
								config/.config/nvim/after/plugin/lsp.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										90
									
								
								config/.config/nvim/after/plugin/lsp.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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({ | ||||
| 	['<C-p>'] = cmp.mapping.select_prev_item(cmp_select), | ||||
| 	['<C-n>'] = cmp.mapping.select_next_item(cmp_select), | ||||
| 	['<C-y>'] = cmp.mapping.confirm({select = true}), | ||||
| 	['<C-Space>'] = 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", "<leader>vws", vim.lsp.buf.workspace_symbol, opts) | ||||
| 	vim.keymap.set("n", "<leader>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", "<leader>vca", vim.lsp.buf.code_action, opts) | ||||
| 	vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts) | ||||
| 	vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts) | ||||
| 	vim.keymap.set("i", "<C-h>", 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() | ||||
							
								
								
									
										15
									
								
								config/.config/nvim/after/plugin/telescope.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								config/.config/nvim/after/plugin/telescope.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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', '<leader>ff', builtin.find_files, {}) | ||||
| vim.keymap.set('n', '<leader>fF', builtin.git_files, {}) | ||||
| vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) | ||||
| vim.keymap.set('n', '<leader>bb', builtin.buffers, {}) | ||||
| vim.keymap.set('n', '<leader>hh', builtin.help_tags, {}) | ||||
| vim.keymap.set('n', '<leader>cc', builtin.colorscheme, {}) | ||||
| vim.keymap.set('n', '<leader>wo', ":Telescope workspaces<CR>", {}) | ||||
| vim.api.nvim_set_keymap("n", "<leader>fr", | ||||
|   [[<cmd>lua require('telescope').extensions.recent_files.pick()<CR>]], | ||||
|   {noremap = true, silent = true}) | ||||
							
								
								
									
										22
									
								
								config/.config/nvim/after/plugin/treesitter.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								config/.config/nvim/after/plugin/treesitter.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										2
									
								
								config/.config/nvim/after/plugin/undotree.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								config/.config/nvim/after/plugin/undotree.lua
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,2 @@ | ||||
| vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) | ||||
| 
 | ||||
							
								
								
									
										1
									
								
								config/.config/nvim/db_ui/connections.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								config/.config/nvim/db_ui/connections.json
									
									
									
									
									
										Normal file
									
								
							| @ -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"}] | ||||
							
								
								
									
										97
									
								
								config/.config/nvim/ftplugin/java.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										97
									
								
								config/.config/nvim/ftplugin/java.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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", "<leader>vws", vim.lsp.buf.workspace_symbol, opts) | ||||
| vim.keymap.set("n", "<leader>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", "<leader>vca", vim.lsp.buf.code_action, opts) | ||||
| vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts) | ||||
| vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts) | ||||
| vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts) | ||||
| vim.keymap.set("n", "<leader>i", function() require('jdtls').organize_imports() end, opts) | ||||
| 
 | ||||
| require('jdtls').start_or_attach(config) | ||||
							
								
								
									
										1
									
								
								config/.config/nvim/init.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.config/nvim/init.lua
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| require("config") | ||||
							
								
								
									
										29
									
								
								config/.config/nvim/lua/config/dadbod.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								config/.config/nvim/lua/config/dadbod.lua
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										3
									
								
								config/.config/nvim/lua/config/init.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.config/nvim/lua/config/init.lua
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| require("config.remap") | ||||
| require("config.packer") | ||||
| require("config.set") | ||||
							
								
								
									
										328
									
								
								config/.config/nvim/lua/config/packer.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										328
									
								
								config/.config/nvim/lua/config/packer.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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) | ||||
							
								
								
									
										56
									
								
								config/.config/nvim/lua/config/remap.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										56
									
								
								config/.config/nvim/lua/config/remap.lua
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,56 @@ | ||||
| require('Comment').setup() | ||||
| vim.g.mapleader = " " | ||||
| vim.g.maplocalleader = "," | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>op", vim.cmd.Ex) | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>lp", ":lua require(\"nabla\").popup()<CR>") | ||||
| vim.keymap.set("n", "<leader>ll", ":lua require(\"nabla\").toggle_virt()<CR>") | ||||
| 
 | ||||
| -- vim.keymap.set("n", "<C-x>", vim.cmd.nohlsearch) | ||||
| vim.keymap.set("n", "<leader>x", vim.cmd.bdelete) | ||||
| vim.keymap.set("n", "<leader>bd", ":bdelete!<CR>") | ||||
| vim.keymap.set("n", "<leader>w", function() | ||||
|     vim.cmd.write(); | ||||
|     vim.cmd.bdelete(); | ||||
| end) | ||||
| 
 | ||||
| vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") | ||||
| vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") | ||||
| 
 | ||||
| vim.keymap.set("n", "J", "mzJ'z") | ||||
| vim.keymap.set("n", "<C-d>", "<C-d>zz") | ||||
| vim.keymap.set("n", "<C-u>", "<C-u>zz") | ||||
| vim.keymap.set("n", "n", "nzzzv") | ||||
| vim.keymap.set("n", "N", "Nzzzv") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>y", "\"+y") | ||||
| vim.keymap.set("v", "<leader>y", "\"+y") | ||||
| vim.keymap.set("n", "<leader>Y", "\"+Y") | ||||
| vim.keymap.set("n", "<leader>p", "\"+p") | ||||
| vim.keymap.set("v", "<leader>p", "\"+p") | ||||
| vim.keymap.set("n", "<leader>P", "\"+P") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>f", function() | ||||
|     vim.lsp.buf.format() | ||||
| end) | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>tw", function() | ||||
|     vim.cmd.Twilight() | ||||
| end) | ||||
| 
 | ||||
| 
 | ||||
| vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>ec", ":e ~/.config/nvim<CR>") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>bn", ":bnext<CR>") | ||||
| vim.keymap.set("n", "<leader>bp", ":bprevious<CR>") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>tn", ":tabnext<CR>") | ||||
| vim.keymap.set("n", "<leader>tp", ":tabprevious<CR>") | ||||
| vim.keymap.set("n", "<leader>to", ":tabnew<CR>") | ||||
| vim.keymap.set("n", "<leader>td", ":tabclose<CR>") | ||||
| vim.keymap.set("n", "<leader>tt", function() | ||||
| 	require('telescope-tabs').list_tabs() | ||||
| end) | ||||
							
								
								
									
										53
									
								
								config/.config/nvim/lua/config/set.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										53
									
								
								config/.config/nvim/lua/config/set.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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", "<C-=>", function() | ||||
|     ChangeScaleFactor(1.25) | ||||
| end) | ||||
| vim.keymap.set("n", "<C-->", function() | ||||
|     ChangeScaleFactor(1 / 1.25) | ||||
| end) | ||||
| 
 | ||||
| vim.opt.guifont = { "Cascadia Code", ":h12" } | ||||
| 
 | ||||
| vim.g.netrw_keepdir = 0 | ||||
							
								
								
									
										660
									
								
								config/.config/nvim/plugin/packer_compiled.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										660
									
								
								config/.config/nvim/plugin/packer_compiled.lua
									
									
									
									
									
										Executable file
									
								
							| @ -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ï<EFBFBD>£ [\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ï<EFBFBD>£ [\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 | ||||
							
								
								
									
										
											BIN
										
									
								
								config/.config/qutebrowser/__pycache__/theme.cpython-312.pyc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.config/qutebrowser/__pycache__/theme.cpython-312.pyc
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										32
									
								
								config/.config/qutebrowser/autoconfig.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								config/.config/qutebrowser/autoconfig.yml
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										9
									
								
								config/.config/qutebrowser/bookmarks/urls
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								config/.config/qutebrowser/bookmarks/urls
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										2504
									
								
								config/.config/qutebrowser/config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2504
									
								
								config/.config/qutebrowser/config.py
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										8
									
								
								config/.config/qutebrowser/qsettings/QtProject.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								config/.config/qutebrowser/qsettings/QtProject.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| [FileDialog] | ||||
| history=file:///home/mikec/Downloads, file:///usr/share/fonts/TTF, file:///home/mikec, file:///home/mikec/Documents/College/Resume | ||||
| lastVisited=file:///home/mikec/Documents/College/Resume | ||||
| qtVersion=6.7.2 | ||||
| shortcuts=file:, file:///home/mikec | ||||
| sidebarWidth=87 | ||||
| treeViewHeader="@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1\xd1\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\0\xf5\0\0\0\x1\0\0\0\0\0\0\0\x39\0\0\0\x1\0\0\0\0\0\0\0=\0\0\0\x1\0\0\0\0\0\0\0\x66\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0)" | ||||
| viewMode=Detail | ||||
							
								
								
									
										0
									
								
								config/.config/qutebrowser/quickmarks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								config/.config/qutebrowser/quickmarks
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										302
									
								
								config/.config/qutebrowser/theme.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										302
									
								
								config/.config/qutebrowser/theme.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,302 @@ | ||||
| # base16-qutebrowser (https://github.com/theova/base16-qutebrowser) | ||||
| # Scheme name: Gruvbox dark, hard | ||||
| # Scheme author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) | ||||
| # Template author: theova | ||||
| # Commentary: Tinted Theming: (https://github.com/tinted-theming) | ||||
| 
 | ||||
| base00 = "#1d2021" | ||||
| base01 = "#3c3836" | ||||
| base02 = "#504945" | ||||
| base03 = "#665c54" | ||||
| base04 = "#bdae93" | ||||
| base05 = "#d5c4a1" | ||||
| base06 = "#ebdbb2" | ||||
| base07 = "#fbf1c7" | ||||
| base08 = "#fb4934" | ||||
| base09 = "#fe8019" | ||||
| base0A = "#fabd2f" | ||||
| base0B = "#b8bb26" | ||||
| base0C = "#8ec07c" | ||||
| base0D = "#83a598" | ||||
| base0E = "#d3869b" | ||||
| base0F = "#d65d0e" | ||||
| 
 | ||||
| # set qutebrowser colors | ||||
| 
 | ||||
| # 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. | ||||
| c.colors.completion.fg = base05 | ||||
| 
 | ||||
| # Background color of the completion widget for odd rows. | ||||
| c.colors.completion.odd.bg = base01 | ||||
| 
 | ||||
| # Background color of the completion widget for even rows. | ||||
| c.colors.completion.even.bg = base00 | ||||
| 
 | ||||
| # Foreground color of completion widget category headers. | ||||
| c.colors.completion.category.fg = base0A | ||||
| 
 | ||||
| # Background color of the completion widget category headers. | ||||
| c.colors.completion.category.bg = base00 | ||||
| 
 | ||||
| # Top border color of the completion widget category headers. | ||||
| c.colors.completion.category.border.top = base00 | ||||
| 
 | ||||
| # Bottom border color of the completion widget category headers. | ||||
| c.colors.completion.category.border.bottom = base00 | ||||
| 
 | ||||
| # Foreground color of the selected completion item. | ||||
| c.colors.completion.item.selected.fg = base05 | ||||
| 
 | ||||
| # Background color of the selected completion item. | ||||
| c.colors.completion.item.selected.bg = base02 | ||||
| 
 | ||||
| # Top border color of the selected completion item. | ||||
| c.colors.completion.item.selected.border.top = base02 | ||||
| 
 | ||||
| # Bottom border color of the selected completion item. | ||||
| c.colors.completion.item.selected.border.bottom = base02 | ||||
| 
 | ||||
| # Foreground color of the matched text in the selected completion item. | ||||
| c.colors.completion.item.selected.match.fg = base0B | ||||
| 
 | ||||
| # Foreground color of the matched text in the completion. | ||||
| c.colors.completion.match.fg = base0B | ||||
| 
 | ||||
| # Color of the scrollbar handle in the completion view. | ||||
| c.colors.completion.scrollbar.fg = base05 | ||||
| 
 | ||||
| # Color of the scrollbar in the completion view. | ||||
| c.colors.completion.scrollbar.bg = base00 | ||||
| 
 | ||||
| # Background color of disabled items in the context menu. | ||||
| c.colors.contextmenu.disabled.bg = base01 | ||||
| 
 | ||||
| # Foreground color of disabled items in the context menu. | ||||
| c.colors.contextmenu.disabled.fg = base04 | ||||
| 
 | ||||
| # Background color of the context menu. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.menu.bg = base00 | ||||
| 
 | ||||
| # Foreground color of the context menu. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.menu.fg =  base05 | ||||
| 
 | ||||
| # Background color of the context menu’s selected item. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.selected.bg = base02 | ||||
| 
 | ||||
| #Foreground color of the context menu’s selected item. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.selected.fg = base05 | ||||
| 
 | ||||
| # Background color for the download bar. | ||||
| c.colors.downloads.bar.bg = base00 | ||||
| 
 | ||||
| # Color gradient start for download text. | ||||
| c.colors.downloads.start.fg = base00 | ||||
| 
 | ||||
| # Color gradient start for download backgrounds. | ||||
| c.colors.downloads.start.bg = base0D | ||||
| 
 | ||||
| # Color gradient end for download text. | ||||
| c.colors.downloads.stop.fg = base00 | ||||
| 
 | ||||
| # Color gradient stop for download backgrounds. | ||||
| c.colors.downloads.stop.bg = base0C | ||||
| 
 | ||||
| # Foreground color for downloads with errors. | ||||
| c.colors.downloads.error.fg = base08 | ||||
| 
 | ||||
| # Font color for hints. | ||||
| c.colors.hints.fg = base00 | ||||
| 
 | ||||
| # Background color for hints. Note that you can use a `rgba(...)` value | ||||
| # for transparency. | ||||
| c.colors.hints.bg = base0A | ||||
| 
 | ||||
| # Font color for the matched part of hints. | ||||
| c.colors.hints.match.fg = base05 | ||||
| 
 | ||||
| # Text color for the keyhint widget. | ||||
| c.colors.keyhint.fg = base05 | ||||
| 
 | ||||
| # Highlight color for keys to complete the current keychain. | ||||
| c.colors.keyhint.suffix.fg = base05 | ||||
| 
 | ||||
| # Background color of the keyhint widget. | ||||
| c.colors.keyhint.bg = base00 | ||||
| 
 | ||||
| # Foreground color of an error message. | ||||
| c.colors.messages.error.fg = base00 | ||||
| 
 | ||||
| # Background color of an error message. | ||||
| c.colors.messages.error.bg = base08 | ||||
| 
 | ||||
| # Border color of an error message. | ||||
| c.colors.messages.error.border = base08 | ||||
| 
 | ||||
| # Foreground color of a warning message. | ||||
| c.colors.messages.warning.fg = base00 | ||||
| 
 | ||||
| # Background color of a warning message. | ||||
| c.colors.messages.warning.bg = base0E | ||||
| 
 | ||||
| # Border color of a warning message. | ||||
| c.colors.messages.warning.border = base0E | ||||
| 
 | ||||
| # Foreground color of an info message. | ||||
| c.colors.messages.info.fg = base05 | ||||
| 
 | ||||
| # Background color of an info message. | ||||
| c.colors.messages.info.bg = base00 | ||||
| 
 | ||||
| # Border color of an info message. | ||||
| c.colors.messages.info.border = base00 | ||||
| 
 | ||||
| # Foreground color for prompts. | ||||
| c.colors.prompts.fg = base05 | ||||
| 
 | ||||
| # Border used around UI elements in prompts. | ||||
| c.colors.prompts.border = base00 | ||||
| 
 | ||||
| # Background color for prompts. | ||||
| c.colors.prompts.bg = base00 | ||||
| 
 | ||||
| # Background color for the selected item in filename prompts. | ||||
| c.colors.prompts.selected.bg = base02 | ||||
| 
 | ||||
| # Foreground color for the selected item in filename prompts. | ||||
| c.colors.prompts.selected.fg = base05 | ||||
| 
 | ||||
| # Foreground color of the statusbar. | ||||
| c.colors.statusbar.normal.fg = base0B | ||||
| 
 | ||||
| # Background color of the statusbar. | ||||
| c.colors.statusbar.normal.bg = base00 | ||||
| 
 | ||||
| # Foreground color of the statusbar in insert mode. | ||||
| c.colors.statusbar.insert.fg = base00 | ||||
| 
 | ||||
| # Background color of the statusbar in insert mode. | ||||
| c.colors.statusbar.insert.bg = base0D | ||||
| 
 | ||||
| # Foreground color of the statusbar in passthrough mode. | ||||
| c.colors.statusbar.passthrough.fg = base00 | ||||
| 
 | ||||
| # Background color of the statusbar in passthrough mode. | ||||
| c.colors.statusbar.passthrough.bg = base0C | ||||
| 
 | ||||
| # Foreground color of the statusbar in private browsing mode. | ||||
| c.colors.statusbar.private.fg = base00 | ||||
| 
 | ||||
| # Background color of the statusbar in private browsing mode. | ||||
| c.colors.statusbar.private.bg = base01 | ||||
| 
 | ||||
| # Foreground color of the statusbar in command mode. | ||||
| c.colors.statusbar.command.fg = base05 | ||||
| 
 | ||||
| # Background color of the statusbar in command mode. | ||||
| c.colors.statusbar.command.bg = base00 | ||||
| 
 | ||||
| # Foreground color of the statusbar in private browsing + command mode. | ||||
| c.colors.statusbar.command.private.fg = base05 | ||||
| 
 | ||||
| # Background color of the statusbar in private browsing + command mode. | ||||
| c.colors.statusbar.command.private.bg = base00 | ||||
| 
 | ||||
| # Foreground color of the statusbar in caret mode. | ||||
| c.colors.statusbar.caret.fg = base00 | ||||
| 
 | ||||
| # Background color of the statusbar in caret mode. | ||||
| c.colors.statusbar.caret.bg = base0E | ||||
| 
 | ||||
| # Foreground color of the statusbar in caret mode with a selection. | ||||
| c.colors.statusbar.caret.selection.fg = base00 | ||||
| 
 | ||||
| # Background color of the statusbar in caret mode with a selection. | ||||
| c.colors.statusbar.caret.selection.bg = base0D | ||||
| 
 | ||||
| # Background color of the progress bar. | ||||
| c.colors.statusbar.progress.bg = base0D | ||||
| 
 | ||||
| # Default foreground color of the URL in the statusbar. | ||||
| c.colors.statusbar.url.fg = base05 | ||||
| 
 | ||||
| # Foreground color of the URL in the statusbar on error. | ||||
| c.colors.statusbar.url.error.fg = base08 | ||||
| 
 | ||||
| # Foreground color of the URL in the statusbar for hovered links. | ||||
| c.colors.statusbar.url.hover.fg = base05 | ||||
| 
 | ||||
| # Foreground color of the URL in the statusbar on successful load | ||||
| # (http). | ||||
| c.colors.statusbar.url.success.http.fg = base0C | ||||
| 
 | ||||
| # Foreground color of the URL in the statusbar on successful load | ||||
| # (https). | ||||
| c.colors.statusbar.url.success.https.fg = base0B | ||||
| 
 | ||||
| # Foreground color of the URL in the statusbar when there's a warning. | ||||
| c.colors.statusbar.url.warn.fg = base0E | ||||
| 
 | ||||
| # Background color of the tab bar. | ||||
| c.colors.tabs.bar.bg = base00 | ||||
| 
 | ||||
| # Color gradient start for the tab indicator. | ||||
| c.colors.tabs.indicator.start = base0D | ||||
| 
 | ||||
| # Color gradient end for the tab indicator. | ||||
| c.colors.tabs.indicator.stop = base0C | ||||
| 
 | ||||
| # Color for the tab indicator on errors. | ||||
| c.colors.tabs.indicator.error = base08 | ||||
| 
 | ||||
| # Foreground color of unselected odd tabs. | ||||
| c.colors.tabs.odd.fg = base05 | ||||
| 
 | ||||
| # Background color of unselected odd tabs. | ||||
| c.colors.tabs.odd.bg = base01 | ||||
| 
 | ||||
| # Foreground color of unselected even tabs. | ||||
| c.colors.tabs.even.fg = base05 | ||||
| 
 | ||||
| # Background color of unselected even tabs. | ||||
| c.colors.tabs.even.bg = base00 | ||||
| 
 | ||||
| # Background color of pinned unselected even tabs. | ||||
| c.colors.tabs.pinned.even.bg = base0C | ||||
| 
 | ||||
| # Foreground color of pinned unselected even tabs. | ||||
| c.colors.tabs.pinned.even.fg = base07 | ||||
| 
 | ||||
| # Background color of pinned unselected odd tabs. | ||||
| c.colors.tabs.pinned.odd.bg = base0B | ||||
| 
 | ||||
| # Foreground color of pinned unselected odd tabs. | ||||
| c.colors.tabs.pinned.odd.fg = base07 | ||||
| 
 | ||||
| # Background color of pinned selected even tabs. | ||||
| c.colors.tabs.pinned.selected.even.bg = base02 | ||||
| 
 | ||||
| # Foreground color of pinned selected even tabs. | ||||
| c.colors.tabs.pinned.selected.even.fg = base05 | ||||
| 
 | ||||
| # Background color of pinned selected odd tabs. | ||||
| c.colors.tabs.pinned.selected.odd.bg = base02 | ||||
| 
 | ||||
| # Foreground color of pinned selected odd tabs. | ||||
| c.colors.tabs.pinned.selected.odd.fg = base05 | ||||
| 
 | ||||
| # Foreground color of selected odd tabs. | ||||
| c.colors.tabs.selected.odd.fg = base05 | ||||
| 
 | ||||
| # Background color of selected odd tabs. | ||||
| c.colors.tabs.selected.odd.bg = base02 | ||||
| 
 | ||||
| # Foreground color of selected even tabs. | ||||
| c.colors.tabs.selected.even.fg = base05 | ||||
| 
 | ||||
| # Background color of selected even tabs. | ||||
| c.colors.tabs.selected.even.bg = base02 | ||||
| 
 | ||||
| # Background color for webpages if unset (or empty to use the theme's | ||||
| # color). | ||||
| # c.colors.webpage.bg = base00 | ||||
							
								
								
									
										42
									
								
								config/.config/tinted-theming/tinty/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								config/.config/tinted-theming/tinty/config.toml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| [[items]] | ||||
| path = "https://github.com/tinted-theming/tinted-shell" | ||||
| name = "base16-shell" | ||||
| themes-dir = "scripts" | ||||
| hook = ". %f" | ||||
| 
 | ||||
| [[items]] | ||||
| path = "https://github.com/tinted-theming/tinted-tmux" | ||||
| name = "tinted-tmux" | ||||
| # Check if tmux is in use and if it is, reload the config file | ||||
| hook = "test -n \"$TMUX\" && tmux source-file ~/.tmux.conf" | ||||
| themes-dir = "colors" | ||||
| 
 | ||||
| [[items]] | ||||
| path = "https://github.com/tinted-theming/tinted-fzf" | ||||
| name = "tinted-fzf" | ||||
| themes-dir = "sh" | ||||
| 
 | ||||
| [[items]] | ||||
| path = "https://github.com/tinted-theming/base16-qutebrowser" | ||||
| name = "tinted-qutebrowser" | ||||
| themes-dir = "themes/default" | ||||
| hook = "cp -f %f ~/.config/qutebrowser/theme.py" | ||||
| theme-file-extension = ".config.py" | ||||
| 
 | ||||
| [[items]] | ||||
| path = "https://github.com/HaoZeke/base16-zathura" | ||||
| name = "tinted-zathura" | ||||
| themes-dir = "build_schemes/colors" | ||||
| hook = "cat ~/.config/zathura/config > ~/.config/zathura/zathurarc && cat %f >> ~/.config/zathura/zathurarc" | ||||
| 
 | ||||
| [[items]] | ||||
| path = "https://github.com/tinted-theming/base16-xresources" | ||||
| name = "tinted-xresources" | ||||
| themes-dir = "xresources" | ||||
| hook = "cp -f %f ~/.theme.xresources" | ||||
| 
 | ||||
| #[[items]] | ||||
| #path = "https://github.com/kdrag0n/base16-kitty" | ||||
| #name = "tinted-kitty" | ||||
| #themes-dir = "colors" | ||||
| #hook = "cp -f %f ~/.config/kitty/theme.conf" | ||||
							
								
								
									
										1
									
								
								config/.config/zathura/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								config/.config/zathura/config
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| set font "Cascadia Code 12" | ||||
							
								
								
									
										36
									
								
								config/.config/zathura/zathurarc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								config/.config/zathura/zathurarc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| set font "Cascadia Code 12" | ||||
| # Base16 Gruvbox dark, hard | ||||
| # Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) | ||||
| 
 | ||||
| set default-bg                  "#1d2021" | ||||
| set default-fg                  "#3c3836" | ||||
| 
 | ||||
| set statusbar-fg                "#bdae93" | ||||
| set statusbar-bg                "#504945" | ||||
| 
 | ||||
| set inputbar-bg                 "#1d2021" | ||||
| set inputbar-fg                 "#fbf1c7" | ||||
| 
 | ||||
| set notification-bg             "#1d2021" | ||||
| set notification-fg             "#fbf1c7" | ||||
| 
 | ||||
| set notification-error-bg       "#1d2021" | ||||
| set notification-error-fg       "#fb4934" | ||||
| 
 | ||||
| set notification-warning-bg     "#1d2021" | ||||
| set notification-warning-fg     "#fb4934" | ||||
| 
 | ||||
| set highlight-color             "#fabd2f" | ||||
| set highlight-active-color      "#83a598" | ||||
| 
 | ||||
| set completion-bg               "#3c3836" | ||||
| set completion-fg               "#83a598" | ||||
| 
 | ||||
| set completion-highlight-fg     "#fbf1c7" | ||||
| set completion-highlight-bg     "#83a598" | ||||
| 
 | ||||
| set recolor-lightcolor          "#1d2021" | ||||
| set recolor-darkcolor           "#ebdbb2" | ||||
| 
 | ||||
| set recolor                     "false" | ||||
| set recolor-keephue             "false" | ||||
							
								
								
									
										24
									
								
								config/.gitconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								config/.gitconfig
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| [user] | ||||
| 	email = mikec@mchalupiak.com | ||||
| 	name = Michael Chalupiak | ||||
| [filter "lfs"] | ||||
| 	clean = git-lfs clean -- %f | ||||
| 	smudge = git-lfs smudge -- %f | ||||
| 	process = git-lfs filter-process | ||||
| 	required = true | ||||
| [core] | ||||
| 	editor = kak | ||||
| [init] | ||||
| 	defaultBranch = master | ||||
| [sendemail] | ||||
| smtpserver = mchalupiak.com | ||||
| smtpuser = mikec | ||||
| smtpencryption = tls | ||||
| smtpserverport = 587 | ||||
| [core]  | ||||
|     packedGitLimit = 512m  | ||||
|     packedGitWindowSize = 512m  | ||||
| [pack]  | ||||
|     deltaCacheSize = 2047m  | ||||
|     packSizeLimit = 2047m  | ||||
|     windowMemory = 2047m | ||||
							
								
								
									
										
											BIN
										
									
								
								config/.newsboat/cache.db
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.newsboat/cache.db
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										10
									
								
								config/.profile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								config/.profile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| 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 | ||||
| 
 | ||||
| 
 | ||||
| # Added by Toolbox App | ||||
| export PATH="$PATH:/home/mikec/.local/share/JetBrains/Toolbox/scripts" | ||||
| 
 | ||||
							
								
								
									
										1
									
								
								config/.scripts/add-project
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/add-project
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| echo "$(pwd) $1" >> ~/.scripts/store/projects | ||||
							
								
								
									
										21
									
								
								config/.scripts/bar.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								config/.scripts/bar.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,21 @@ | ||||
| #!/usr/bin/env bash | ||||
| DATE=$(date +'%Y-%m-%d %I:%M:%S %p') | ||||
| # BAT=$(cat /sys/class/power_supply/BAT1/capacity) | ||||
| VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | tr "," "\n" | grep \% | sed s/Volume\:// | sed 's/\%.*$//' | sed 's/^.*\///' | head -n1 | sed s/\ *//) | ||||
| VOL="${VOL}%" | ||||
| MUTED=$(pactl get-sink-mute @DEFAULT_SINK@ | cut -d\  -f2) | ||||
| # BRIGHT=$(brightnessctl | tr "\n" " " | cut -d\  -f9 | tr -d "()%") | ||||
| MEM=$(free -h | sed 's/[  ]\+/:/g' | cut -d\: -f4 | tr "\n" ":" | cut -d\: -f2) | ||||
| USER=$(id -u -n) | ||||
| HOST=$(cat /proc/sys/kernel/hostname) | ||||
| # LAYOUT=$(swaymsg -t get_inputs | jq -r '.[] | select( .type == "keyboard") .xkb_active_layout_name' | tr "\n" ":" | cut -d\: -f1 | cut -d\  -f2| tr -d "()") | ||||
| LAYOUT=$(setxkbmap -print -verbose 10 | grep layout | cut -d ":" -f 2 | tr -d " ") | ||||
| NETWORK_NAME=$(iwctl station wlan0 show | grep network | sed s/"Connected network"// | tr -d " ") | ||||
| IP=$(iwctl station wlan0 show | grep IPv4 | sed s/"IPv4 address"// | tr -d " ") | ||||
| 
 | ||||
| if [ $MUTED == 'yes' ] | ||||
| then | ||||
|     VOL='muted' | ||||
| fi | ||||
| 
 | ||||
| echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| V: ${VOL}  \| ${BRIGHT}% Bl \| ${BAT}\% B \| ${DATE} | ||||
							
								
								
									
										1
									
								
								config/.scripts/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/build.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| /usr/lib/jvm/java-11-openjdk/bin/javac -cp ./ $* | ||||
							
								
								
									
										1
									
								
								config/.scripts/buildtest.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/buildtest.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| /usr/lib/jvm/java-11-openjdk/bin/javac -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest/core.jar $* | ||||
							
								
								
									
										18206
									
								
								config/.scripts/cloc
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18206
									
								
								config/.scripts/cloc
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5
									
								
								config/.scripts/cloc-git
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								config/.scripts/cloc-git
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| git clone --depth 1 "$1" temp-linecount-repo && | ||||
|   printf "('temp-linecount-repo' will be deleted automatically)\n\n\n" && | ||||
|   cloc temp-linecount-repo && | ||||
|   rm -rf temp-linecount-repo | ||||
							
								
								
									
										18
									
								
								config/.scripts/dmenu_emoji
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								config/.scripts/dmenu_emoji
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,18 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| # The famous "get a menu of emojis to copy" script. | ||||
| 
 | ||||
| # Get user selection via dmenu from emoji file. | ||||
| chosen=$(cut -d ';' -f1 ~/.scripts/store/* | dmenu -i -l 30 | sed "s/ .*//") | ||||
| 
 | ||||
| # Exit if none chosen. | ||||
| [ -z "$chosen" ] && exit | ||||
| 
 | ||||
| # If you run this command with an argument, it will automatically insert the | ||||
| # character. Otherwise, show a message that the emoji has been copied. | ||||
| if [ -n "$1" ]; then | ||||
| 	xdotool type "$chosen" | ||||
| else | ||||
| 	printf "%s" "$chosen" | xclip -selection clipboard | ||||
| 	notify-send "'$chosen' copied to clipboard." & | ||||
| fi | ||||
							
								
								
									
										12
									
								
								config/.scripts/enter-dev.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								config/.scripts/enter-dev.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,12 @@ | ||||
| dir="$(cat ~/.scripts/store/projects | fzf | cut -d\  -f1)" | ||||
| if [ -z "$dir" ]; then | ||||
|     return | ||||
| fi | ||||
| if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then | ||||
| 	tmux new-session -d -c $dir | ||||
| #	tmux send-keys -t 0 C-z kak Enter | ||||
| 	tmux attach | ||||
| else | ||||
|     cd $dir | ||||
|     kak | ||||
| fi | ||||
							
								
								
									
										94
									
								
								config/.scripts/fzf-ctags
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										94
									
								
								config/.scripts/fzf-ctags
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,94 @@ | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| IFS= | ||||
| 
 | ||||
| # Allow ** glob and Bash extended globbing | ||||
| shopt -s globstar extglob nullglob | ||||
| 
 | ||||
| # Set up the template variable. | ||||
| helper_bin=fzf-ctags-helper | ||||
| lib_src=fzf-ctags-lib | ||||
| helper="%FZF_DIR%/bin/$helper_bin" | ||||
| lib="%FZF_DIR%/bin/$lib_src" | ||||
| 
 | ||||
| # Setup the colorization preview helper. | ||||
| if [[ $helper = %*%* ]]; then | ||||
|     # Find the helper if run directly, without installing. | ||||
|     help_dir=${0%/*} | ||||
|     [[ $0 != /* ]] && help_dir=$PWD/$help_dir | ||||
|     lib="$help_dir/$lib_src" | ||||
|     helper=$help_dir/$helper_bin | ||||
|     # Found? Try cat if not. | ||||
|     [[ ! -f $helper ]] && helper=cat | ||||
|     [[ ! -f $lib ]] && { | ||||
|             #printf "Library fzf-ctags-lib not found, exiting.\n" | ||||
|             exit 1 | ||||
|     } | ||||
| fi | ||||
| 
 | ||||
| # Load shared functions library. | ||||
| source "$lib" | ||||
| export FZF_CTAGS_LIB="$lib" | ||||
| 
 | ||||
| # Which mode? Symbol, or surrounding text? | ||||
| if [[ $1 == symbol-only ]]; then | ||||
|     q=2 | ||||
| elif [[ -z $1 || $1 = text ]]; then | ||||
|     q=1 | ||||
| fi | ||||
| 
 | ||||
| typeset tags tags_path ptags="/tmp/.TAGS.z-$$" | ||||
| get_tags && tags="$REPLY" | ||||
| 
 | ||||
| # Is there any TAGS file to read? | ||||
| if [[ -z $tags || ! -f $tags ]]; then | ||||
|     #printf "No \e[38;5;208mTAGS\e[0m file found, exiting…\e[0m\n" | ||||
|     #printf "(\`univeral ctags\` is recommended tool to generate one;\n" | ||||
|     #printf "homepage: https://github.com/universal-ctags/ctags).\n" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| tags_path="${tags%/TAGS}" | ||||
| # Sort out the symbol to open at. | ||||
| type &>/dev/null sed && sed=sed | ||||
| type &>/dev/null ged && sed=gsed | ||||
| 
 | ||||
| command $sed -r -n $'/^\x0c$/ { n; s/,[^,]*$//;s/^/\x02/; h; d;}; G; y/\\n/,/; p' "$tags" > "$ptags" | ||||
| 
 | ||||
| line="$(fzf --preview="printf '%s' {} |$helper" --delimiter '\177' --with-nth $q < <( $sed -r -e 's/^\s+//' \ | ||||
|     -e 's/[\x01\x02]/\x7f/g' $ptags ))" | ||||
| ret=$? | ||||
| 
 | ||||
| command rm -f $ptags | ||||
| 
 | ||||
| # Check if anything has been picked. | ||||
| if (( ret != 0 )) || [[ -z $line ]]; then | ||||
|     printf "\e[38;5;208mNo symbol has been picked out, nothing to do…\e[0m\n" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| # Split the input. | ||||
| q=$(cut -d$'\x7f' -f2 <<< $line) | ||||
| nr=$(cut -d$'\x7f' -f3 <<< $line) | ||||
| nr=${nr%%,*} | ||||
| e=$(cut -d$'\x7f' -f4 <<< $line) | ||||
| 
 | ||||
| # Use the user's configured editor falling back to vim. | ||||
| ed="${VISUAL:-${EDITOR:-vim}}" | ||||
| type $ed &>/dev/null || ed=emacs | ||||
| type $ed &>/dev/null || ed=nano | ||||
| if ! type $ed &>/dev/null; then | ||||
|     #printf "\e[38;5;208mNo supported editor found, exiting…\e[0m\n" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| 
 | ||||
| #printf "\nPicked: \e[1;38;5;39m$q\e[0m, opening: \ | ||||
| #\e[1;38;5;70m$ed\e[0m with the file: \e[1;38;5;140m$e\e[0m:\e[38;5;208m$nr\e[0m\n" | ||||
| 
 | ||||
| # Run editor on the selected file and line. | ||||
| # The one-time loop is to emphasize the final step. | ||||
| while  | ||||
|     ( cd "$tags_path"; command "$ed" +"$nr" "$e"; ) | ||||
|     false | ||||
| do true; done | ||||
							
								
								
									
										36
									
								
								config/.scripts/fzf-ctags-helper
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								config/.scripts/fzf-ctags-helper
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,36 @@ | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| # Set **/… globs. | ||||
| shopt -s globstar nullglob extglob | ||||
| 
 | ||||
| # Load the library of shared functions. | ||||
| source "$FZF_CTAGS_LIB" | ||||
| 
 | ||||
| # Prevent word split | ||||
| IFS= | ||||
| 
 | ||||
| #  Read the line of input. | ||||
| builtin read -d '' -r q | ||||
| 
 | ||||
| # Split the input. | ||||
| p=$(cut -d$'\x7f' -f3 <<< $q) | ||||
| p=${p%%,*} | ||||
| e=$(cut -d$'\x7f' -f4 <<< $q) | ||||
| (( p --, p=p-LINES/2+4, p=p<0?0:p )) | ||||
| 
 | ||||
| # Preamble, | ||||
| printf "Showing \e[1;38;5;208m««\e[1;38;5;70m$e\e[0m:\e[1;38;5;33m$p\e[1;38;5;208m»»\e[0m\\n" | ||||
| eval "printf '—%.0s' {1..$COLUMNS}" | ||||
| printf "\n" | ||||
| 
 | ||||
| get_tags && pth=${REPLY%/TAGS} || pth= | ||||
| ( | ||||
|     [[ -n $pth ]] && builtin cd $pth | ||||
|     if [[ -e $e ]]; then | ||||
|         colorize "$p" "$e" | ||||
|     else | ||||
|         printf "File $e not found\n" | ||||
|     fi | ||||
| ) | ||||
| 
 | ||||
| #less +${p%,*} **/"$e" | ||||
							
								
								
									
										51
									
								
								config/.scripts/fzf-ctags-lib
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								config/.scripts/fzf-ctags-lib
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,51 @@ | ||||
| #!/usr/bin/env bash | ||||
| get_tags() { | ||||
|     local d pth | ||||
| 
 | ||||
|     #PWD=`pwd` | ||||
|     pth=`pwd` | ||||
|     while true; do | ||||
|         [[ -e $pth/TAGS || -z ${pth%/} ]] && break | ||||
|         pth=${pth%/*} | ||||
|         d+=/.. | ||||
|     done | ||||
|     [[ -n ${pth#/} ]] && REPLY="$pth"/TAGS | ||||
| 
 | ||||
|     # Explicit!ly testable. | ||||
|     return $? | ||||
| } | ||||
| 
 | ||||
| colorize() { | ||||
|     local line="$1" file="$2" lines="$(tput lines 2>/dev/null)" | ||||
|     local sed tool opts end | ||||
| 
 | ||||
|     # Lines to show. | ||||
|     [[ -z $lines ]] && lines="$LINES" | ||||
|     [[ -z $lines ]] && lines=10 | ||||
|     ((end=line+lines)) | ||||
| 
 | ||||
|     # Find sed binary to use. | ||||
|     if type sed &>/dev/null; then | ||||
|         sed=sed | ||||
|     elif type gsed &>/dev/null; then | ||||
|         sed-gsed | ||||
|     else | ||||
|         sed=cat | ||||
|     fi | ||||
| 
 | ||||
|     # Find the tool to use. Prefer pygments for its speed. | ||||
|     if type pygmentize &>/dev/null; then | ||||
|         tool="$sed -e 1,${line}d $file | pygmentize -g | head -n $lines" | ||||
|         opts= file= | ||||
|     elif type pygmentize3 &>/dev/null; then | ||||
|         tool="$sed -e 1,${line}d $file | pygmentize3 -g | head -n $lines" | ||||
|         opts= file= | ||||
|     elif type source-highlight &>/dev/null; then | ||||
|          tool=source-highlight | ||||
|          opts="--line-range=$line-$end -f esc -o STDOUT -i" | ||||
|     else | ||||
|         tool="head -n $end $file | tail -n $lines" | ||||
|         opts= file= | ||||
|     fi | ||||
|     eval "$tool $opts $file" | ||||
| } | ||||
							
								
								
									
										3
									
								
								config/.scripts/gb.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/gb.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/GB -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || mgba "$GAMES" | ||||
							
								
								
									
										3
									
								
								config/.scripts/gba.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/gba.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/GBA -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || mgba "$GAMES" | ||||
							
								
								
									
										3
									
								
								config/.scripts/gbc.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/gbc.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/GBC -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || mgba "$GAMES" | ||||
							
								
								
									
										3
									
								
								config/.scripts/genesis.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/genesis.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/Genesis -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || blastem "$GAMES" | ||||
							
								
								
									
										
											BIN
										
									
								
								config/.scripts/get_local_path
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								config/.scripts/get_local_path
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										17
									
								
								config/.scripts/get_local_path.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								config/.scripts/get_local_path.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| #include <stdbool.h> | ||||
| 
 | ||||
| int main(int argc, char** argv) { | ||||
| 	if (argc != 2) { | ||||
|     	return -1; | ||||
| 	} | ||||
| 	bool rel = true; | ||||
| 	if (argv[1][1] == '/') { | ||||
|     	rel = false; | ||||
| 	} | ||||
| 	char* last = strrchr(argv[1], '/'); | ||||
| 	*last = '\0'; | ||||
| 	puts(argv[1]); | ||||
| 	return 0; | ||||
| } | ||||
							
								
								
									
										421
									
								
								config/.scripts/mutt_oauth2.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										421
									
								
								config/.scripts/mutt_oauth2.py
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,421 @@ | ||||
| #!/usr/bin/env python3 | ||||
| # | ||||
| # Mutt OAuth2 token management script, version 2020-08-07 | ||||
| # Written against python 3.7.3, not tried with earlier python versions. | ||||
| # | ||||
| #   Copyright (C) 2020 Alexander Perlis | ||||
| # | ||||
| #   This program is free software; you can redistribute it and/or | ||||
| #   modify it under the terms of the GNU General Public License as | ||||
| #   published by the Free Software Foundation; either version 2 of the | ||||
| #   License, or (at your option) any later version. | ||||
| # | ||||
| #   This program is distributed in the hope that it will be useful, | ||||
| #   but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
| #   General Public License for more details. | ||||
| # | ||||
| #   You should have received a copy of the GNU General Public License | ||||
| #   along with this program; if not, write to the Free Software | ||||
| #   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||||
| #   02110-1301, USA. | ||||
| '''Mutt OAuth2 token management''' | ||||
| 
 | ||||
| import sys | ||||
| import json | ||||
| import argparse | ||||
| import urllib.parse | ||||
| import urllib.request | ||||
| import imaplib | ||||
| import poplib | ||||
| import smtplib | ||||
| import base64 | ||||
| import secrets | ||||
| import hashlib | ||||
| import time | ||||
| from datetime import timedelta, datetime | ||||
| from pathlib import Path | ||||
| import socket | ||||
| import http.server | ||||
| import subprocess | ||||
| import readline | ||||
| 
 | ||||
| # The token file must be encrypted because it contains multi-use bearer tokens | ||||
| # whose usage does not require additional verification. Specify whichever | ||||
| # encryption and decryption pipes you prefer. They should read from standard | ||||
| # input and write to standard output. The example values here invoke GPG, | ||||
| # although won't work until an appropriate identity appears in the first line. | ||||
| ENCRYPTION_PIPE = ['gpg', '--encrypt', '--recipient', 'mikecchalupiak@outlook.com'] | ||||
| DECRYPTION_PIPE = ['gpg', '--decrypt'] | ||||
| 
 | ||||
| registrations = { | ||||
|     'google': { | ||||
|         'authorize_endpoint': 'https://accounts.google.com/o/oauth2/auth', | ||||
|         'devicecode_endpoint': 'https://oauth2.googleapis.com/device/code', | ||||
|         'token_endpoint': 'https://accounts.google.com/o/oauth2/token', | ||||
|         'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', | ||||
|         'imap_endpoint': 'imap.gmail.com', | ||||
|         'pop_endpoint': 'pop.gmail.com', | ||||
|         'smtp_endpoint': 'smtp.gmail.com', | ||||
|         'sasl_method': 'OAUTHBEARER', | ||||
|         'scope': 'https://mail.google.com/', | ||||
|         'client_id': '', | ||||
|         'client_secret': '', | ||||
|     }, | ||||
|     'microsoft': { | ||||
|         'authorize_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', | ||||
|         'devicecode_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/devicecode', | ||||
|         'token_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/token', | ||||
|         'redirect_uri': 'https://login.microsoftonline.com/common/oauth2/nativeclient', | ||||
|         'tenant': 'common', | ||||
|         'imap_endpoint': 'outlook.office365.com', | ||||
|         'pop_endpoint': 'outlook.office365.com', | ||||
|         'smtp_endpoint': 'smtp.office365.com', | ||||
|         'sasl_method': 'XOAUTH2', | ||||
|         'scope': ('offline_access https://outlook.office.com/IMAP.AccessAsUser.All ' | ||||
|                   'https://outlook.office.com/POP.AccessAsUser.All ' | ||||
|                   'https://outlook.office.com/SMTP.Send'), | ||||
|         'client_id': '9e5f94bc-e8a4-4e73-b8be-63364c29d753', | ||||
|         'client_secret': '', | ||||
|     }, | ||||
| } | ||||
| 
 | ||||
| ap = argparse.ArgumentParser(epilog=''' | ||||
| This script obtains and prints a valid OAuth2 access token.  State is maintained in an | ||||
| encrypted TOKENFILE.  Run with "--verbose --authorize" to get started or whenever all | ||||
| tokens have expired, optionally with "--authflow" to override the default authorization | ||||
| flow.  To truly start over from scratch, first delete TOKENFILE.  Use "--verbose --test" | ||||
| to test the IMAP/POP/SMTP endpoints. | ||||
| ''') | ||||
| ap.add_argument('-v', '--verbose', action='store_true', help='increase verbosity') | ||||
| ap.add_argument('-d', '--debug', action='store_true', help='enable debug output') | ||||
| ap.add_argument('tokenfile', help='persistent token storage') | ||||
| ap.add_argument('-a', '--authorize', action='store_true', help='manually authorize new tokens') | ||||
| ap.add_argument('--authflow', help='authcode | localhostauthcode | devicecode') | ||||
| ap.add_argument('-t', '--test', action='store_true', help='test IMAP/POP/SMTP endpoints') | ||||
| args = ap.parse_args() | ||||
| 
 | ||||
| token = {} | ||||
| path = Path(args.tokenfile) | ||||
| if path.exists(): | ||||
|     if 0o777 & path.stat().st_mode != 0o600: | ||||
|         sys.exit('Token file has unsafe mode. Suggest deleting and starting over.') | ||||
|     try: | ||||
|         sub = subprocess.run(DECRYPTION_PIPE, check=True, input=path.read_bytes(), | ||||
|                              capture_output=True) | ||||
|         token = json.loads(sub.stdout) | ||||
|     except subprocess.CalledProcessError: | ||||
|         sys.exit('Difficulty decrypting token file. Is your decryption agent primed for ' | ||||
|                  'non-interactive usage, or an appropriate environment variable such as ' | ||||
|                  'GPG_TTY set to allow interactive agent usage from inside a pipe?') | ||||
| 
 | ||||
| 
 | ||||
| def writetokenfile(): | ||||
|     '''Writes global token dictionary into token file.''' | ||||
|     if not path.exists(): | ||||
|         path.touch(mode=0o600) | ||||
|     if 0o777 & path.stat().st_mode != 0o600: | ||||
|         sys.exit('Token file has unsafe mode. Suggest deleting and starting over.') | ||||
|     sub2 = subprocess.run(ENCRYPTION_PIPE, check=True, input=json.dumps(token).encode(), | ||||
|                           capture_output=True) | ||||
|     path.write_bytes(sub2.stdout) | ||||
| 
 | ||||
| 
 | ||||
| if args.debug: | ||||
|     print('Obtained from token file:', json.dumps(token)) | ||||
| if not token: | ||||
|     if not args.authorize: | ||||
|         sys.exit('You must run script with "--authorize" at least once.') | ||||
|     print('Available app and endpoint registrations:', *registrations) | ||||
|     token['registration'] = input('OAuth2 registration: ') | ||||
|     token['authflow'] = input('Preferred OAuth2 flow ("authcode" or "localhostauthcode" ' | ||||
|                               'or "devicecode"): ') | ||||
|     token['email'] = input('Account e-mail address: ') | ||||
|     token['access_token'] = '' | ||||
|     token['access_token_expiration'] = '' | ||||
|     token['refresh_token'] = '' | ||||
|     writetokenfile() | ||||
| 
 | ||||
| if token['registration'] not in registrations: | ||||
|     sys.exit(f'ERROR: Unknown registration "{token["registration"]}". Delete token file ' | ||||
|              f'and start over.') | ||||
| registration = registrations[token['registration']] | ||||
| 
 | ||||
| authflow = token['authflow'] | ||||
| if args.authflow: | ||||
|     authflow = args.authflow | ||||
| 
 | ||||
| baseparams = {'client_id': registration['client_id']} | ||||
| # Microsoft uses 'tenant' but Google does not | ||||
| if 'tenant' in registration: | ||||
|     baseparams['tenant'] = registration['tenant'] | ||||
| 
 | ||||
| 
 | ||||
| def access_token_valid(): | ||||
|     '''Returns True when stored access token exists and is still valid at this time.''' | ||||
|     token_exp = token['access_token_expiration'] | ||||
|     return token_exp and datetime.now() < datetime.fromisoformat(token_exp) | ||||
| 
 | ||||
| 
 | ||||
| def update_tokens(r): | ||||
|     '''Takes a response dictionary, extracts tokens out of it, and updates token file.''' | ||||
|     token['access_token'] = r['access_token'] | ||||
|     token['access_token_expiration'] = (datetime.now() + | ||||
|                                         timedelta(seconds=int(r['expires_in']))).isoformat() | ||||
|     if 'refresh_token' in r: | ||||
|         token['refresh_token'] = r['refresh_token'] | ||||
|     writetokenfile() | ||||
|     if args.verbose: | ||||
|         print(f'NOTICE: Obtained new access token, expires {token["access_token_expiration"]}.') | ||||
| 
 | ||||
| 
 | ||||
| if args.authorize: | ||||
|     p = baseparams.copy() | ||||
|     p['scope'] = registration['scope'] | ||||
| 
 | ||||
|     if authflow in ('authcode', 'localhostauthcode'): | ||||
|         verifier = secrets.token_urlsafe(90) | ||||
|         challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest())[:-1] | ||||
|         redirect_uri = registration['redirect_uri'] | ||||
|         listen_port = 0 | ||||
|         if authflow == 'localhostauthcode': | ||||
|             # Find an available port to listen on | ||||
|             s = socket.socket() | ||||
|             s.bind(('127.0.0.1', 0)) | ||||
|             listen_port = s.getsockname()[1] | ||||
|             s.close() | ||||
|             redirect_uri = 'http://localhost:'+str(listen_port)+'/' | ||||
|             # Probably should edit the port number into the actual redirect URL. | ||||
| 
 | ||||
|         p.update({'login_hint': token['email'], | ||||
|                   'response_type': 'code', | ||||
|                   'redirect_uri': redirect_uri, | ||||
|                   'code_challenge': challenge, | ||||
|                   'code_challenge_method': 'S256'}) | ||||
|         print(registration["authorize_endpoint"] + '?' + | ||||
|               urllib.parse.urlencode(p, quote_via=urllib.parse.quote)) | ||||
| 
 | ||||
|         authcode = '' | ||||
|         if authflow == 'authcode': | ||||
|             authcode = input('Visit displayed URL to retrieve authorization code. Enter ' | ||||
|                              'code from server (might be in browser address bar): ') | ||||
|         else: | ||||
|             print('Visit displayed URL to authorize this application. Waiting...', | ||||
|                   end='', flush=True) | ||||
| 
 | ||||
|             class MyHandler(http.server.BaseHTTPRequestHandler): | ||||
|                 '''Handles the browser query resulting from redirect to redirect_uri.''' | ||||
| 
 | ||||
|                 # pylint: disable=C0103 | ||||
|                 def do_HEAD(self): | ||||
|                     '''Response to a HEAD requests.''' | ||||
|                     self.send_response(200) | ||||
|                     self.send_header('Content-type', 'text/html') | ||||
|                     self.end_headers() | ||||
| 
 | ||||
|                 def do_GET(self): | ||||
|                     '''For GET request, extract code parameter from URL.''' | ||||
|                     # pylint: disable=W0603 | ||||
|                     global authcode | ||||
|                     querystring = urllib.parse.urlparse(self.path).query | ||||
|                     querydict = urllib.parse.parse_qs(querystring) | ||||
|                     if 'code' in querydict: | ||||
|                         authcode = querydict['code'][0] | ||||
|                     self.do_HEAD() | ||||
|                     self.wfile.write(b'<html><head><title>Authorizaton result</title></head>') | ||||
|                     self.wfile.write(b'<body><p>Authorization redirect completed. You may ' | ||||
|                                      b'close this window.</p></body></html>') | ||||
|             with http.server.HTTPServer(('127.0.0.1', listen_port), MyHandler) as httpd: | ||||
|                 try: | ||||
|                     httpd.handle_request() | ||||
|                 except KeyboardInterrupt: | ||||
|                     pass | ||||
| 
 | ||||
|         if not authcode: | ||||
|             sys.exit('Did not obtain an authcode.') | ||||
| 
 | ||||
|         for k in 'response_type', 'login_hint', 'code_challenge', 'code_challenge_method': | ||||
|             del p[k] | ||||
|         p.update({'grant_type': 'authorization_code', | ||||
|                   'code': authcode, | ||||
|                   'client_secret': registration['client_secret'], | ||||
|                   'code_verifier': verifier}) | ||||
|         print('Exchanging the authorization code for an access token') | ||||
|         try: | ||||
|             response = urllib.request.urlopen(registration['token_endpoint'], | ||||
|                                               urllib.parse.urlencode(p).encode()) | ||||
|         except urllib.error.HTTPError as err: | ||||
|             print(err.code, err.reason) | ||||
|             response = err | ||||
|         response = response.read() | ||||
|         if args.debug: | ||||
|             print(response) | ||||
|         response = json.loads(response) | ||||
|         if 'error' in response: | ||||
|             print(response['error']) | ||||
|             if 'error_description' in response: | ||||
|                 print(response['error_description']) | ||||
|             sys.exit(1) | ||||
| 
 | ||||
|     elif authflow == 'devicecode': | ||||
|         try: | ||||
|             response = urllib.request.urlopen(registration['devicecode_endpoint'], | ||||
|                                               urllib.parse.urlencode(p).encode()) | ||||
|         except urllib.error.HTTPError as err: | ||||
|             print(err.code, err.reason) | ||||
|             response = err | ||||
|         response = response.read() | ||||
|         if args.debug: | ||||
|             print(response) | ||||
|         response = json.loads(response) | ||||
|         if 'error' in response: | ||||
|             print(response['error']) | ||||
|             if 'error_description' in response: | ||||
|                 print(response['error_description']) | ||||
|             sys.exit(1) | ||||
|         print(response['message']) | ||||
|         del p['scope'] | ||||
|         p.update({'grant_type': 'urn:ietf:params:oauth:grant-type:device_code', | ||||
|                   'client_secret': registration['client_secret'], | ||||
|                   'device_code': response['device_code']}) | ||||
|         interval = int(response['interval']) | ||||
|         print('Polling...', end='', flush=True) | ||||
|         while True: | ||||
|             time.sleep(interval) | ||||
|             print('.', end='', flush=True) | ||||
|             try: | ||||
|                 response = urllib.request.urlopen(registration['token_endpoint'], | ||||
|                                                   urllib.parse.urlencode(p).encode()) | ||||
|             except urllib.error.HTTPError as err: | ||||
|                 # Not actually always an error, might just mean "keep trying..." | ||||
|                 response = err | ||||
|             response = response.read() | ||||
|             if args.debug: | ||||
|                 print(response) | ||||
|             response = json.loads(response) | ||||
|             if 'error' not in response: | ||||
|                 break | ||||
|             if response['error'] == 'authorization_declined': | ||||
|                 print(' user declined authorization.') | ||||
|                 sys.exit(1) | ||||
|             if response['error'] == 'expired_token': | ||||
|                 print(' too much time has elapsed.') | ||||
|                 sys.exit(1) | ||||
|             if response['error'] != 'authorization_pending': | ||||
|                 print(response['error']) | ||||
|                 if 'error_description' in response: | ||||
|                     print(response['error_description']) | ||||
|                 sys.exit(1) | ||||
|         print() | ||||
| 
 | ||||
|     else: | ||||
|         sys.exit(f'ERROR: Unknown OAuth2 flow "{token["authflow"]}. Delete token file and ' | ||||
|                  f'start over.') | ||||
| 
 | ||||
|     update_tokens(response) | ||||
| 
 | ||||
| 
 | ||||
| if not access_token_valid(): | ||||
|     if args.verbose: | ||||
|         print('NOTICE: Invalid or expired access token; using refresh token ' | ||||
|               'to obtain new access token.') | ||||
|     if not token['refresh_token']: | ||||
|         sys.exit('ERROR: No refresh token. Run script with "--authorize".') | ||||
|     p = baseparams.copy() | ||||
|     p.update({'client_secret': registration['client_secret'], | ||||
|               'refresh_token': token['refresh_token'], | ||||
|               'grant_type': 'refresh_token'}) | ||||
|     try: | ||||
|         response = urllib.request.urlopen(registration['token_endpoint'], | ||||
|                                           urllib.parse.urlencode(p).encode()) | ||||
|     except urllib.error.HTTPError as err: | ||||
|         print(err.code, err.reason) | ||||
|         response = err | ||||
|     response = response.read() | ||||
|     if args.debug: | ||||
|         print(response) | ||||
|     response = json.loads(response) | ||||
|     if 'error' in response: | ||||
|         print(response['error']) | ||||
|         if 'error_description' in response: | ||||
|             print(response['error_description']) | ||||
|         print('Perhaps refresh token invalid. Try running once with "--authorize"') | ||||
|         sys.exit(1) | ||||
|     update_tokens(response) | ||||
| 
 | ||||
| 
 | ||||
| if not access_token_valid(): | ||||
|     sys.exit('ERROR: No valid access token. This should not be able to happen.') | ||||
| 
 | ||||
| 
 | ||||
| if args.verbose: | ||||
|     print('Access Token: ', end='') | ||||
| print(token['access_token']) | ||||
| 
 | ||||
| 
 | ||||
| def build_sasl_string(user, host, port, bearer_token): | ||||
|     '''Build appropriate SASL string, which depends on cloud server's supported SASL method.''' | ||||
|     if registration['sasl_method'] == 'OAUTHBEARER': | ||||
|         return f'n,a={user},\1host={host}\1port={port}\1auth=Bearer {bearer_token}\1\1' | ||||
|     if registration['sasl_method'] == 'XOAUTH2': | ||||
|         return f'user={user}\1auth=Bearer {bearer_token}\1\1' | ||||
|     sys.exit(f'Unknown SASL method {registration["sasl_method"]}.') | ||||
| 
 | ||||
| 
 | ||||
| if args.test: | ||||
|     errors = False | ||||
| 
 | ||||
|     imap_conn = imaplib.IMAP4_SSL(registration['imap_endpoint']) | ||||
|     sasl_string = build_sasl_string(token['email'], registration['imap_endpoint'], 993, | ||||
|                                     token['access_token']) | ||||
|     if args.debug: | ||||
|         imap_conn.debug = 4 | ||||
|     try: | ||||
|         imap_conn.authenticate(registration['sasl_method'], lambda _: sasl_string.encode()) | ||||
|         # Microsoft has a bug wherein a mismatch between username and token can still report a | ||||
|         # successful login... (Try a consumer login with the token from a work/school account.) | ||||
|         # Fortunately subsequent commands fail with an error. Thus we follow AUTH with another | ||||
|         # IMAP command before reporting success. | ||||
|         imap_conn.list() | ||||
|         if args.verbose: | ||||
|             print('IMAP authentication succeeded') | ||||
|     except imaplib.IMAP4.error as e: | ||||
|         print('IMAP authentication FAILED (does your account allow IMAP?):', e) | ||||
|         errors = True | ||||
| 
 | ||||
|     pop_conn = poplib.POP3_SSL(registration['pop_endpoint']) | ||||
|     sasl_string = build_sasl_string(token['email'], registration['pop_endpoint'], 995, | ||||
|                                     token['access_token']) | ||||
|     if args.debug: | ||||
|         pop_conn.set_debuglevel(2) | ||||
|     try: | ||||
|         # poplib doesn't have an auth command taking an authenticator object | ||||
|         # Microsoft requires a two-line SASL for POP | ||||
|         # pylint: disable=W0212 | ||||
|         pop_conn._shortcmd('AUTH ' + registration['sasl_method']) | ||||
|         pop_conn._shortcmd(base64.standard_b64encode(sasl_string.encode()).decode()) | ||||
|         if args.verbose: | ||||
|             print('POP authentication succeeded') | ||||
|     except poplib.error_proto as e: | ||||
|         print('POP authentication FAILED (does your account allow POP?):', e.args[0].decode()) | ||||
|         errors = True | ||||
| 
 | ||||
|     # SMTP_SSL would be simpler but Microsoft does not answer on port 465. | ||||
|     smtp_conn = smtplib.SMTP(registration['smtp_endpoint'], 587) | ||||
|     sasl_string = build_sasl_string(token['email'], registration['smtp_endpoint'], 587, | ||||
|                                     token['access_token']) | ||||
|     smtp_conn.ehlo('test') | ||||
|     smtp_conn.starttls() | ||||
|     smtp_conn.ehlo('test') | ||||
|     if args.debug: | ||||
|         smtp_conn.set_debuglevel(2) | ||||
|     try: | ||||
|         smtp_conn.auth(registration['sasl_method'], lambda _=None: sasl_string) | ||||
|         if args.verbose: | ||||
|             print('SMTP authentication succeeded') | ||||
|     except smtplib.SMTPAuthenticationError as e: | ||||
|         print('SMTP authentication FAILED:', e) | ||||
|         errors = True | ||||
| 
 | ||||
|     if errors: | ||||
|         sys.exit(1) | ||||
							
								
								
									
										3
									
								
								config/.scripts/n64.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/n64.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/N64 -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || mupen64plus "$GAMES" | ||||
							
								
								
									
										3
									
								
								config/.scripts/nes.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/nes.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/NES/USA -iname "*.nes" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || fceux "$GAMES" | ||||
							
								
								
									
										6
									
								
								config/.scripts/open-note.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								config/.scripts/open-note.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,6 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| FILE=$(rg --no-heading -n . | fzf) | ||||
| FILEPATH=$(echo $FILE | sed 's/:.*//') | ||||
| NUMBER=$(echo $FILE | cut -d':' -f2) | ||||
| kak +$NUMBER $FILEPATH | ||||
							
								
								
									
										6
									
								
								config/.scripts/pws.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								config/.scripts/pws.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,6 @@ | ||||
| (rg -uu --color=always --line-number --no-heading . > $1) & tail -n +1 -f $1 | \ | ||||
| fzf-tmux --cycle -p 80%,90% < /dev/null \ | ||||
|     --disabled --ansi \ | ||||
|     --bind "change:reload:rg -uu --smart-case {q} $1 || :" \ | ||||
|     --bind "enter:become(echo {1} {2})" \ | ||||
|     --delimiter : ; pkill -P $$ | ||||
							
								
								
									
										5
									
								
								config/.scripts/remove-project
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								config/.scripts/remove-project
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | ||||
| proj="$(cat -n ~/.scripts/store/projects | fzf | cut -f 1 | tr -d ' ')" | ||||
| if [ -z "$proj" ]; then | ||||
|   exit | ||||
| fi | ||||
| sed -i "$proj"d ~/.scripts/store/projects | ||||
							
								
								
									
										8
									
								
								config/.scripts/rfs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								config/.scripts/rfs.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| rg -uu --color=always --line-number --no-heading --smart-case "${*:3}" "$1" | tr -d '\r' | | ||||
|   fzf-tmux --cycle -p 80%,90% --ansi \ | ||||
|       --color "hl:-1:underline,hl+:-1:underline:reverse" \ | ||||
|       --delimiter : \ | ||||
|       --preview "bat --theme='base16-256' --color=always $1 --highlight-line {1}" \ | ||||
|       --bind "enter:become(echo \"$2\" '{1}')" \ | ||||
|       --preview-window 'right,55%,+{1}+3/3,~3' \ | ||||
| 
 | ||||
							
								
								
									
										8
									
								
								config/.scripts/rfv.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								config/.scripts/rfv.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| rg --uu --color=always --line-number --no-heading --smart-case -H "${*:-}" | tr -d '\r' | | ||||
|   fzf-tmux --cycle -p 80%,90% --ansi \ | ||||
|       --color "hl:-1:underline,hl+:-1:underline:reverse" \ | ||||
|       --delimiter : \ | ||||
|       --preview 'bat --theme="base16-256" --color=always {1} --highlight-line {2}' \ | ||||
|       --bind 'enter:become(echo "{1}" "{2}")' \ | ||||
|       --preview-window 'right,55%,+{2}+3/3,~3' \ | ||||
|       #--preview-window 'right,55%' \ | ||||
							
								
								
									
										8
									
								
								config/.scripts/rfve.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								config/.scripts/rfve.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| rg --color=always --line-number --no-heading --smart-case "${*:-}" | tr -d '\r' | | ||||
|   fzf-tmux --cycle -p 80%,90% --ansi +x -e\ | ||||
|       --color "hl:-1:underline,hl+:-1:underline:reverse" \ | ||||
|       --delimiter : \ | ||||
|       --preview 'bat --theme="base16-256" --color=always {1} --highlight-line {2}' \ | ||||
|       --bind 'enter:become(echo "{1}" "{2}")' \ | ||||
|       --preview-window 'right,55%,+{2}+3/3,~3' \ | ||||
|       #--preview-window 'right,55%' \ | ||||
							
								
								
									
										8
									
								
								config/.scripts/rgfs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								config/.scripts/rgfs.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| (RELOAD='reload:rg -uu --color=always --line-number --no-heading --smart-case {q} || :' | ||||
| fzf-tmux --cycle -p 80%,90% < /dev/null \ | ||||
|     --disabled --ansi \ | ||||
|     --bind "start:$RELOAD" --bind "change:$RELOAD" \ | ||||
|     --bind "enter:become(echo '{1}' '{2}')" \ | ||||
|     --delimiter : \ | ||||
|     --preview-window 'right,55%,+{2}+3/3,~3' \ | ||||
|     --preview "bat --theme='base16-256' --color=always {1} --highlight-line {2}") | ||||
							
								
								
									
										8
									
								
								config/.scripts/rgrs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								config/.scripts/rgrs.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| (RELOAD="reload:rg -uu --color=always --pcre2 --line-number --no-heading --smart-case {q} $1|| :" | ||||
| fzf-tmux --cycle -p 80%,90% < /dev/null \ | ||||
|     --disabled --ansi \ | ||||
|     --bind "start:$RELOAD" --bind "change:$RELOAD" \ | ||||
|     --bind "enter:become(echo \"$2\" '{1}')" \ | ||||
|     --delimiter : \ | ||||
|     --preview-window 'right,55%,+{1}+3/3,~3' \ | ||||
|     --preview "bat --theme='base16-256' --color=always $1 --highlight-line {1}") | ||||
							
								
								
									
										1
									
								
								config/.scripts/run.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/run.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| /usr/lib/jvm/java-11-openjdk/bin/java -cp ./ $* | ||||
							
								
								
									
										1
									
								
								config/.scripts/ryujinx.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/ryujinx.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| /opt/ryujinx/Ryujinx.sh | ||||
							
								
								
									
										3
									
								
								config/.scripts/shutdown.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/shutdown.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #! /bin/sh | ||||
| killall startup.sh | ||||
| killall xss-lock | ||||
							
								
								
									
										3
									
								
								config/.scripts/snes.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/snes.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
| GAMES=$(find /home/mikec/Documents/Games/ROMS/SNES/USA -iname "*.zip" | bemenu -i --fn "Cascadia Code 12") | ||||
| [ -z "$GAMES" ] || snes9x-gtk "$GAMES" | ||||
							
								
								
									
										6
									
								
								config/.scripts/startup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								config/.scripts/startup.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,6 @@ | ||||
| #! /bin/sh | ||||
| while true; do | ||||
|     xsetroot -name "$(/home/mikec/.scripts/bar.sh)" | ||||
|     sleep 1 | ||||
| done & | ||||
| xss-lock -- slock & | ||||
							
								
								
									
										1630
									
								
								config/.scripts/store/emoji.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1630
									
								
								config/.scripts/store/emoji.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1456
									
								
								config/.scripts/store/font-awesome.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1456
									
								
								config/.scripts/store/font-awesome.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3
									
								
								config/.scripts/store/projects
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.scripts/store/projects
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| /home/mikec | ||||
| /home/mikec/Documents/Projects/crafting_interpreters  | ||||
| /home/mikec/Documents/Projects/crafting_interpreters/jlox  | ||||
							
								
								
									
										470
									
								
								config/.scripts/styli.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										470
									
								
								config/.scripts/styli.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,470 @@ | ||||
| #!/usr/bin/env bash | ||||
| link="https://source.unsplash.com/random/" | ||||
| 
 | ||||
| if [ -z ${XDG_CONFIG_HOME+x} ]; then | ||||
|     XDG_CONFIG_HOME="${HOME}/.config" | ||||
| fi | ||||
| if [ -z ${XDG_HOME+x} ]; then | ||||
|     XDG_HOME="${HOME}" | ||||
| fi | ||||
| confdir="${XDG_CONFIG_HOME}/styli.sh" | ||||
| if [ ! -d "${confdir}" ]; then | ||||
|     mkdir -p "${confdir}" | ||||
| fi | ||||
| cachedir="${XDG_HOME}/Pictures/wallpapers" | ||||
| if [ ! -d "${cachedir}" ]; then | ||||
|     mkdir -p "${cachedir}" | ||||
| fi | ||||
| 
 | ||||
| wallpaper="${cachedir}/wallpaper.jpg" | ||||
| wallpath="" | ||||
| die() { | ||||
|     printf "ERR: %s\n" "$1" >&2 | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| # https://github.com/egeesin/alacritty-color-export | ||||
| alacritty_change() { | ||||
|     DEFAULT_MACOS_CONFIG="$HOME"/.config/alacritty/alacritty.yml | ||||
|      | ||||
|     # Wal generates a shell script that defines color0..color15 | ||||
|     SRC="$HOME"/.cache/wal/colors.sh | ||||
|      | ||||
|     [ -e "$SRC" ] || die "Wal colors not found, exiting script. Have you executed Wal before?" | ||||
|     printf "Colors found, source ready.\n" | ||||
|      | ||||
|     READLINK=$( command -v greadlink || command -v readlink ) | ||||
|      | ||||
|     # Get config file | ||||
|     if [ -n "$1" ]; then | ||||
|         [ -e "$1" ] || die "Selected config doesn't exist, exiting script." | ||||
|         printf "Config found, destination ready.\n" | ||||
|         CFG=$1 | ||||
|         [ -L "$1" ] && { | ||||
|             printf "Following symlink to config...\n" | ||||
|             CFG=$($READLINK -f "$1") | ||||
|         } | ||||
|     else | ||||
|         # Default config path in Mac systems | ||||
|         [ -e "$DEFAULT_MACOS_CONFIG" ] || die "Alacritty config not found, exiting script." | ||||
|          | ||||
|         CFG="$DEFAULT_MACOS_CONFIG" | ||||
|         [ -L "$DEFAULT_MACOS_CONFIG" ] && { | ||||
|             printf "Following symlink to config...\n" | ||||
|             CFG=$($READLINK -f "$DEFAULT_MACOS_CONFIG") | ||||
|         } | ||||
|     fi | ||||
|      | ||||
|     # Get hex colors from Wal cache | ||||
|     # No need for shellcheck to check this, it comes from pywal | ||||
|     # shellcheck disable=SC1090 | ||||
|     . "$SRC" | ||||
|      | ||||
|     # Create temp file for sed results | ||||
|     tempfile=$(mktemp) | ||||
|     trap 'rm $tempfile' INT TERM EXIT | ||||
|      | ||||
|     # Delete existing color declarations generated by this script | ||||
|     # If begin comment exists | ||||
|     if grep -q '^# BEGIN ACE' "$CFG"; then | ||||
|         # And if end comment exists | ||||
|         if grep -q '^# END ACE' "$CFG"; then | ||||
|             # Delete contents of the block | ||||
|             printf "Existing generated colors found, replacing new colors...\n" | ||||
|             sed '/^# BEGIN ACE/,/^# END ACE/ { | ||||
|         /^# BEGIN ACE/! { /^# END ACE/!d; } | ||||
|             }' "$CFG" > "$tempfile" \ | ||||
|             && cat "$tempfile" > "$CFG" | ||||
|             # If no end comment, don't do anything | ||||
|         else | ||||
|             die "No '# END ACE' comment found, please ensure it is present." | ||||
|         fi | ||||
|         # If no begin comment found | ||||
|     else | ||||
|         # Don't do anything and notify user if there's an end comment in the file | ||||
|         ! grep -q '^# END ACE' "$CFG" || die "Found '# END ACE' comment, but no '# BEGIN ACE' comment found. Please ensure it is present." | ||||
|         printf "There's no existing 'generated' colors, adding comments...\n"; | ||||
|         printf '# BEGIN ACE\n# END ACE' >> "$CFG"; | ||||
|     fi | ||||
|      | ||||
|     # Write new color definitions | ||||
|     # We know $colorX is unset, we set it by sourcing above | ||||
|     # shellcheck disable=SC2154 | ||||
|     { sed "/^# BEGIN ACE/ r /dev/stdin" "$CFG" > "$tempfile" <<EOP | ||||
| colors: | ||||
|   primary: | ||||
|     background: '$color0' | ||||
|     foreground: '$color7' | ||||
|   cursor: | ||||
|     text:       '$color0' | ||||
|     cursor:     '$color7' | ||||
|   normal: | ||||
|     black:      '$color0' | ||||
|     red:        '$color1' | ||||
|     green:      '$color2' | ||||
|     yellow:     '$color3' | ||||
|     blue:       '$color4' | ||||
|     magenta:    '$color5' | ||||
|     cyan:       '$color6' | ||||
|     white:      '$color7' | ||||
|   bright: | ||||
|     black:      '$color8' | ||||
|     red:        '$color9' | ||||
|     green:      '$color10' | ||||
|     yellow:     '$color11' | ||||
|     blue:       '$color12' | ||||
|     magenta:    '$color13' | ||||
|     cyan:       '$color14' | ||||
|     white:      '$color15' | ||||
| EOP | ||||
| } && cat "$tempfile" > "$CFG" \ | ||||
| && rm "$tempfile" | ||||
| trap - INT TERM EXIT | ||||
| printf "'%s' exported to '%s'\n" "$SRC" "$CFG" | ||||
| } | ||||
| 
 | ||||
| reddit(){ | ||||
| useragent="thevinter" | ||||
| timeout=60 | ||||
| 
 | ||||
| sort=$2 | ||||
| top_time=$3 | ||||
| if [ -z $sort ]; then | ||||
|     sort="hot" | ||||
| fi | ||||
| 
 | ||||
| if [ -z $top_time ]; then | ||||
|     top_time="" | ||||
| fi | ||||
| 
 | ||||
| if [ ! -z $1 ]; then | ||||
|     sub=$1 | ||||
| else | ||||
|     if [ ! -f "${confdir}/subreddits" ]; then | ||||
|         echo "Please install the subreddits file in ${confdir}" | ||||
|         exit 2 | ||||
|     fi | ||||
|     readarray subreddits < "${confdir}/subreddits" | ||||
|     a=${#subreddits[@]} | ||||
|     b=$(($RANDOM % $a)) | ||||
|     sub=${subreddits[$b]} | ||||
|     sub="$(echo -e "${sub}" | tr -d '[:space:]')" | ||||
| fi | ||||
| 
 | ||||
| url="https://www.reddit.com/r/$sub/$sort/.json?raw_json=1&t=$top_time" | ||||
| content=`wget -T $timeout -U "$useragent" -q -O - $url` | ||||
| urls=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.preview.images[0].source.url') | ||||
| names=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.title') | ||||
| ids=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.id') | ||||
| arrURLS=($urls) | ||||
| arrNAMES=($names) | ||||
| arrIDS=($ids) | ||||
| wait # prevent spawning too many processes | ||||
| size=${#arrURLS[@]} | ||||
| if [ $size -eq 0 ]; then | ||||
|     echo The current subreddit is not valid. | ||||
|     exit 1 | ||||
| fi | ||||
| idx=$(($RANDOM % $size)) | ||||
| target_url=${arrURLS[$idx]} | ||||
| target_name=${arrNAMES[$idx]} | ||||
| target_id=${arrIDS[$idx]} | ||||
| ext=`echo -n "${target_url##*.}"|cut -d '?' -f 1` | ||||
| newname=`echo $target_name | sed "s/^\///;s/\// /g"`_"$subreddit"_$target_id.$ext | ||||
| wget -T $timeout -U "$useragent" --no-check-certificate -q -P down -O ${wallpaper} $target_url &>/dev/null | ||||
| } | ||||
| 
 | ||||
| unsplash() { | ||||
|     local search="${search// /_}" | ||||
|     if [ ! -z $height ] || [ ! -z $width ]; then | ||||
|         link="${link}${width}x${height}"; | ||||
|     else | ||||
|         link="${link}1920x1080"; | ||||
|     fi | ||||
|      | ||||
|     if [ ! -z $search ]; then | ||||
|         link="${link}/?${search}" | ||||
|     fi | ||||
|      | ||||
|     wget -q -O ${wallpaper} $link | ||||
| } | ||||
| 
 | ||||
| deviantart(){ | ||||
|     client_id=16531 | ||||
|     client_secret=68c00f3d0ceab95b0fac638b33a3368e | ||||
|     payload="grant_type=client_credentials&client_id=${client_id}&client_secret=${client_secret}" | ||||
|     access_token=`curl --silent -d $payload https://www.deviantart.com/oauth2/token | jq -r '.access_token'` | ||||
|     if [ ! -z $1 ]; then | ||||
|         artist=$1 | ||||
|         url="https://www.deviantart.com/api/v1/oauth2/gallery/?username=${artist}&mode=popular&limit=24" | ||||
|     elif [ ! -z $search ]; then | ||||
|         [[ "$search" =~ ^(tag:)(.*)$ ]] && tag=${BASH_REMATCH[2]} | ||||
|         if [ ! -z $tag ]; then | ||||
|             url="https://www.deviantart.com/api/v1/oauth2/browse/tags?tag=$tag&offset=${RANDOM:0:2}&limit=24" | ||||
|         else | ||||
|             url="https://www.deviantart.com/api/v1/oauth2/browse/popular?q=$search&limit=24&timerange=1month" | ||||
|         fi | ||||
|     else | ||||
|         #url="https://www.deviantart.com/api/v1/oauth2/browse/hot?limit=24&offset=${offset}" | ||||
|         topics=( "adoptables" "artisan-crafts" "anthro" "comics" "drawings-and-paintings" "fan-art" "poetry" "stock-images" "sculpture" "science-fiction" "traditional-art" "street-photography" "street-art" "pixel-art" "wallpaper" "digital-art" "photo-manipulation" "science-fiction" "fractal" "game-art" "fantasy" "3d" "drawings-and-paintings" "game-art" ) | ||||
|         rand=$[$RANDOM % ${#topics[@]}] | ||||
|         url="https://www.deviantart.com/api/v1/oauth2/browse/topic?limit=24&topic=${topics[$rand]}" | ||||
|     fi | ||||
|     content=`curl --silent -H "Authorization: Bearer ${access_token}" -H "Accept: application/json" -H "Content-Type: application/json" $url` | ||||
|     urls=$(echo -n $content | jq -r '.results[].content.src') | ||||
|     arrURLS=($urls) | ||||
|     size=${#arrURLS[@]} | ||||
|     idx=$(($RANDOM % $size)) | ||||
|     target_url=${arrURLS[$idx]} | ||||
|     wget --no-check-certificate -q -P down -O ${wallpaper} $target_url &>/dev/null | ||||
| } | ||||
| 
 | ||||
| usage(){ | ||||
|     echo "Usage: styli.sh [-s | --search <string>] | ||||
|     [-h | --height <height>] | ||||
|     [-w | --width <width>] | ||||
|     [-b | --fehbg <feh bg opt>] | ||||
|     [-c | --fehopt <feh opt>] | ||||
|     [-a | --artist <deviant artist>] | ||||
|     [-r | --subreddit <subreddit>] | ||||
|     [-l | --link <source>] | ||||
|     [-p | --termcolor] | ||||
|     [-d | --directory] | ||||
|     [-k | --kde] | ||||
|     [-x | --xfce] | ||||
|     [-g | --gnome] | ||||
|     [-m | --monitors <monitor count (nitrogen)>] | ||||
|     [-n | --nitrogen] | ||||
|     " | ||||
|     exit 2 | ||||
| } | ||||
| 
 | ||||
| type_check() { | ||||
|     mime_types=("image/bmp" "image/jpeg" "image/gif" "image/png" "image/heic") | ||||
|     isType=false | ||||
|      | ||||
|     for requiredType in "${mime_types[@]}" | ||||
|     do | ||||
|         if [ $dir ]; then | ||||
| 						imageType=$(file --mime-type "$HOME/Pictures/wallpaper_dump/${wallpaper}" | sed 's/.*image/image/') | ||||
| 						echo $imageType | ||||
| 						if [ "$requiredType" = "$imageType" ]; then | ||||
| 								isType=true | ||||
| 								break | ||||
| 						fi | ||||
|         else | ||||
| 						imageType=$(file --mime-type ${wallpaper} | awk '{print $2}') | ||||
| 						if [ "$requiredType" = "$imageType" ]; then | ||||
| 								isType=true | ||||
| 								break | ||||
| 						fi | ||||
| 				fi | ||||
|     done | ||||
|      | ||||
|     if [ $isType = false ]; then | ||||
|         echo "MIME-Type missmatch. Downloaded file is not an image!" | ||||
|         exit 1 | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| select_random_wallpaper () { | ||||
|     wallpaper=$(ls $HOME/Pictures/wallpaper_dump | shuf -n 1) | ||||
| } | ||||
| 
 | ||||
| pywal_cmd() { | ||||
|      | ||||
|     if [ $pywal -eq 1 ]; then | ||||
|         wal -c | ||||
|         wal -i ${wallpaper} -n -q | ||||
|         if [ $TERM = alacritty ]; then | ||||
|             alacritty_change | ||||
|         fi | ||||
|     fi | ||||
|      | ||||
| } | ||||
| 
 | ||||
| sway_cmd() { | ||||
|     mode="fill" | ||||
|     if [ ! -z $dir ]; then | ||||
|         cp "$HOME/Pictures/wallpaper_dump/${wallpaper}" "$HOME/Pictures/wallpapers/wallpaper" | ||||
|         swaymsg output "*" bg "$HOME/Pictures/wallpaper_dump/${wallpaper}" "${mode}" | ||||
|     else | ||||
|         swaymsg output "*" bg "${wallpaper}" "${mode}" | ||||
|     fi | ||||
|      | ||||
| } | ||||
| 
 | ||||
| nitrogen_cmd() { | ||||
|     for ((monitor=0; monitor < $monitors; monitor++)) | ||||
|     do | ||||
|         local nitrogen=(nitrogen --save --head=${monitor}) | ||||
|          | ||||
|         if [ ! -z $bgtype ]; then | ||||
|             if [ $bgtype == 'bg-center' ]; then | ||||
|                 nitrogen+=(--set-centered) | ||||
|             fi | ||||
|             if [ $bgtype == 'bg-fill' ]; then | ||||
|                 nitrogen+=(--set-zoom-fill) | ||||
|             fi | ||||
|             if [ $bgtype == 'bg-max' ]; then | ||||
|                 nitrogen+=(--set-zoom) | ||||
|             fi | ||||
|             if [ $bgtype == 'bg-scale' ]; then | ||||
|                 nitrogen+=(--set-scaled) | ||||
|             fi | ||||
|             if [ $bgtype == 'bg-tile' ]; then | ||||
|                 nitrogen+=(--set-tiled) | ||||
|             fi | ||||
|         else | ||||
|             nitrogen+=(--set-scaled) | ||||
|         fi | ||||
|          | ||||
|         if [ ! -z $custom ]; then | ||||
|             nitrogen+=($custom) | ||||
|         fi | ||||
|          | ||||
|         nitrogen+=(${wallpaper}) | ||||
|          | ||||
|         "${nitrogen[@]}" | ||||
|     done | ||||
| } | ||||
| 
 | ||||
| kde_cmd() { | ||||
|     if [ ! -z $dir ]; then | ||||
| 				qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = \"org.kde.image\";d.currentConfigGroup = Array(\"Wallpaper\", \"org.kde.image\", \"General\");d.writeConfig(\"Image\", \"file:$HOME/Pictures/wallpaper_dump/${wallpaper}\")}" | ||||
| 				qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = \"org.kde.image\";d.currentConfigGroup = Array(\"Wallpaper\", \"org.kde.image\", \"General\");d.writeConfig(\"Image\", \"file:$HOME/Pictures/wallpaper_dump/${wallpaper}\")}" | ||||
|     else | ||||
| 				cp ${wallpaper} "${cachedir}/tmp.jpg" | ||||
| 				qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = \"org.kde.image\";d.currentConfigGroup = Array(\"Wallpaper\", \"org.kde.image\", \"General\");d.writeConfig(\"Image\", \"file:${cachedir}/tmp.jpg\")}" | ||||
| 				qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = \"org.kde.image\";d.currentConfigGroup = Array(\"Wallpaper\", \"org.kde.image\", \"General\");d.writeConfig(\"Image\", \"file:${wallpaper}\")}" | ||||
| 				rm "${cachedir}/tmp.jpg" | ||||
| 		fi | ||||
| } | ||||
| 
 | ||||
| xfce_cmd() { | ||||
|     connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") | ||||
|     activeOutput=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") | ||||
|     connected=$(echo $connectedOutputs | wc -w) | ||||
|      | ||||
|     xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s ~/Pictures/1.jpeg | ||||
|     xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS1/workspace0/last-image -n -t string -s  ~/Pictures/1.jpeg | ||||
|      | ||||
|     for i in $(xfconf-query -c xfce4-desktop -p /backdrop -l|egrep -e "screen.*/monitor.*image-path$" -e "screen.*/monitor.*/last-image$"); do | ||||
|         xfconf-query -c xfce4-desktop -p $i -n -t string -s ${wallpaper} | ||||
|         xfconf-query -c xfce4-desktop -p $i -s ${wallpaper} | ||||
|     done | ||||
| } | ||||
| 
 | ||||
| gnome_cmd() { | ||||
|     if [ ! -z $dir ]; then | ||||
|     	gsettings set org.gnome.desktop.background picture-uri "file://$HOME/Pictures/wallpaper_dump/${wallpaper}" | ||||
|     	gsettings set org.gnome.desktop.background picture-uri-dark "file://$HOME/Pictures/wallpaper_dump/${wallpaper}" | ||||
|     else | ||||
|         gsettings set org.gnome.desktop.background picture-uri "file://${wallpaper}" | ||||
|         gsettings set org.gnome.desktop.background picture-uri-dark "file://${wallpaper}" | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| feh_cmd() { | ||||
|     local feh=(feh) | ||||
|     if [ ! -z $bgtype ]; then | ||||
|         if [ $bgtype == 'bg-center' ]; then | ||||
|             feh+=(--bg-center) | ||||
|         fi | ||||
|         if [ $bgtype == 'bg-fill' ]; then | ||||
|             feh+=(--bg-fill) | ||||
|         fi | ||||
|         if [ $bgtype == 'bg-max' ]; then | ||||
|             feh+=(--bg-max) | ||||
|         fi | ||||
|         if [ $bgtype == 'bg-scale' ]; then | ||||
|             feh+=(--bg-scale) | ||||
|         fi | ||||
|         if [ $bgtype == 'bg-tile' ]; then | ||||
|             feh+=(--bg-tile) | ||||
|         fi | ||||
|     else | ||||
|         feh+=(--bg-scale) | ||||
|     fi | ||||
|      | ||||
|     if [ ! -z $custom ]; then | ||||
|         feh+=($custom) | ||||
|     fi | ||||
| 
 | ||||
|     if [ ! -z $dir ]; then | ||||
|         cp "$HOME/Pictures/wallpaper_dump/${wallpaper}" "$HOME/Pictures/wallpapers/wallpaper" | ||||
|         feh+=("$HOME/Pictures/wallpaper_dump/${wallpaper}") | ||||
|     else | ||||
|         feh+=(${wallpaper}) | ||||
|     fi | ||||
|      | ||||
|     "${feh[@]}" | ||||
| } | ||||
| 
 | ||||
| pywal=0 | ||||
| kde=false | ||||
| xfce=false | ||||
| gnome=false | ||||
| nitrogen=false | ||||
| sway=false | ||||
| monitors=1 | ||||
| 
 | ||||
| PARSED_ARGUMENTS=$(getopt -a -n $0 -o h:w:s:l:b:r:a:c:d:m:pknxgy --long search:,height:,width:,fehbg:,fehopt:,artist:,subreddit:,directory:,monitors:,termcolor:,kde,nitrogen,xfce,gnome,sway -- "$@") | ||||
| 
 | ||||
| VALID_ARGUMENTS=$? | ||||
| if [ "$VALID_ARGUMENTS" != "0" ]; then | ||||
|     usage | ||||
|     exit | ||||
| fi | ||||
| while : | ||||
| do | ||||
|     case "${1}" in | ||||
|         -b | --fehbg)     bgtype=${2} ; shift 2 ;; | ||||
|         -s | --search)    search=${2} ; shift 2 ;; | ||||
|         -h | --height)    height=${2} ; shift 2 ;; | ||||
|         -w | --width)     width=${2} ; shift 2 ;; | ||||
|         -l | --link)      link=${2} ; shift 2 ;; | ||||
|         -r | --subreddit) sub=${2} ; shift 2 ;; | ||||
|         -a | --artist) artist=${2} ; shift 2 ;; | ||||
|         -c | --fehopt)    custom=${2} ; shift 2 ;; | ||||
|         -m | --monitors)  monitors=${2} ; shift 2 ;; | ||||
|         -n | --nitrogen)  nitrogen=true ; shift ;; | ||||
|         -d | --directory) dir=${2} ; shift 2 ;; | ||||
|         -p | --termcolor) pywal=1 ; shift ;; | ||||
|         -k | --kde)       kde=true ; shift ;; | ||||
|         -x | --xfce)      xfce=true ; shift ;; | ||||
|         -g | --gnome)     gnome=true ; shift ;; | ||||
|         -y | --sway)      sway=true ; shift ;; | ||||
|         -- | '') shift; break ;; | ||||
|         *) echo "Unexpected option: $1 - this should not happen." ; usage ;; | ||||
|     esac | ||||
| done | ||||
| 
 | ||||
| if [ ! -z $dir ]; then | ||||
|     select_random_wallpaper | ||||
| elif [ $link = "reddit" ] || [ ! -z $sub ]; then | ||||
|     reddit "$sub" | ||||
| elif [ $link = "deviantart" ] || [ ! -z $artist ]; then | ||||
|     deviantart "$artist" | ||||
| else | ||||
|     unsplash | ||||
| fi | ||||
| echo $dir | ||||
| type_check | ||||
| 
 | ||||
| if [ $kde = true ]; then | ||||
|     kde_cmd | ||||
| elif [ $xfce = true ]; then | ||||
|     xfce_cmd | ||||
| elif [ $gnome = true ]; then | ||||
|     gnome_cmd | ||||
| elif [ $nitrogen = true ]; then | ||||
|     nitrogen_cmd | ||||
| elif [ $sway = true ]; then | ||||
|     sway_cmd | ||||
| else | ||||
|     feh_cmd | ||||
| fi | ||||
| 
 | ||||
| 
 | ||||
| pywal_cmd | ||||
							
								
								
									
										1
									
								
								config/.scripts/test.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								config/.scripts/test.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1 @@ | ||||
| /usr/lib/jvm/java-11-openjdk/bin/java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest/core.jar org.junit.runner.JUnitCore $* | ||||
							
								
								
									
										2
									
								
								config/.scripts/zigcc
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								config/.scripts/zigcc
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,2 @@ | ||||
| #!/bin/sh | ||||
| zig cc $@ | ||||
							
								
								
									
										46
									
								
								config/.theme.xresources
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								config/.theme.xresources
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| ! Base16 Gruvbox dark, hard | ||||
| ! Scheme author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) | ||||
| ! Template author: Tinted Theming (https://github.com/tinted-theming) | ||||
| 
 | ||||
| #define base00 #1d2021 | ||||
| #define base01 #3c3836 | ||||
| #define base02 #504945 | ||||
| #define base03 #665c54 | ||||
| #define base04 #bdae93 | ||||
| #define base05 #d5c4a1 | ||||
| #define base06 #ebdbb2 | ||||
| #define base07 #fbf1c7 | ||||
| #define base08 #fb4934 | ||||
| #define base09 #fe8019 | ||||
| #define base0A #fabd2f | ||||
| #define base0B #b8bb26 | ||||
| #define base0C #8ec07c | ||||
| #define base0D #83a598 | ||||
| #define base0E #d3869b | ||||
| #define base0F #d65d0e | ||||
| 
 | ||||
| *foreground:   base05 | ||||
| #ifdef background_opacity | ||||
| *background:   [background_opacity]base00 | ||||
| #else | ||||
| *background:   base00 | ||||
| #endif | ||||
| *cursorColor:  base05 | ||||
| 
 | ||||
| *color0:       base00 | ||||
| *color1:       base08 | ||||
| *color2:       base0B | ||||
| *color3:       base0A | ||||
| *color4:       base0D | ||||
| *color5:       base0E | ||||
| *color6:       base0C | ||||
| *color7:       base05 | ||||
| 
 | ||||
| *color8:       base03 | ||||
| *color9:       base09 | ||||
| *color10:      base01 | ||||
| *color11:      base02 | ||||
| *color12:      base04 | ||||
| *color13:      base06 | ||||
| *color14:      base0F | ||||
| *color15:      base07 | ||||
							
								
								
									
										21
									
								
								config/.tmux.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								config/.tmux.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| # List of plugins | ||||
| #set -g @plugin 'tmux-plugins/tpm' | ||||
| #set -g @plugin 'tmux-plugins/tmux-sensible' | ||||
| #set -g @plugin 'arcticicestudio/nord-tmux' | ||||
| set -g default-terminal "xterm-256color" | ||||
| set -ga terminal-overrides ",xterm*:Tc" | ||||
| set -g mouse on | ||||
| # Changes prefix key to control a instead of control b | ||||
| unbind C-b | ||||
| set-option -g prefix C-a | ||||
| set -sg escape-time 25 | ||||
| setw -g mode-keys vi | ||||
| bind b choose-tree | ||||
| 
 | ||||
| # Other examples: | ||||
| # set -g @plugin 'github_username/plugin_name' | ||||
| # set -g @plugin 'git@github.com:user/plugin' | ||||
| # set -g @plugin 'git@bitbucket.com:user/plugin' | ||||
| # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | ||||
| #run '~/.tmux/plugins/tpm/tpm' | ||||
| run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf" | ||||
							
								
								
									
										3
									
								
								config/.xinitrc
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								config/.xinitrc
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| xrdb -merge ~/.Xresources | ||||
| /home/mikec/.scripts/startup.sh | ||||
| exec dwm | ||||
							
								
								
									
										7
									
								
								config/.xprofile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								config/.xprofile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| export PATH="${PATH}:$HOME/.scripts:~/.local/share/gem/ruby/3.0.0/bin" | ||||
| #export GDK_SCALE=2 | ||||
| #export GDK_DPI_SCALE=0.5 | ||||
| #sxhkd -c $HOME/.config/berry/sxhkdrc & | ||||
| # xrandr --output DisplayPort-0 --rate 165 | ||||
| autorandr -c | ||||
| $HOME/.fehbg | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael Chalupiak
						Michael Chalupiak