commit 6249ebcb1f32e2ac7135ff1b7797d8da48394531 Author: Fabio Scotto di Santolo Date: Fri Jul 25 11:02:18 2025 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e349900 --- /dev/null +++ b/.gitignore @@ -0,0 +1,271 @@ +nvim/dot-config/nvim/lazy-lock.json + +# Created by https://www.toptal.com/developers/gitignore/api/perl,python,ruby +# Edit at https://www.toptal.com/developers/gitignore?templates=perl,python,ruby + +### Perl ### +!Build/ +.last_cover_stats +/META.yml +/META.json +/MYMETA.* +*.o +*.pm.tdy +*.bs + +# Devel::Cover +cover_db/ + +# Devel::NYTProf +nytprof.out + +# Dist::Zilla +/.build/ + +# Module::Build +_build/ +Build +Build.bat + +# Module::Install +inc/ + +# ExtUtils::MakeMaker +/blib/ +/_eumm/ +/*.gz +/Makefile +/Makefile.old +/MANIFEST.bak +/pm_to_blib +/*.zip + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +### Ruby ### +*.gem +*.rbc +/.config +/coverage/ +/InstalledFiles +/pkg/ +/spec/reports/ +/spec/examples.txt +/test/tmp/ +/test/version_tmp/ +/tmp/ + +# Used by dotenv library to load environment variables. +# .env + +# Ignore Byebug command history file. +.byebug_history + +## Specific to RubyMotion: +.dat* +.repl_history +*.bridgesupport +build-iPhoneOS/ +build-iPhoneSimulator/ + +## Specific to RubyMotion (use of CocoaPods): +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# vendor/Pods/ + +## Documentation cache and generated files: +/.yardoc/ +/_yardoc/ +/doc/ +/rdoc/ + +## Environment normalization: +/.bundle/ +/vendor/bundle +/lib/bundler/man/ + +# for a library or gem, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# Gemfile.lock +# .ruby-version +# .ruby-gemset + +# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: +.rvmrc + +# Used by RuboCop. Remote config files pulled in from inherit_from directive. +# .rubocop-https?--* + +# End of https://www.toptal.com/developers/gitignore/api/perl,python,ruby diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7b27a2f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,30 @@ +[submodule "tmux/.tmux/plugins/tpm"] + path = tmux/.tmux/plugins/tpm + url = https://github.com/tmux-plugins/tpm +[submodule "tmux/.tmux/plugins/tmux-autoreload"] + path = tmux/.tmux/plugins/tmux-autoreload + url = https://git::@github.com/b0o/tmux-autoreload +[submodule "tmux/.tmux/plugins/tmux-open"] + path = tmux/.tmux/plugins/tmux-open + url = https://git::@github.com/tmux-plugins/tmux-open +[submodule "tmux/.tmux/plugins/tmux-powerline"] + path = tmux/.tmux/plugins/tmux-powerline + url = https://git::@github.com/erikw/tmux-powerline +[submodule "tmux/.tmux/plugins/tmux-sensible"] + path = tmux/.tmux/plugins/tmux-sensible + url = https://git::@github.com/tmux-plugins/tmux-sensible +[submodule "tmux/.tmux/plugins/tmux-power"] + path = tmux/.tmux/plugins/tmux-power + url = https://git::@github.com/wfxr/tmux-power +[submodule "tmux/.tmux/plugins/tmux"] + path = tmux/.tmux/plugins/tmux + url = https://github.com/catppuccin/tmux.git +[submodule "zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions"] + path = zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions + url = https://github.com/zsh-users/zsh-autosuggestions.git +[submodule "zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"] + path = zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting + url = https://github.com/zsh-users/zsh-syntax-highlighting.git +[submodule "zsh/.oh-my-zsh/custom/plugins/fzf"] + path = zsh/.oh-my-zsh/custom/plugins/fzf + url = https://github.com/junegunn/fzf.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..ebbd27b --- /dev/null +++ b/README.md @@ -0,0 +1,142 @@ +# ๐ŸชŸ Windowsโ€‘Specific Dotfiles + +This branch (`windows`) contains only the configuration files and tools I use on **Windows systems**. +It is separated from the main branch to avoid mixing Linux/macOS configurations with those required only for Windows or WSL. + +--- + +## ๐Ÿ“ฆ Included Configurations + +This branch includes: + +- PowerShell and PowerShell Core profile settings (`Microsoft.PowerShell_profile.ps1`) +- Windows Terminal settings (`settings.json`) +- Neovim configuration (used via WSL or native Windows installation) +- `starship.toml` prompt configuration +- `zsh/` folder for WSL Zsh integration (if used) +- Windows-specific `.gitconfig` overrides +- Helper scripts (e.g., `.ps1`, `.bat`, or `.sh` under WSL) +- Optional tools: `fzf`, `bat`, `zoxide`, `ripgrep`, `fd` (via WSL or Windows-native) + +--- + +## ๐Ÿš€ Quick Setup + +> โš ๏ธ This assumes [Git](https://git-scm.com), [PowerShell 7+](https://learn.microsoft.com/powershell/scripting/install/installing-powershell), and optionally [Windows Terminal](https://aka.ms/terminal) are installed. + +Clone and install: + +```powershell +git clone https://github.com/fscotto/dotfiles -b windows $HOME\.dotfiles +cd $HOME\.dotfiles +.\bootstrap_windows.ps1 +```` + +The script will: + +* Copy or symlink PowerShell profile(s) +* Configure Windows Terminal settings +* Place `starship.toml` in the correct location +* Configure Neovim under `$env:LOCALAPPDATA\nvim` or WSL +* Set up additional tools if available + +--- + +## ๐Ÿงฐ Optional Tools + +Install these tools to get the best experience: + +| Tool | Installation (native) | Usage | +| ---------- | ------------------------------ | -------------------------- | +| `starship` | `winget install starship` | Prompt in PowerShell/Zsh | +| `zoxide` | `winget install zoxide` | Smarter `cd` | +| `bat` | `winget install bat` | Better `cat` | +| `fzf` | `winget install fzf` | Fuzzy file finder | +| `fd` | `winget install fd` | Fast file search | +| `ripgrep` | `winget install ripgrep` | Recursive grep alternative | +| `neovim` | `winget install Neovim.Neovim` | Editor (native or WSL) | + +> You can also install these inside WSL with `apt` or `xbps-install`, depending on the distro. + +--- + +## ๐Ÿงช Neovim in WSL or Windows + +This setup supports both native Neovim (in `AppData\Local\nvim`) and WSL Neovim (`~/.config/nvim`): + +* Use the same config by syncing with `stow`, `rclone`, or a symbolic link +* Make sure `nvim` is in your `$PATH` (native or via WSL) +* Optional plugin managers: lazy.nvim, vim-plug, etc. + +--- + +## โš™๏ธ Git Configuration + +This branch includes Windows-specific Git settings (e.g. line endings, credential manager): + +```bash +# .gitconfig.windows +[core] + autocrlf = true +[credential] + helper = manager-core +``` + +You can include this in your global config with: + +```bash +git config --global include.path ~/.dotfiles/.gitconfig.windows +``` + +--- + +## ๐Ÿ–ฅ๏ธ Windows Terminal Settings + +Settings are stored at: + +```text +%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json +``` + +> You can symlink or manually copy from this repo if needed. + +--- + +## ๐Ÿงญ Branch Structure + +| Branch | Purpose | Content | +| --------- | -------------------------------- | ----------------------------------------- | +| `master` | Main configuration (Linux/macOS) | Shell, Neovim, Tmux, tools, etc. | +| `windows` | Windows-only configuration | PowerShell, Windows Terminal, WSL support | + +--- + +## ๐Ÿ“‚ Directory Structure + +```text +dotfiles/ +โ”œโ”€โ”€ powershell/ # PowerShell profiles +โ”œโ”€โ”€ windows-terminal/ # Windows Terminal settings +โ”œโ”€โ”€ nvim/ # Neovim config (optional WSL sync) +โ”œโ”€โ”€ starship.toml # Prompt config +โ”œโ”€โ”€ bootstrap_windows.ps1 # Setup script +โ””โ”€โ”€ .gitconfig.windows # Git config overrides +``` + +--- + +## ๐Ÿค Contributing + +Found a useful Windows-only configuration or script? +Feel free to fork and open a pull request against the `windows` branch. + +--- + +## ๐Ÿ“ License + +MIT โ€” Feel free to use, modify, and adapt. + +--- + +> Maintained by [fscotto](https://github.com/fscotto) +> For Windows configuration only. See the `master` branch for full cross-platform support. diff --git a/bash/.bash_logout b/bash/.bash_logout new file mode 100644 index 0000000..de4f5f7 --- /dev/null +++ b/bash/.bash_logout @@ -0,0 +1,7 @@ +# ~/.bash_logout: executed by bash(1) when login shell exits. + +# when leaving the console clear the screen to increase privacy + +if [ "$SHLVL" = 1 ]; then + [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q +fi diff --git a/bash/.bash_profile b/bash/.bash_profile new file mode 100644 index 0000000..30d4174 --- /dev/null +++ b/bash/.bash_profile @@ -0,0 +1,6 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc +[[ -f ~/.profile ]] && . ~/.profile diff --git a/bash/.bashrc b/bash/.bashrc new file mode 100644 index 0000000..1aa1343 --- /dev/null +++ b/bash/.bashrc @@ -0,0 +1,187 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +shopt -s autocd +shopt -s checkwinsize +shopt -s cdspell +shopt -s cmdhist +shopt -s histappend +shopt -s hostcomplete + +# Make colorcoding available for everyone +Black='\e[0;30m' # Black +Red='\e[0;31m' # Red +Green='\e[0;32m' # Green +Yellow='\e[0;33m' # Yellow +Blue='\e[0;34m' # Blue +Purple='\e[0;35m' # Purple +Cyan='\e[0;36m' # Cyan +White='\e[0;37m' # White + +# Bold +BBlack='\e[1;30m' # Black +BRed='\e[1;31m' # Red +BGreen='\e[1;32m' # Green +BYellow='\e[1;33m' # Yellow +BBlue='\e[1;34m' # Blue +BPurple='\e[1;35m' # Purple +BCyan='\e[1;36m' # Cyan +BWhite='\e[1;37m' # White + +# Background +On_Black='\e[40m' # Black +On_Red='\e[41m' # Red +On_Green='\e[42m' # Green +On_Yellow='\e[43m' # Yellow +On_Blue='\e[44m' # Blue +On_Purple='\e[45m' # Purple +On_Cyan='\e[46m' # Cyan +On_White='\e[47m' # White + +NC="\e[m" # Color Reset + +# new alert text +ALERT=${BWhite}${On_Red} # Bold White on red background + +# Creates an archive (*.tar.gz) from given directory. +function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; } + +# Create a ZIP archive of a file or folder. +function makezip() { zip -r "${1%%/}.zip" "$1" ; } + +function extract { + if [ -z "$1" ]; then + # display usage if no parameters given + echo "Usage: extract ." + else + if [ -f $1 ] ; then + # NAME=${1%.*} + # mkdir $NAME && cd $NAME + case $1 in + *.tar.bz2) tar xvjf ../$1 ;; + *.tar.gz) tar xvzf ../$1 ;; + *.tar.xz) tar xvJf ../$1 ;; + *.lzma) unlzma ../$1 ;; + *.bz2) bunzip2 ../$1 ;; + *.rar) unrar x -ad ../$1 ;; + *.gz) gunzip ../$1 ;; + *.tar) tar xvf ../$1 ;; + *.tbz2) tar xvjf ../$1 ;; + *.tgz) tar xvzf ../$1 ;; + *.zip) unzip ../$1 ;; + *.Z) uncompress ../$1 ;; + *.7z) 7z x ../$1 ;; + *.xz) unxz ../$1 ;; + *.exe) cabextract ../$1 ;; + *) echo "extract: '$1' - unknown archive method" ;; + esac + else + echo "$1 - file does not exist" + fi + fi +} + +# jump directorys upwards until it hits a directory with multiple folders +function up(){ + local d="" + limit=$1 + for ((i=1 ; i <= limit ; i++)) + do + d=$d/.. + done + d=$(echo $d | sed 's/^\///') + if [ -z "$d" ]; then + d=.. + fi + cd "$d" || exit +} + +# create an directory and directly cd into it +function mcd() { + mkdir -p "$1" + cd "$1" || exit +} + +function parse_git_branch() { + git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' +} + +function my_ip() { + INTERFACE=$(ip addr | awk '/state UP/ {print $2}' | sed 's/.$//') + echo "$(/sbin/ifconfig $INTERFACE | awk "/inet/ {print $2} " | sed -e s/addr://)" +} + +function welcome() { + #------------------------------------------ + #------WELCOME MESSAGE--------------------- + # customize this first message with a message of your choice. + # this will display the username, date, time, a calendar, the amount of users, and the up time. + clear + # Gotta love ASCII art with figlet + #figlet "Welcome, " $USER; + toilet -f starwars -t "Welcome, " $USER; + #echo -e ""; cal ; + fastfetch 2> /dev/null + echo "" + echo -ne "Today is "; date + echo -e "" + echo -ne "Up time:";uptime | awk /'up/' + echo -en "Local IP Address : "; my_ip | awk '{print $2}' + echo ""; +} + +[ -r "$HOME/.bashrc.aliases" ] && . "$HOME/.bashrc.aliases" + +# export QT_STYLE_OVERRIDE=gtk +# export QT_SELECT=qt5 + +if [[ $LANG = '' ]]; then + export LANG=it_IT.UTF-8 +fi + +if [ -n "$SSH_CLIENT" ]; then + ssh_placeholder=' {SSH::SESSION}' +fi + +if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then + # To only show the git prompt in or under a repository directory + GIT_PROMPT_ONLY_IN_REPO=0 + # To use upstream's default theme + GIT_PROMPT_THEME=Custom + source "$HOME/.bash-git-prompt/gitprompt.sh" +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +[ -e "/etc/DIR_COLORS" ] && DIR_COLORS="/etc/DIR_COLORS" +[ -e "$HOME/.dircolors" ] && DIR_COLORS="$HOME/.dircolors" +[ -e "$DIR_COLORS" ] || DIR_COLORS="" + +[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env" + +if [ -f "/home/linuxbrew/.linuxbrew/bin/brew" ]; then + # Initialize Homebrew + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" +fi + +if command -v starship > /dev/null 2>&1; then + eval "$(starship init bash)" +fi + +if command -v zoxide > /dev/null 2>&1; then + # Initialize Zoxide + eval "$(zoxide init bash)" +fi diff --git a/bash/.bashrc.aliases b/bash/.bashrc.aliases new file mode 100644 index 0000000..a28339d --- /dev/null +++ b/bash/.bashrc.aliases @@ -0,0 +1,49 @@ +# +# ~/.bashrc.aliases +# + +# Alias di cambio directory +alias ..="cd .." +alias ...="cd ../.." +alias .3="cd ../../.." +alias .4="cd ../../../.." +alias .5="cd ../../../../.." +alias cd..="cd .." +alias home="cd ~" + +# Alias del comando ls +alias l="ls -CF --color=always" +alias ls="ls --color=always" +alias lla="ls -lisah" +alias ll="ls -lh" +alias la="ls -CFa" +alias lsl="ls -lhFA | less" + +# Output colorato comandi vari +alias grep='grep --color=auto' +alias gcc='colorgcc' +alias diff='colordiff' + +# Alias vari +alias path='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths +alias mkdir="mkdir -pv" +alias journalctl='sudo journalctl' +alias failed='sudo systemctl --failed' +alias se='ls /usr/bin | grep' +alias df='df -h' +alias du='du -h' +alias please='sudo $(fc -ln -1)' +alias userlist="cut -d: -f1 /etc/passwd | sort" +alias fhere="find . -name " +alias free="free -mth" +alias ps="ps auxf" +alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" +alias wget="wget -c" +alias histg="history | grep" +alias myip="curl http://ipecho.net/plain; echo" +alias logs="find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f" +alias folders='find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn' +alias vpn-add='nmcli connection import type openvpn file' +alias pbcopy='xsel --clipboard --input' +alias pbpaste='xsel --clipboard --output' +alias stow='stow --dotfiles -d ~/.dotfiles ' diff --git a/bat/.config/bat/config b/bat/.config/bat/config new file mode 100644 index 0000000..b0a770b --- /dev/null +++ b/bat/.config/bat/config @@ -0,0 +1,30 @@ +# This is `bat`s configuration file. Each line either contains a comment or +# a command-line option that you want to pass to `bat` by default. You can +# run `bat --help` to get a list of all possible configuration options. + +# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes` +# for a list of all available themes + +# Theme +--theme="Catppuccin Mocha" + +# Style +--style="header,changes,numbers" + +# Enable this to use italic text on the terminal. This is not supported on all +# terminal emulators (like tmux, by default): +--italic-text=always + +# Uncomment the following line to disable automatic paging: +--paging=auto + +# Uncomment the following line if you are using less version >= 551 and want to +# enable mouse scrolling support in `bat` when running inside tmux. This might +# disable text selection, unless you press shift. +--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" + +# Syntax mappings: map a certain filename pattern to a language. +# Example 1: use the C++ syntax for Arduino .ino files +# Example 2: Use ".gitignore"-style highlighting for ".ignore" files +--map-syntax "*.ino:C++" +--map-syntax ".ignore:Git Ignore" diff --git a/bat/.config/bat/themes/Catppuccin Frappe.tmTheme b/bat/.config/bat/themes/Catppuccin Frappe.tmTheme new file mode 100644 index 0000000..4c0c360 --- /dev/null +++ b/bat/.config/bat/themes/Catppuccin Frappe.tmTheme @@ -0,0 +1,2048 @@ + + + + + name + Catppuccin Frappรฉ + semanticClass + theme.dark.catppuccin-frappรฉ + uuid + e0ada983-8938-490c-86f0-97a1a0ec58e4 + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #303446 + foreground + #c6d0f5 + caret + #f2d5cf + lineHighlight + #414559 + misspelling + #e78284 + accent + #ca9ee6 + selection + #949cbb40 + activeGuide + #51576d + findHighlight + #506373 + gutterForeground + #838ba7 + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #c6d0f5 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #949cbb + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #737994 + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6d189 + + + + scope + constant.character.escape + settings + + foreground + #f4b8e4 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #ef9f76 + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #ca9ee6 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #ca9ee6 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #81c8be + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #81c8be + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #81c8be + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #ef9f76 + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #ea999c + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #e78284 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #e78284 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #e5c890 + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #99d1db + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #e5c890 + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #8caaee + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #e78284 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #c6d0f5 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #c6d0f5 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #ca9ee6 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #e5c890 + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #81c8be + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #c6d0f5 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #c6d0f5 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #e5c890 + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #81c8be + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #81c8be + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #ef9f76 + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6d189 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #99d1db + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #ea999c + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #8caaee + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #ef9f76 + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6d189 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #8caaee + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #ef9f76 + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #e5c890 + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #e5c890 + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f4b8e4 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f4b8e4 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f4b8e4 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #ef9f76 + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #8caaee + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6d189 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #e78284 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #8caaee + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #c6d0f5 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #8caaee + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #ef9f76 + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #ea999c + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #ef9f76 + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #ef9f76 + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #c6d0f5 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #eebebe + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #81c8be + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #eebebe + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #ca9ee6 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #8caaee + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #e78284 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #e5c890 + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f4b8e4 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #ef9f76 + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #81c8be + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #c6d0f5 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #ea999c + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #c6d0f5 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #ea999c + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #c6d0f5 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #ca9ee6 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #ca9ee6 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #ca9ee6 + + + + scope + variable.parameter.generic + settings + + foreground + #e5c890 + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #81c8be + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #ca9ee6 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #81c8be + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #ef9f76 + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #ea999c + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #81c8be + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #99d1db + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #eebebe + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #ca9ee6 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #c6d0f5 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #e78284 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #ef9f76 + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #e5c890 + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6d189 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #8caaee + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #ca9ee6 + + + + scope + markup.bold + settings + + foreground + #e78284 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #e78284 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a5adce + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #8caaee + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #babbf1 + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6d189 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #99d1db + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #949cbb + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f4b8e4 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #81c8be + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #81c8be + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #8caaee + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #c6d0f5 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #babbf1 + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f4b8e4 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #e5c890 + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #ea999c + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #ca9ee6 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #99d1db + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #c6d0f5 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #99d1db + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #e78284 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #ca9ee6 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #ca9ee6 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #99d1db + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #8caaee + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #ef9f76 + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f4b8e4 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #ef9f76 + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #ef9f76 + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #ca9ee6 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #ea999c + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6d189 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f4b8e4 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #ca9ee6 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #c6d0f5 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6d189 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #e5c890 + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f4b8e4 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f2d5cf + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #81c8be + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #ef9f76 + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #8caaee + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #ca9ee6 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #ca9ee6 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #ef9f76 + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #ef9f76 + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #e5c890 + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #e5c890 + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #81c8be + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f4b8e4 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #c6d0f5 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #8caaee + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #99d1db + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #ef9f76 + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #ea999c + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #c6d0f5 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #e78284 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f4b8e4 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f4b8e4 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #81c8be + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #e78284 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #ef9f76 + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #81c8be + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #ca9ee6 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #c6d0f5 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #ca9ee6 + + + + scope + markup.heading.commands.man + settings + + foreground + #8caaee + + + + scope + markup.heading.env.man + settings + + foreground + #f4b8e4 + + + + scope + markup.heading.1.markdown + settings + + foreground + #e78284 + + + + scope + markup.heading.2.markdown + settings + + foreground + #ef9f76 + + + + scope + markup.heading.markdown + settings + + foreground + #e5c890 + + + + + \ No newline at end of file diff --git a/bat/.config/bat/themes/Catppuccin Latte.tmTheme b/bat/.config/bat/themes/Catppuccin Latte.tmTheme new file mode 100644 index 0000000..0c85817 --- /dev/null +++ b/bat/.config/bat/themes/Catppuccin Latte.tmTheme @@ -0,0 +1,2048 @@ + + + + + name + Catppuccin Latte + semanticClass + theme.light.catppuccin-latte + uuid + 96a262cd-4b2f-49f5-9125-8dd0077cbfe1 + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #eff1f5 + foreground + #4c4f69 + caret + #dc8a78 + lineHighlight + #ccd0da + misspelling + #d20f39 + accent + #8839ef + selection + #7c7f934d + activeGuide + #bcc0cc + findHighlight + #a9daf0 + gutterForeground + #8c8fa1 + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #4c4f69 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #7c7f93 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #9ca0b0 + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #40a02b + + + + scope + constant.character.escape + settings + + foreground + #ea76cb + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #fe640b + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #8839ef + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #8839ef + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #179299 + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #179299 + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #179299 + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #fe640b + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #d20f39 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #d20f39 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #df8e1d + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #04a5e5 + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #df8e1d + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #1e66f5 + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #d20f39 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #4c4f69 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #4c4f69 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #8839ef + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #df8e1d + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #179299 + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #4c4f69 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #4c4f69 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #df8e1d + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #179299 + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #179299 + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #fe640b + + + + scope + source.css variable.parameter.url + settings + + foreground + #40a02b + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #04a5e5 + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #e64553 + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #1e66f5 + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #fe640b + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #40a02b + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #1e66f5 + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #fe640b + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #df8e1d + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #df8e1d + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #ea76cb + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #ea76cb + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #ea76cb + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #fe640b + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #1e66f5 + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #40a02b + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #d20f39 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #1e66f5 + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #4c4f69 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #1e66f5 + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #fe640b + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #e64553 + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #fe640b + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #fe640b + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #4c4f69 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #dd7878 + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #179299 + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #dd7878 + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #8839ef + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #1e66f5 + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #d20f39 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #df8e1d + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #ea76cb + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #fe640b + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #179299 + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #4c4f69 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #e64553 + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #4c4f69 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #e64553 + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #4c4f69 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #8839ef + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #8839ef + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #8839ef + + + + scope + variable.parameter.generic + settings + + foreground + #df8e1d + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #179299 + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #8839ef + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #179299 + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #fe640b + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #e64553 + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #179299 + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #04a5e5 + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #dd7878 + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #8839ef + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #4c4f69 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #d20f39 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #fe640b + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #df8e1d + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #40a02b + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #1e66f5 + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #8839ef + + + + scope + markup.bold + settings + + foreground + #d20f39 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #d20f39 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #6c6f85 + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #1e66f5 + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #7287fd + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #40a02b + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #04a5e5 + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #7c7f93 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #ea76cb + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #179299 + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #179299 + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #1e66f5 + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #4c4f69 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #7287fd + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #ea76cb + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #df8e1d + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #e64553 + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #8839ef + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #04a5e5 + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #4c4f69 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #04a5e5 + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #8839ef + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #8839ef + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #04a5e5 + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #1e66f5 + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #fe640b + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #ea76cb + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #fe640b + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #fe640b + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #8839ef + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #40a02b + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #ea76cb + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #8839ef + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #4c4f69 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #40a02b + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #df8e1d + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #ea76cb + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #dc8a78 + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #179299 + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #fe640b + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #1e66f5 + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #8839ef + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #8839ef + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #fe640b + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #fe640b + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #df8e1d + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #df8e1d + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #179299 + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #ea76cb + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #4c4f69 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #1e66f5 + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #04a5e5 + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #fe640b + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #e64553 + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #4c4f69 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #d20f39 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #ea76cb + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #ea76cb + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #179299 + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #d20f39 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #fe640b + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #179299 + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #8839ef + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #4c4f69 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #8839ef + + + + scope + markup.heading.commands.man + settings + + foreground + #1e66f5 + + + + scope + markup.heading.env.man + settings + + foreground + #ea76cb + + + + scope + markup.heading.1.markdown + settings + + foreground + #d20f39 + + + + scope + markup.heading.2.markdown + settings + + foreground + #fe640b + + + + scope + markup.heading.markdown + settings + + foreground + #df8e1d + + + + + \ No newline at end of file diff --git a/bat/.config/bat/themes/Catppuccin Macchiato.tmTheme b/bat/.config/bat/themes/Catppuccin Macchiato.tmTheme new file mode 100644 index 0000000..b1f7056 --- /dev/null +++ b/bat/.config/bat/themes/Catppuccin Macchiato.tmTheme @@ -0,0 +1,2048 @@ + + + + + name + Catppuccin Macchiato + semanticClass + theme.dark.catppuccin-macchiato + uuid + 02b2bdf3-9eb7-4396-bf04-f17f1468f99f + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #24273a + foreground + #cad3f5 + caret + #f4dbd6 + lineHighlight + #363a4f + misspelling + #ed8796 + accent + #c6a0f6 + selection + #939ab740 + activeGuide + #494d64 + findHighlight + #455c6d + gutterForeground + #8087a2 + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #cad3f5 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #939ab7 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #6e738d + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6da95 + + + + scope + constant.character.escape + settings + + foreground + #f5bde6 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #f5a97f + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #c6a0f6 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #c6a0f6 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #8bd5ca + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #8bd5ca + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #8bd5ca + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #f5a97f + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #ed8796 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #ed8796 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #eed49f + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #91d7e3 + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #eed49f + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #8aadf4 + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #ed8796 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #cad3f5 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #cad3f5 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #c6a0f6 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #eed49f + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #8bd5ca + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #cad3f5 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #cad3f5 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #eed49f + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #8bd5ca + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #8bd5ca + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #f5a97f + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6da95 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #91d7e3 + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #ee99a0 + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #8aadf4 + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #f5a97f + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6da95 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #8aadf4 + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #f5a97f + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #eed49f + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #eed49f + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f5bde6 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f5bde6 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f5bde6 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #f5a97f + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #8aadf4 + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6da95 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #ed8796 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #8aadf4 + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #cad3f5 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #8aadf4 + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #f5a97f + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #ee99a0 + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #f5a97f + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #f5a97f + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #cad3f5 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #f0c6c6 + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #8bd5ca + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #f0c6c6 + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #c6a0f6 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #8aadf4 + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #ed8796 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #eed49f + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f5bde6 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #f5a97f + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #8bd5ca + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #cad3f5 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #ee99a0 + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #cad3f5 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #ee99a0 + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #cad3f5 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #c6a0f6 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #c6a0f6 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #c6a0f6 + + + + scope + variable.parameter.generic + settings + + foreground + #eed49f + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #8bd5ca + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #c6a0f6 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #f5a97f + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #ee99a0 + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #8bd5ca + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #91d7e3 + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #f0c6c6 + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #cad3f5 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #ed8796 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #f5a97f + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #eed49f + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6da95 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #8aadf4 + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #c6a0f6 + + + + scope + markup.bold + settings + + foreground + #ed8796 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #ed8796 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a5adcb + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #8aadf4 + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #b7bdf8 + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6da95 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #91d7e3 + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #939ab7 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f5bde6 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #8bd5ca + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #8bd5ca + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #8aadf4 + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #cad3f5 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #b7bdf8 + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f5bde6 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #eed49f + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #ee99a0 + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #c6a0f6 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #91d7e3 + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #cad3f5 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #91d7e3 + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #ed8796 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #c6a0f6 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #c6a0f6 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #91d7e3 + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #8aadf4 + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #f5a97f + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f5bde6 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #f5a97f + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #f5a97f + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #c6a0f6 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6da95 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f5bde6 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #c6a0f6 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #cad3f5 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6da95 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #eed49f + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f5bde6 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f4dbd6 + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #8bd5ca + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #f5a97f + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #8aadf4 + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #f5a97f + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #f5a97f + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #eed49f + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #eed49f + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #8bd5ca + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f5bde6 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #cad3f5 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #8aadf4 + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #91d7e3 + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #f5a97f + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #ee99a0 + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #cad3f5 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #ed8796 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f5bde6 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f5bde6 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #ed8796 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #f5a97f + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #8bd5ca + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #c6a0f6 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #cad3f5 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #c6a0f6 + + + + scope + markup.heading.commands.man + settings + + foreground + #8aadf4 + + + + scope + markup.heading.env.man + settings + + foreground + #f5bde6 + + + + scope + markup.heading.1.markdown + settings + + foreground + #ed8796 + + + + scope + markup.heading.2.markdown + settings + + foreground + #f5a97f + + + + scope + markup.heading.markdown + settings + + foreground + #eed49f + + + + + \ No newline at end of file diff --git a/bat/.config/bat/themes/Catppuccin Mocha.tmTheme b/bat/.config/bat/themes/Catppuccin Mocha.tmTheme new file mode 100644 index 0000000..ff135ab --- /dev/null +++ b/bat/.config/bat/themes/Catppuccin Mocha.tmTheme @@ -0,0 +1,2048 @@ + + + + + name + Catppuccin Mocha + semanticClass + theme.dark.catppuccin-mocha + uuid + 627ce890-fabb-4d39-9819-7be71f4bdca7 + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #1e1e2e + foreground + #cdd6f4 + caret + #f5e0dc + lineHighlight + #313244 + misspelling + #f38ba8 + accent + #cba6f7 + selection + #9399b240 + activeGuide + #45475a + findHighlight + #3e5767 + gutterForeground + #7f849c + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #cdd6f4 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #9399b2 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #6c7086 + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6e3a1 + + + + scope + constant.character.escape + settings + + foreground + #f5c2e7 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #fab387 + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #cba6f7 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #cba6f7 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #94e2d5 + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #94e2d5 + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #94e2d5 + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #fab387 + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #f38ba8 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #f38ba8 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #f9e2af + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #89dceb + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #f9e2af + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #89b4fa + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #f38ba8 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #cdd6f4 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #cdd6f4 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #cba6f7 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #f9e2af + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #94e2d5 + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #cdd6f4 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #cdd6f4 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #f9e2af + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #94e2d5 + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #94e2d5 + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #fab387 + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6e3a1 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #89dceb + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #eba0ac + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #89b4fa + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #fab387 + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6e3a1 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #89b4fa + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #fab387 + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #f9e2af + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #f9e2af + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f5c2e7 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f5c2e7 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f5c2e7 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #fab387 + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #89b4fa + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6e3a1 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #f38ba8 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #89b4fa + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #cdd6f4 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #89b4fa + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #fab387 + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #eba0ac + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #fab387 + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #fab387 + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #cdd6f4 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #f2cdcd + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #94e2d5 + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #f2cdcd + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #cba6f7 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #89b4fa + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #f38ba8 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #f9e2af + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #fab387 + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #94e2d5 + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #cdd6f4 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #eba0ac + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #cdd6f4 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #eba0ac + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #cdd6f4 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #cba6f7 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #cba6f7 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #cba6f7 + + + + scope + variable.parameter.generic + settings + + foreground + #f9e2af + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #94e2d5 + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #cba6f7 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #fab387 + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #eba0ac + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #94e2d5 + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #89dceb + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #f2cdcd + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #cdd6f4 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #f38ba8 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #fab387 + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #f9e2af + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6e3a1 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #89b4fa + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #cba6f7 + + + + scope + markup.bold + settings + + foreground + #f38ba8 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #f38ba8 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a6adc8 + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #89b4fa + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #b4befe + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6e3a1 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #89dceb + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #9399b2 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f5c2e7 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #94e2d5 + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #94e2d5 + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #89b4fa + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #cdd6f4 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #b4befe + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #f9e2af + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #eba0ac + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #cba6f7 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #89dceb + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #cdd6f4 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #89dceb + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #cba6f7 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #cba6f7 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #89dceb + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #89b4fa + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #fab387 + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f5c2e7 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #fab387 + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #fab387 + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #cba6f7 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6e3a1 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f5c2e7 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #cba6f7 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #cdd6f4 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6e3a1 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #f9e2af + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f5c2e7 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f5e0dc + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #94e2d5 + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #fab387 + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #89b4fa + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #fab387 + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #fab387 + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #f9e2af + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #f9e2af + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #94e2d5 + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f5c2e7 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #cdd6f4 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #89b4fa + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #89dceb + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #fab387 + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #eba0ac + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #cdd6f4 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #f38ba8 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f5c2e7 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f5c2e7 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #f38ba8 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #fab387 + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #94e2d5 + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #cba6f7 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #cdd6f4 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #cba6f7 + + + + scope + markup.heading.commands.man + settings + + foreground + #89b4fa + + + + scope + markup.heading.env.man + settings + + foreground + #f5c2e7 + + + + scope + markup.heading.1.markdown + settings + + foreground + #f38ba8 + + + + scope + markup.heading.2.markdown + settings + + foreground + #fab387 + + + + scope + markup.heading.markdown + settings + + foreground + #f9e2af + + + + + \ No newline at end of file diff --git a/fastfetch/.config/fastfetch/config-compact.jsonc b/fastfetch/.config/fastfetch/config-compact.jsonc new file mode 100644 index 0000000..f8b1e12 --- /dev/null +++ b/fastfetch/.config/fastfetch/config-compact.jsonc @@ -0,0 +1,72 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + }, + "type": "small" + }, + "display": { + "separator": " -> " + }, + "modules": [ + "break", + { + "type": "title", + "keyWidth": 10, + "format": " {6}{7}{8}" + }, + { + "type": "custom", + "format": " โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ" + }, + { + "type": "kernel", + "key": "๎œ’ ", + "keyColor": "yellow" + }, + { + "type": "wm", + "key": "๏’ˆ ", + "keyColor": "blue" + }, + { + "type": "shell", + "key": "๏’‰ ", + "keyColor": "yellow" + }, + { + "type": "terminal", + "key": "๎ž• ", + "keyColor": "blue" + }, + /* + { + "type": "packages", + "key": "๓ฐ– ", + "keyColor": "yellow" + }, + */ + { + "type": "memory", + "key": "๓ฐ› ", + "keyColor": "magenta", + // format: used / total + "format": "{1} / {2}" + }, + { + "type": "uptime", + "key": "๓ฐ”› ", + "keyColor": "green" + }, + { + "type": "custom", + "format": " โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ" + }, + { + "type": "custom", + "format": " \u001b[31m๏†’ \u001b[32m๏†’ \u001b[33m๏†’ \u001b[34m๏†’ \u001b[35m๏†’ \u001b[36m๏†’ \u001b[37m๏†’ \u001b[90m๏†’ " + }, + "break", + ] +} diff --git a/fastfetch/.config/fastfetch/config.jsonc b/fastfetch/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..9cf2590 --- /dev/null +++ b/fastfetch/.config/fastfetch/config.jsonc @@ -0,0 +1,137 @@ +// Load with --load-config examples/2.jsonc +// Note that you must replace the image path to an existing image to display it. + +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ๓ฐ‘ƒ " + }, + "modules": [ + { + "type": "custom", + "format": "\u001b[90mโ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" + }, + { + "type": "title", + "keyWidth": 10, + "format": " {6}{7}{8}" + }, + { + "type": "custom", + "format": "\u001b[90mโ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" + }, + { + "type": "custom", + "format": "\u001b[90m๏†’ \u001b[31m๏†’ \u001b[32m๏†’ \u001b[33m๏†’ \u001b[34m๏†’ \u001b[35m๏†’ \u001b[36m๏†’ \u001b[37m๏†’ \u001b[38m๏†’ \u001b[39m๏†’ ๏†’ \u001b[38m๏†’ \u001b[37m๏†’ \u001b[36m๏†’ \u001b[35m๏†’ \u001b[34m๏†’ \u001b[33m๏†’ \u001b[32m๏†’ \u001b[31m๏†’ \u001b[90m๏†’ " + }, + { + "type": "custom", + "format": "\u001b[90mโ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" + }, + { + "type": "os", + "key": "๎ฏ† DISTRO", + "keyColor": "yellow" + }, + { + "type": "kernel", + "key": "โ”‚ โ”œ๏€“", + "keyColor": "yellow" + }, + { + "type": "packages", + "key": "โ”‚ โ”œ๓ฐ–", + "keyColor": "yellow" + }, + { + "type": "shell", + "key": "โ”‚ โ””๏’‰", + "keyColor": "yellow" + }, + { + "type": "wm", + "key": "๏’ˆ DE/WM", + "keyColor": "blue" + }, + { + "type": "theme", + "key": "โ”‚ โ”œ๓ฐ‰ผ", + "keyColor": "blue" + }, + { + "type": "icons", + "key": "โ”‚ โ”œ๓ฐ€ป", + "keyColor": "blue" + }, + { + "type": "terminal", + "key": "โ”‚ โ”œ๎ž•", + "keyColor": "blue" + }, + { + "type": "wallpaper", + "key": "โ”‚ โ””๓ฐธ‰", + "keyColor": "blue" + }, + { + "type": "host", + "key": "๓ฐŒข SYSTEM", + "keyColor": "green" + }, + { + "type": "cpu", + "key": "โ”‚ โ”œ๓ฐป ", + "keyColor": "green" + }, + { + "type": "gpu", + "key": "โ”‚ โ”œ๓ฐป‘", + "keyColor": "green" + }, + { + "type": "display", + "key": "โ”‚ โ”œ๓ฐน", + "keyColor": "green", + "compactType": "original-with-refresh-rate" + }, + { + "type": "memory", + "key": "โ”‚ โ”œ๓ฐพ†", + "keyColor": "green" + }, + { + "type": "swap", + "key": "โ”‚ โ”œ๓ฐ“ก", + "keyColor": "green" + }, + { + "type": "uptime", + "key": "โ”‚ โ”œ๓ฐ…", + "keyColor": "green" + }, + // { + // "type": "disk", + // "key": "โ”‚ โ””๓ฐน", + // "keyColor": "green" + // }, + { + "type": "sound", + "key": "๏€จ AUDIO", + "keyColor": "cyan" + }, + { + "type": "custom", + "format": "\u001b[90mโ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€๏†’โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" + }, + { + "type": "custom", + "format": "\u001b[90m๏†’ \u001b[31m๏†’ \u001b[32m๏†’ \u001b[33m๏†’ \u001b[34m๏†’ \u001b[35m๏†’ \u001b[36m๏†’ \u001b[37m๏†’ \u001b[38m๏†’ \u001b[39m๏†’ ๏†’ \u001b[38m๏†’ \u001b[37m๏†’ \u001b[36m๏†’ \u001b[35m๏†’ \u001b[34m๏†’ \u001b[33m๏†’ \u001b[32m๏†’ \u001b[31m๏†’ \u001b[90m๏†’ " + }, + "break", + ] +} diff --git a/git/.gitconfig b/git/.gitconfig new file mode 100644 index 0000000..6095fdd --- /dev/null +++ b/git/.gitconfig @@ -0,0 +1,77 @@ +[init] + defaultBranch = main + +[core] + excludesfile = ~/.gitignore_global + pager = delta + +[user] + name = Fabio Scotto di Santolo + email = fabio.scottodisantolo@gmail.com + signingkey = 9DDD59AD62494FB2 + editor = nvim + +[fetch] + prune = true + +[remote "origin"] + prune = true + +[pull] + rebase = true + +[commit] + gpgsign = true + +[merge] + conflictstyle = diff3 + +[color] + ui = always + +[color "status"] + branch = magenta + untracked = cyan + unmerged = yellow bold + +[color "diff"] + frag = magenta bold + old = red bold + new = green bold + whitespace = red reverse + +[color "diff-highlight"] + oldNormal = red bold + oldHighlight = red bold 52 + newNormal = green bold + newHighlight = green bold 52 + +[help] + autocorrect = 30 + +[interactive] + diffFilter = delta --color-only + +[alias] + co = checkout + br = branch + ci = commit + st = status + ld = log -p + lg = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)%n' --all + glog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' + onelinegraph = log --oneline --graph --decorate + undo = reset --soft HEAD~1 + stash-all = stash save --include-untracked + expireunreachablenow = reflog expire --expire-unreachable=now --all + gcunreachablenow = gc --prune=now + +[include] + path = ~/.themes.gitignore + +[delta] + features = catppuccin-mocha navigate + true-color = always + colorMoved = default + tabs = 4 + side-by-side = true diff --git a/git/.gitignore_global b/git/.gitignore_global new file mode 100644 index 0000000..88ec55f --- /dev/null +++ b/git/.gitignore_global @@ -0,0 +1,73 @@ +# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux +# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux diff --git a/git/.themes.gitignore b/git/.themes.gitignore new file mode 100644 index 0000000..8e6ca86 --- /dev/null +++ b/git/.themes.gitignore @@ -0,0 +1,667 @@ +# To use these themes, first include this file in your own gitconfig file: +# +# [include] +# path = PATH/TO/delta/themes.gitconfig +# +# Then, in your own gitconfig file, activate the chosen theme, e.g. +# +# [delta] +# features = kingfisher +# +# Please add your own themes to this file, and open a PR. +# +# Instructions: +# +# 1. The name of the theme must be the name of some sort of wild organism: +# mammal, bird, plant, mollusk -- whatever. It can be in any language. +# +# 2. Use `delta --show-config` to list all the style settings that are active in +# your current delta environment, but only include settings in your theme +# that are essential to its appearance. +# +# 3. Include either `dark = true` or `light = true` according to whether it is +# designed for a light or dark terminal background. (This marks a feature as +# a "theme", causing it to be picked up by `delta --show-themes`). +# +# 4. Feel free to include a comment line indicating who is the author of the +# theme. E.g. a link to your github user page. + +[delta "colibri"] + # author: https://github.com/pablospe + # Based on woolly-mammoth: https://github.com/Kr1ss-XD. + commit-decoration-style = 130 box + dark = true + file-decoration-style = "#606018" overline + file-added-label = [โ—] + file-copied-label = [C] + file-modified-label = [+] + file-removed-label = [โ›Œ] + file-renamed-label = [โ†’] + file-style = 232 bold 184 + hunk-header-style = syntax bold italic 237 + line-numbers = true + line-numbers-left-format = "{nm:>1}โ”Š" + line-numbers-left-style = red + line-numbers-minus-style = red bold + line-numbers-plus-style = green bold + line-numbers-right-format = " {np:>1}โ”Š" + line-numbers-right-style = green + line-numbers-zero-style = "#545474" italic + minus-emph-style = normal "#80002a" + minus-style = normal "#5e0000" + plus-emph-style = syntax bold "#007e5e" + plus-style = syntax "#003500" + syntax-theme = OneHalfDark + whitespace-error-style = "#80002a" reverse + zero-style = syntax + blame-format = "{author:<18} ({commit:>7}) โ”Š{timestamp:^16}โ”Š " + +[delta "collared-trogon"] + # author: https://github.com/clnoll + commit-decoration-style = bold box ul + dark = true + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#022b45" box ul + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#003300" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#022b45" + line-numbers-minus-style = "#80002a" + line-numbers-plus-style = "#003300" + line-numbers-right-style = "#022b45" + line-numbers-zero-style = "#999999" + minus-emph-style = normal "#80002a" + minus-style = normal "#330011" + plus-emph-style = syntax "#003300" + plus-style = syntax "#001a00" + syntax-theme = Nord + +[delta "coracias-caudatus"] + # author: https://github.com/clnoll + commit-decoration-style = ol "#7536ff" + commit-style = "#200078" + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#cfd6ff" ul + hunk-header-file-style = "#858dff" + hunk-header-line-number-style = "#7536ff" + hunk-header-style = file line-number syntax + light = true + line-numbers = true + line-numbers-left-format = "{nm:>4} ." + line-numbers-left-style = "#e3ab02" + line-numbers-minus-style = "#ff38b6" + line-numbers-plus-style = "#00e0c2" + line-numbers-right-format = "{np:>4} " + line-numbers-right-style = white + line-numbers-zero-style = "#cccccc" + minus-emph-style = bold "#ff3838" "#ffe3f7" + minus-style = "#ff0080" + plus-emph-style = "#008a81" bold "#00ffbf" + plus-style = syntax "#cffff3" + syntax-theme = GitHub + +[delta "hoopoe"] + # author: https://github.com/dandavison + light = true + pink = "#ffe0e0" + dark-pink = "#ffc0c0" + green = "#d0ffd0" + dark-green = "#a0efa0" + dark-green-2 = "#067a00" + minus-style = normal hoopoe.pink + minus-emph-style = normal hoopoe.dark-pink + minus-non-emph-style = minus-style + plus-style = syntax hoopoe.green + plus-emph-style = syntax hoopoe.dark-green + plus-non-emph-style = plus-style + minus-empty-line-marker-style = minus-style + plus-empty-line-marker-style = plus-style + commit-decoration-style = blue ol + commit-style = raw + file-style = omit + hunk-header-decoration-style = blue box + hunk-header-file-style = red + hunk-header-line-number-style = hoopoe.dark-green-2 + hunk-header-style = file line-number syntax + syntax-theme = GitHub + zero-style = syntax + +[delta "tangara-chilensis"] + # author: https://github.com/clnoll + commit-decoration-style = bold box ul "#34fd50" + dark = true + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#00b494" box ul + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#03a4ff" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = black + line-numbers-minus-style = "#B10036" + line-numbers-plus-style = "#03a4ff" + line-numbers-right-style = black + line-numbers-zero-style = "#999999" + minus-emph-style = normal "#de004e" + minus-style = normal "#990017" + plus-emph-style = syntax "#03a4ff" + plus-style = syntax "#450eff" + side-by-side = true + syntax-theme = Vibrant Sunburst + +[delta "villsau"] + # author: https://github.com/torarnv + dark = true + file-style = omit + hunk-header-decoration-style = omit + hunk-header-file-style = magenta + hunk-header-line-number-style = dim magenta + hunk-header-style = file line-number syntax + line-numbers = false + minus-emph-style = bold red 52 + minus-empty-line-marker-style = normal "#3f0001" + minus-non-emph-style = dim red + minus-style = bold red + plus-emph-style = bold green 22 + plus-empty-line-marker-style = normal "#002800" + plus-non-emph-style = dim green + plus-style = bold green + syntax-theme = OneHalfDark + whitespace-error-style = reverse red + zero-style = dim syntax + +[delta "woolly-mammoth"] + # author: https://github.com/Kr1ss-XD + commit-decoration-style = 232 130 box + commit-style = 232 bold italic 130 + dark = true + file-added-label = [+] + file-copied-label = [C] + file-decoration-style = "#606018" overline + file-modified-label = [M] + file-removed-label = [-] + file-renamed-label = [R] + file-style = 232 bold 184 + hunk-header-decoration-style = none + hunk-header-style = syntax bold italic 237 + line-numbers = true + line-numbers-left-format = "{nm:>1}โ”Š" + line-numbers-left-style = red + line-numbers-minus-style = red italic black + line-numbers-plus-style = green italic black + line-numbers-right-format = "{np:>1}โ”Š" + line-numbers-right-style = green + line-numbers-zero-style = "#545474" italic + minus-emph-style = syntax bold "#780000" + minus-style = syntax "#400000" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004000" + syntax-theme = Vibrant Sunburst + whitespace-error-style = "#280050" reverse + zero-style = syntax + blame-format = "{author:<18} ({commit:>7}) โ”Š{timestamp:^16}โ”Š " + blame-palette = "#101010 #200020 #002800 #000028 #202000 #280000 #002020 #002800 #202020" + +[delta "calochortus-lyallii"] + # author: https://github.com/manojkarthick + commit-decoration-style = none + dark = true + file-added-label = [+] + file-copied-label = [C] + file-decoration-style = none + file-modified-label = [M] + file-removed-label = [-] + file-renamed-label = [R] + file-style = 232 bold 184 + hunk-header-decoration-style = none + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#03a4ff" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = black + line-numbers-minus-style = "#B10036" + line-numbers-plus-style = "#03a4ff" + line-numbers-right-style = black + line-numbers-zero-style = "#999999" + minus-emph-style = syntax bold "#780000" + minus-style = syntax "#400000" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004000" + whitespace-error-style = "#280050" reverse + zero-style = syntax + syntax-theme = Nord + +[delta "mantis-shrimp"] + #author: https://github.com/2kabhishek + dark = true + side-by-side = true + keep-plus-minus-markers = true + hyperlinks = true + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + zero-style = syntax + syntax-theme = Monokai Extended + commit-decoration-style ="#11ce16" box + commit-style = "#ffd21a" bold italic + hunk-header-decoration-style = "#1688f0" box ul + hunk-header-file-style = "#c63bee" ul bold + hunk-header-line-number-style = "#ffd21a" box bold + hunk-header-style = file line-number syntax bold italic + line-numbers = true + line-numbers-left-format = "{nm:>1}|" + line-numbers-left-style = "#1688f0" + line-numbers-minus-style = "#ff0051" bold + line-numbers-plus-style = "#03e57f" bold + line-numbers-right-format = "{np:>1}|" + line-numbers-right-style = "#1688f0" + line-numbers-zero-style = "#aaaaaa" italic + minus-emph-style = syntax bold "#b80000" + minus-style = syntax "#5d001e" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004433" + whitespace-error-style = "#280050" + +[delta "mantis-shrimp-lite"] + #author: https://github.com/2kabhishek + dark = true + side-by-side = true + keep-plus-minus-markers = true + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + zero-style = syntax + syntax-theme = Monokai Extended + commit-decoration-style = green box + commit-style = yellow bold italic + hunk-header-decoration-style = blue box ul + hunk-header-file-style = purple ul bold + hunk-header-line-number-style = yellow box bold + hunk-header-style = file line-number syntax bold italic + line-numbers = true + line-numbers-left-format = "{nm:>1}|" + line-numbers-left-style = blue + line-numbers-minus-style = red bold + line-numbers-plus-style = green bold + line-numbers-right-format = "{np:>1}|" + line-numbers-right-style = blue + line-numbers-zero-style = white italic + minus-emph-style = syntax bold red + plus-emph-style = syntax bold green + whitespace-error-style = purple bold + +[delta "zebra-dark"] + minus-style = syntax "#330f0f" + minus-emph-style = syntax "#4f1917" + plus-style = syntax "#0e2f19" + plus-emph-style = syntax "#174525" + map-styles = \ + bold purple => syntax "#330f29", \ + bold blue => syntax "#271344", \ + bold cyan => syntax "#0d3531", \ + bold yellow => syntax "#222f14" + zero-style = syntax + whitespace-error-style = "#aaaaaa" + +[delta "zebra-light"] + minus-style = syntax "#fbdada" + minus-emph-style = syntax "#f6b6b6" + plus-style = syntax "#d6ffd6" + plus-emph-style = syntax "#adffad" + map-styles = \ + bold purple => syntax "#feecf7", \ + bold blue => syntax "#e5dff6", \ + bold cyan => syntax "#d8fdf6", \ + bold yellow => syntax "#f4ffe0" + zero-style = syntax + whitespace-error-style = "#aaaaaa" + +[delta "chameleon"] + #author: https://github.com/AirOnSkin + dark = true + line-numbers = true + side-by-side = true + keep-plus-minus-markers = false + syntax-theme = Nord + file-style = "#434C5E" bold + file-decoration-style = "#434C5E" ul + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + hunk-header-style = omit + line-numbers-left-format = " {nm:>3} โ”‚" + line-numbers-left-style = red + line-numbers-right-format = " {np:>3} โ”‚" + line-numbers-right-style = green + line-numbers-minus-style = red italic black + line-numbers-plus-style = green italic black + line-numbers-zero-style = "#434C5E" italic + minus-style = bold red + minus-emph-style = bold "#202020" "#FF5555" + minus-non-emph-style = bold + plus-style = bold green + plus-emph-style = bold "#202020" "#50FA7B" + plus-non-emph-style = bold + zero-style = syntax + blame-code-style = syntax + blame-format = "{author:<18} ({commit:>9}) {timestamp:^16}" + blame-palette = "#2E3440" "#3B4252" "#434C5E" "#4C566A" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = "#F1FA8C" bold + merge-conflict-ours-diff-header-decoration-style = "#434C5E" box + merge-conflict-theirs-diff-header-style = "#F1FA8C" bold + merge-conflict-theirs-diff-header-decoration-style = "#434C5E" box + +[delta "gruvmax-fang"] + # author: https://github.com/maxfangx + # General appearance + dark = true + syntax-theme = gruvbox-dark + # File + file-style = "#FFFFFF" bold + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-decoration-style = "#434C5E" ul + file-decoration-style = "#84786A" ul + # No hunk headers + hunk-header-style = omit + # Line numbers + line-numbers = true + line-numbers-left-style = "#84786A" + line-numbers-right-style = "#84786A" + line-numbers-minus-style = "#A02A11" + line-numbers-plus-style = "#479B36" + line-numbers-zero-style = "#84786A" + line-numbers-left-format = " {nm:>3} โ”‚" + line-numbers-right-format = " {np:>3} โ”‚" + # Diff contents + inline-hint-style = syntax + minus-style = syntax "#330011" + minus-emph-style = syntax "#80002a" + minus-non-emph-style = syntax auto + plus-style = syntax "#001a00" + plus-emph-style = syntax "#003300" + plus-non-emph-style = syntax auto + whitespace-error-style = "#FB4934" reverse + # Commit hash + commit-decoration-style = normal box + commit-style = "#ffffff" bold + # Blame + blame-code-style = syntax + blame-format = "{author:>18} ({commit:>8}) {timestamp:<13} " + blame-palette = "#000000" "#1d2021" "#282828" "#3c3836" + # Merge conflicts + merge-conflict-begin-symbol = โŒƒ + merge-conflict-end-symbol = โŒ„ + merge-conflict-ours-diff-header-style = "#FABD2F" bold + merge-conflict-theirs-diff-header-style = "#FABD2F" bold overline + merge-conflict-ours-diff-header-decoration-style = '' + merge-conflict-theirs-diff-header-decoration-style = '' + +[delta "discord"] + commit-style = omit + file-style = 34 ul + file-decoration-style = none + hunk-header-style = omit + minus-style = 31 + minus-non-emph-style = 31 + minus-emph-style = 40 + minus-empty-line-marker-style = 31 + zero-style = 30 + plus-style = 32 + plus-non-emph-style = 32 + plus-emph-style = 40 + grep-file-style = 34 + grep-line-number-style = 34 + whitespace-error-style = 41 + blame-code-style = omit + true-color = never + file-modified-label = changed: + right-arrow = > + hyperlinks = false + keep-plus-minus-markers = true + diff-stat-align-width = 10 + syntax-theme = none + width = variable + +[delta "mellow-barbet"] + # author: https://github.com/kvrohit + # To configure terminal colors see https://github.com/kvrohit/mellow.nvim#terminals + dark = true + syntax-theme = base16 + line-numbers = true + side-by-side = true + file-style = brightwhite + file-decoration-style = none + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + hunk-header-decoration-style = "#3e3e43" box ul + plus-style = brightgreen black + plus-emph-style = black green + minus-style = brightred black + minus-emph-style = black red + line-numbers-minus-style = brightred + line-numbers-plus-style = brightgreen + line-numbers-left-style = "#3e3e43" + line-numbers-right-style = "#3e3e43" + line-numbers-zero-style = "#57575f" + zero-style = syntax + whitespace-error-style = black bold + blame-code-style = syntax + blame-palette = "#161617" "#1b1b1d" "#2a2a2d" "#3e3e43" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = yellow bold + merge-conflict-ours-diff-header-decoration-style = "#3e3e43" box + merge-conflict-theirs-diff-header-style = yellow bold + merge-conflict-theirs-diff-header-decoration-style = "#3e3e43" box + +[delta "arctic-fox"] + # author: https://github.com/anthony-halim + dark = true + syntax-theme = Nord + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + hunk-header-decoration-style = "#5E81AC" ul + hunk-header-file-style = blue ul bold + hunk-header-line-number-style = yellow box bold + hunk-header-style = file line-number syntax bold italic + plus-style = brightgreen + plus-emph-style = black green + minus-style = brightred + minus-emph-style = black red + line-numbers = true + line-numbers-minus-style = brightred + line-numbers-plus-style = brightgreen + line-numbers-left-style = "#5E81AC" + line-numbers-right-style = "#5E81AC" + line-numbers-zero-style = "#4C566A" + zero-style = syntax + whitespace-error-style = black bold + blame-code-style = syntax + blame-format = "{author:<18} {commit:<6} {timestamp:<15}" + blame-palette = "#2E3440" "#3B4252" "#434C5E" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = yellow bold + merge-conflict-ours-diff-header-decoration-style = "#5E81AC" box + merge-conflict-theirs-diff-header-style = yellow bold + merge-conflict-theirs-diff-header-decoration-style = "#5E81AC" box + +[delta "corvus"] + # author: https://github.com/evilwaveforms + dark = true + commit-style = "#949494" + file-style = omit + syntax-theme = none + hunk-header-decoration-style = "#949494" ul + hunk-header-file-style = "#949494" + hunk-header-style = "#949494" + line-numbers = true + line-numbers-left-style = "#949494" + line-numbers-right-style = "#949494" + line-numbers-left-format = "{nm:>2}|" + line-numbers-right-format = "{np:>3} " + line-numbers-plus-style = "#54c047" + line-numbers-minus-style = bold "#591102" + plus-style = "#54c047" + plus-emph-style = bold "#54c047" + plus-non-emph-style = dim "#54c047" + minus-style = normal "#591102" + minus-emph-style = normal "#591102" + minus-non-emph-style = bold "#591102" + blame-code-style = omit + blame-format = "{author:<18} {commit:<6} {timestamp:<15}" + blame-palette = "#000000" "#343434" + zero-style = dim + +[delta "catppuccin-latte"] + blame-palette = "#eff1f5 #e6e9ef #dce0e8 #ccd0da #bcc0cc" + commit-decoration-style = box ul + light = true + file-decoration-style = "#4c4f69" + file-style = "#4c4f69" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#6c6f85" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#9ca0b0" + line-numbers-minus-style = bold "#d20f39" + line-numbers-plus-style = bold "#40a02b" + line-numbers-right-style = "#9ca0b0" + line-numbers-zero-style = "#9ca0b0" + # 25% red 75% base + minus-emph-style = bold syntax "#e8b9c6" + # 10% red 90% base + minus-style = syntax "#ecdae2" + # 25% green 75% base + plus-emph-style = bold syntax "#c3ddc3" + # 10% green 90% base + plus-style = syntax "#dee8e0" + map-styles = \ + bold purple => syntax "#d5c3f4", \ + bold blue => syntax "#bbcff5", \ + bold cyan => syntax "#b4def1", \ + bold yellow => syntax "#ebd9bf" + # Should match the name of the bat theme + syntax-theme = Catppuccin Latte + +[delta "catppuccin-frappe"] + blame-palette = "#303446 #292c3c #232634 #414559 #51576d" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#c6d0f5" + file-style = "#c6d0f5" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a5adce" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#737994" + line-numbers-minus-style = bold "#e78284" + line-numbers-plus-style = bold "#a6d189" + line-numbers-right-style = "#737994" + line-numbers-zero-style = "#737994" + # 25% red 75% base + minus-emph-style = bold syntax "#5e4855" + # 10% red 90% base + minus-style = syntax "#433c4c" + # 25% green 75% base + plus-emph-style = bold syntax "#4e5b56" + # 10% green 90% base + plus-style = syntax "#3c444d" + map-styles = \ + bold purple => syntax "#574f6e", \ + bold blue => syntax "#475270", \ + bold cyan => syntax "#4a5b6b", \ + bold yellow => syntax "#5d5958" + # Should match the name of the bat theme + syntax-theme = Catppuccin Frappe + +[delta "catppuccin-macchiato"] + blame-palette = "#24273a #1e2030 #181926 #363a4f #494d64" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#cad3f5" + file-style = "#cad3f5" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a5adcb" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#6e738d" + line-numbers-minus-style = bold "#ed8796" + line-numbers-plus-style = bold "#a6da95" + line-numbers-right-style = "#6e738d" + line-numbers-zero-style = "#6e738d" + # 25% red 75% base + minus-emph-style = bold syntax "#563f51" + # 10% red 90% base + minus-style = syntax "#383143" + # 25% green 75% base + plus-emph-style = bold syntax "#455450" + # 10% green 90% base + plus-style = syntax "#313943" + map-styles = \ + bold purple => syntax "#4d4569", \ + bold blue => syntax "#3e4868", \ + bold cyan => syntax "#3f5364", \ + bold yellow => syntax "#575253" + # Should match the name of the bat theme + syntax-theme = Catppuccin Macchiato + +[delta "catppuccin-mocha"] + blame-palette = "#1e1e2e #181825 #11111b #313244 #45475a" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#cdd6f4" + file-style = "#cdd6f4" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a6adc8" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#6c7086" + line-numbers-minus-style = bold "#f38ba8" + line-numbers-plus-style = bold "#a6e3a1" + line-numbers-right-style = "#6c7086" + line-numbers-zero-style = "#6c7086" + # 25% red 75% base + minus-emph-style = bold syntax "#53394c" + # 10% red 90% base + minus-style = syntax "#34293a" + # 25% green 75% base + plus-emph-style = bold syntax "#404f4a" + # 10% green 90% base + plus-style = syntax "#2c3239" + map-styles = \ + bold purple => syntax "#494060", \ + bold blue => syntax "#384361", \ + bold cyan => syntax "#384d5d", \ + bold yellow => syntax "#544f4e" + # Should match the name of the bat theme + syntax-theme = Catppuccin Mocha + diff --git a/lazyvim/.config/nvim/.gitignore b/lazyvim/.config/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/lazyvim/.config/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/lazyvim/.config/nvim/.neoconf.json b/lazyvim/.config/nvim/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/lazyvim/.config/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/lazyvim/.config/nvim/LICENSE b/lazyvim/.config/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/lazyvim/.config/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/lazyvim/.config/nvim/README.md b/lazyvim/.config/nvim/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/lazyvim/.config/nvim/README.md @@ -0,0 +1,4 @@ +# ๐Ÿ’ค LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/lazyvim/.config/nvim/init.lua b/lazyvim/.config/nvim/init.lua new file mode 100644 index 0000000..2514f9e --- /dev/null +++ b/lazyvim/.config/nvim/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/lazyvim/.config/nvim/lazy-lock.json b/lazyvim/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..38eeade --- /dev/null +++ b/lazyvim/.config/nvim/lazy-lock.json @@ -0,0 +1,46 @@ +{ + "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" }, + "SchemaStore.nvim": { "branch": "main", "commit": "c957914d75b4a008ce09f4116e57e59fe6e3fae1" }, + "alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" }, + "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "catppuccin": { "branch": "main", "commit": "e762a47478377612e59f01aa51db961f605c9aa4" }, + "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, + "crates.nvim": { "branch": "main", "commit": "c915ab5334a46178f64ce17ab606a79454bcd14f" }, + "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "fzf-lua": { "branch": "main", "commit": "accfef9ddb36a79bd2b41f5dcebd36dddcaf8c79" }, + "gitsigns.nvim": { "branch": "main", "commit": "1fcaddcc427ff5802b6602f46de37a5352d0f9e0" }, + "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, + "grug-far.nvim": { "branch": "main", "commit": "45981a9af7f4e666a3cdaedb1d21d2ab926727a2" }, + "hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, + "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "mini.ai": { "branch": "main", "commit": "1cd4f021a05c29acd4ab511c0981da14217daf38" }, + "mini.icons": { "branch": "main", "commit": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c" }, + "mini.pairs": { "branch": "main", "commit": "1e1ca3f60f58d4050bf814902b472eec9963a5dd" }, + "multicursors.nvim": { "branch": "main", "commit": "72225ea9e4443c3f4b9df91d0193e07c4ee8d382" }, + "neo-tree.nvim": { "branch": "main", "commit": "b85cc7611ff8fb443b0a1591c53669ead195a826" }, + "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lint": { "branch": "master", "commit": "9c6207559297b24f0b7c32829f8e45f7d65b991f" }, + "nvim-lspconfig": { "branch": "master", "commit": "169745f176f58becad80363c3f8f2315ed6bb365" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "refactoring.nvim": { "branch": "master", "commit": "74b608dfee827c2372250519d433cc21cb083407" }, + "rustaceanvim": { "branch": "master", "commit": "628ff0137003d2ff245a06aff101142a5c88391e" }, + "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, + "telescope-file-browser.nvim": { "branch": "master", "commit": "7bf55ed0ff5be182ad3301cff266581fc1c56cce" }, + "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, + "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, + "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, + "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } +} diff --git a/lazyvim/.config/nvim/lazyvim.json b/lazyvim/.config/nvim/lazyvim.json new file mode 100644 index 0000000..8ab2d8e --- /dev/null +++ b/lazyvim/.config/nvim/lazyvim.json @@ -0,0 +1,18 @@ +{ + "extras": [ + "lazyvim.plugins.extras.editor.refactoring", + "lazyvim.plugins.extras.lang.docker", + "lazyvim.plugins.extras.lang.git", + "lazyvim.plugins.extras.lang.go", + "lazyvim.plugins.extras.lang.python", + "lazyvim.plugins.extras.lang.rust", + "lazyvim.plugins.extras.lang.toml", + "lazyvim.plugins.extras.lang.yaml", + "lazyvim.plugins.extras.ui.alpha" + ], + "install_version": 7, + "news": { + "NEWS.md": "10960" + }, + "version": 8 +} \ No newline at end of file diff --git a/lazyvim/.config/nvim/lua/config/autocmds.lua b/lazyvim/.config/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/lazyvim/.config/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/lazyvim/.config/nvim/lua/config/keymaps.lua b/lazyvim/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..01e96c1 --- /dev/null +++ b/lazyvim/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,33 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here + +local map = vim.keymap.set + +-- Resume last Telescope search +-- map( +-- "n", +-- "sx", +-- require("telescope.builtin").resume, +-- { noremap = true, silent = true, desc = "Resume Telescope" } +-- ) + +-- Buffer management +map("n", "bn", ":bnext", { noremap = true, silent = true, desc = "Next buffer" }) +map("n", "bp", ":bprevious", { noremap = true, silent = true, desc = "Previous buffer" }) +map("n", "bd", ":bdelete", { noremap = true, silent = true, desc = "Delete buffer" }) + +-- Window navigation (splits) +map("n", "sh", "h", { noremap = true, silent = true, desc = "Window left" }) +map("n", "sj", "j", { noremap = true, silent = true, desc = "Window down" }) +map("n", "sk", "k", { noremap = true, silent = true, desc = "Window up" }) +map("n", "sl", "l", { noremap = true, silent = true, desc = "Window right" }) + +-- Quick save +map("n", "w", ":w", { noremap = true, silent = true, desc = "Save file" }) + +-- Copy to system clipboard (if not already mapped) +map({ "n", "v" }, "y", [["+y]], { noremap = true, silent = true, desc = "Copy to system clipboard" }) + +-- Paste from system clipboard +map("n", "p", [["+p]], { noremap = true, silent = true, desc = "Paste from system clipboard" }) diff --git a/lazyvim/.config/nvim/lua/config/lazy.lua b/lazyvim/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..11482ef --- /dev/null +++ b/lazyvim/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,51 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax", "catppuccin" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + "matchit", + "matchparen", + "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, + cache = true, +}) diff --git a/lazyvim/.config/nvim/lua/config/options.lua b/lazyvim/.config/nvim/lua/config/options.lua new file mode 100644 index 0000000..caf549f --- /dev/null +++ b/lazyvim/.config/nvim/lua/config/options.lua @@ -0,0 +1,51 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +local opt = vim.opt + +-- Line numbers +opt.number = true +opt.relativenumber = true + +-- Enable mouse in all modes +opt.mouse = "a" + +-- Better searching +opt.ignorecase = true +opt.smartcase = true + +-- Highlight current line +opt.cursorline = true + +-- Enable true color support +opt.termguicolors = true + +-- Enable system clipboard +opt.clipboard = "unnamedplus" + +-- Indentation +opt.expandtab = false +opt.shiftwidth = 8 +opt.tabstop = 8 +opt.smartindent = true + +-- Split behavior +opt.splitright = true +opt.splitbelow = true + +-- Enable undo file to persist undo history +opt.undofile = true + +-- Set upbar similar to statusline (optional) +opt.statusline = "%f %m %r %=%-14.(%l,%c%V%) %P" + +-- Persistent signcolumn to avoid text shifting +opt.signcolumn = "yes" + +-- Fold method +opt.foldmethod = "expr" +opt.foldexpr = "nvim_treesitter#foldexpr()" +opt.foldlevel = 99 -- open all folds by default + +-- Show file name and modified flag in the window bar +opt.winbar = "%=%m %f" diff --git a/lazyvim/.config/nvim/lua/plugins/alpha.lua b/lazyvim/.config/nvim/lua/plugins/alpha.lua new file mode 100644 index 0000000..055a3b8 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/alpha.lua @@ -0,0 +1,16 @@ +return { + "goolord/alpha-nvim", + opts = function(_, opts) + local logo = [[ + โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•— + โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘ + โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘ + โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ + โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘ + โ•šโ•โ• โ•šโ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ• โ•šโ•โ•โ•šโ•โ• โ•šโ•โ• + + [ @elijahmanor ] + ]] + opts.section.header.val = vim.split(logo, "\n", { trimempty = true }) + end, +} diff --git a/lazyvim/.config/nvim/lua/plugins/colorscheme.lua b/lazyvim/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..6d28e92 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,14 @@ +return { + "catppuccin/nvim", + name = "catppuccin", + lazy = false, + priority = 1000, + opts = { + flavour = "mocha", + transparent_background = false, + }, + config = function(_, opts) + require("catppuccin").setup(opts) + vim.cmd.colorscheme("catppuccin") + end, +} diff --git a/lazyvim/.config/nvim/lua/plugins/disabled.lua b/lazyvim/.config/nvim/lua/plugins/disabled.lua new file mode 100644 index 0000000..cabc4f0 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/disabled.lua @@ -0,0 +1,3 @@ +return { + { "windwp/nvim-spectre", enabled = false }, +} diff --git a/lazyvim/.config/nvim/lua/plugins/file-browser.lua b/lazyvim/.config/nvim/lua/plugins/file-browser.lua new file mode 100644 index 0000000..ce3abcb --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/file-browser.lua @@ -0,0 +1,13 @@ +return { + "nvim-telescope/telescope-file-browser.nvim", + keys = { + { + "sB", + ":Telescope file_browser path=%:p:h=%:p:h", + desc = "Browser Files", + }, + }, + config = function() + require("telescope").load_extension("file_browser") + end, +} diff --git a/lazyvim/.config/nvim/lua/plugins/lazyvim.lua b/lazyvim/.config/nvim/lua/plugins/lazyvim.lua new file mode 100644 index 0000000..d1278e4 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/lazyvim.lua @@ -0,0 +1,6 @@ +return { + "LazyVim/LazyVim", + opts = { + colorscheme = "catppuccin-mocha", + }, +} diff --git a/lazyvim/.config/nvim/lua/plugins/markdown-preview.lua b/lazyvim/.config/nvim/lua/plugins/markdown-preview.lua new file mode 100644 index 0000000..8eaeeb6 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/markdown-preview.lua @@ -0,0 +1,37 @@ +return { + -- Browser preview plugin + { + "iamcco/markdown-preview.nvim", + cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, + build = "cd app && yarn install", + init = function() + vim.g.mkdp_filetypes = { "markdown" } + vim.g.mkdp_auto_start = 0 + vim.g.mkdp_browser = "firefox" -- use your preferred browser + vim.g.mkdp_sync_scroll_type = "middle" + end, + ft = { "markdown" }, + keys = { + { + "Mp", + "MarkdownPreviewToggle", + desc = "Preview Markdown (Browser)", + }, + }, + }, + + -- Terminal-based preview with Glow + { + "ellisonleao/glow.nvim", + config = true, -- uses default config + cmd = "Glow", + ft = { "markdown" }, + keys = { + { + "Mg", + "Glow", + desc = "Preview Markdown (Glow)", + }, + }, + }, +} diff --git a/lazyvim/.config/nvim/lua/plugins/multicursors.lua b/lazyvim/.config/nvim/lua/plugins/multicursors.lua new file mode 100644 index 0000000..80183e6 --- /dev/null +++ b/lazyvim/.config/nvim/lua/plugins/multicursors.lua @@ -0,0 +1,17 @@ +return { + "smoka7/multicursors.nvim", + event = "VeryLazy", + dependencies = { + "nvimtools/hydra.nvim", + }, + opts = {}, + cmd = { "MCstart", "MCvisual", "MCclear", "MCpattern", "MCvisualPattern", "MCunderCursor" }, + keys = { + { + mode = { "v", "n" }, + "m", + "MCstart", + desc = "Create a selection for selected text or word under the cursor", + }, + }, +} diff --git a/lazyvim/.config/nvim/stylua.toml b/lazyvim/.config/nvim/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/lazyvim/.config/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 b/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 new file mode 100644 index 0000000..1751228 --- /dev/null +++ b/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 @@ -0,0 +1,245 @@ +# set PowerShell to UTF-8 +[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding + +function Clear-Cache { + # add clear cache logic here + Write-Host "Clearing cache..." -ForegroundColor Cyan + + # Clear Windows Prefetch + Write-Host "Clearing Windows Prefetch..." -ForegroundColor Yellow + Remove-Item -Path "$env:SystemRoot\Prefetch\*" -Force -ErrorAction SilentlyContinue + + # Clear Windows Temp + Write-Host "Clearing Windows Temp..." -ForegroundColor Yellow + Remove-Item -Path "$env:SystemRoot\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue + + # Clear User Temp + Write-Host "Clearing User Temp..." -ForegroundColor Yellow + Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue + + # Clear Internet Explorer Cache + Write-Host "Clearing Internet Explorer Cache..." -ForegroundColor Yellow + Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Windows\INetCache\*" -Recurse -Force -ErrorAction SilentlyContinue + + Write-Host "Cache clearing completed." -ForegroundColor Green +} + +# Utility Functions +function Test-CommandExists { + param($command) + $exists = $null -ne (Get-Command $command -ErrorAction SilentlyContinue) + return $exists +} + +# Editor Configuration +$EDITOR = if (Test-CommandExists nvim) { 'nvim' } +elseif (Test-CommandExists pvim) { 'pvim' } +elseif (Test-CommandExists vim) { 'vim' } +elseif (Test-CommandExists vi) { 'vi' } +elseif (Test-CommandExists code) { 'code' } +elseif (Test-CommandExists notepad++) { 'notepad++' } +elseif (Test-CommandExists sublime_text) { 'sublime_text' } +else { 'notepad' } + +# Quick Access to Editing the Profile +function Edit-Profile { + edit $PROFILE.CurrentUserCurrentHost +} + +function New-File($file) { + "" | Out-File $file -Encoding UTF8 +} + +function Get-RecursiveItems($name) { + Get-ChildItem -recurse -filter "*${name}*" -ErrorAction SilentlyContinue | ForEach-Object { + Write-Output "$($_.FullName)" + } +} + +function Get-PubIP { + (Invoke-WebRequest http://ifconfig.me/ip).Content +} + +function Update-Profile { + & $PROFILE +} + +function Expand-Zip ($file) { + Write-Output("Extracting", $file, "to", $pwd) + $fullFile = Get-ChildItem -Path $pwd -Filter $file | ForEach-Object { $_.FullName } + Expand-Archive -Path $fullFile -DestinationPath $pwd +} + +function Find-String($regex, $dir) { + if ( $dir ) { + Get-ChildItem $dir | Select-String $regex + return + } + $input | Select-String $regex +} + +function Set-String($file, $find, $replace) { + (Get-Content $file).replace("$find", $replace) | Set-Content $file +} + +function Get-InitialRows { + param($Path, $n = 10) + Get-Content $Path -Head $n +} + +function Get-LastRows { + param($Path, $n = 10, [switch]$f = $false) + Get-Content $Path -Tail $n -Wait:$f +} + +function Get-Paths { + $delim = ':' + if ( $IsWindows ) { + $delim = ';' + } + $env:PATH -split ($delim) +} + +function New-Link ($target, $link) { + New-Item -Path $link -ItemType SymbolicLink -Value $target +} + +Set-Alias -Name edit -Value $EDITOR +Set-Alias -Name ep -Value Edit-Profile +Set-Alias tig 'C:\Program Files\Git\usr\bin\tig.exe' +Set-Alias less 'C:\Program Files\Git\usr\bin\less.exe' + +# Enhanced PowerShell Experience +# Enhanced PSReadLine Configuration +$PSReadLineOptions = @{ + EditMode = 'Emacs' + HistoryNoDuplicates = $true + HistorySearchCursorMovesToEnd = $true + PredictionSource = 'History' + PredictionViewStyle = 'ListView' + BellStyle = 'None' + Colors = @{ + Command = '#87CEEB' # SkyBlue (pastel) + Parameter = '#98FB98' # PaleGreen (pastel) + Operator = '#FFB6C1' # LightPink (pastel) + Variable = '#DDA0DD' # Plum (pastel) + String = '#FFDAB9' # PeachPuff (pastel) + Number = '#B0E0E6' # PowderBlue (pastel) + Type = '#F0E68C' # Khaki (pastel) + Comment = '#D3D3D3' # LightGray (pastel) + Keyword = '#8367c7' # Violet (pastel) + Error = '#FF6347' # Tomato (keeping it close to red for visibility) + } +} +Set-PSReadLineOption @PSReadLineOptions + +# Custom key handlers +Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward +Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward +Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete +Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar +Set-PSReadLineKeyHandler -Chord 'Ctrl+w' -Function BackwardDeleteWord +Set-PSReadLineKeyHandler -Chord 'Alt+d' -Function DeleteWord +Set-PSReadLineKeyHandler -Chord 'Ctrl+LeftArrow' -Function BackwardWord +Set-PSReadLineKeyHandler -Chord 'Ctrl+RightArrow' -Function ForwardWord +Set-PSReadLineKeyHandler -Chord 'Ctrl+z' -Function Undo +Set-PSReadLineKeyHandler -Chord 'Ctrl+y' -Function Redo + +# Custom functions for PSReadLine +Set-PSReadLineOption -AddToHistoryHandler { + param($line) + $sensitive = @('password', 'secret', 'token', 'apikey', 'connectionstring') + $hasSensitive = $sensitive | Where-Object { $line -match $_ } + return ($null -eq $hasSensitive) +} + +# Improved prediction settings +Set-PSReadLineOption -PredictionSource HistoryAndPlugin +Set-PSReadLineOption -MaximumHistoryCount 10000 + +# Custom completion for common commands +$scriptblock = { + param($wordToComplete, $commandAst, $cursorPosition) + $customCompletions = @{ + 'git' = @('status', 'add', 'commit', 'push', 'pull', 'clone', 'checkout') + 'mvn' = @('compile', 'package', 'test', 'install', 'verify', 'deploy') + } + + $command = $commandAst.CommandElements[0].Value + if ($customCompletions.ContainsKey($command)) { + $customCompletions[$command] | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object { + [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) + } + } +} + +Register-ArgumentCompleter -Native -CommandName git, mvn -ScriptBlock $scriptblock + +$scriptblock = { + param($wordToComplete, $commandAst, $cursorPosition) + dotnet complete --position $cursorPosition $commandAst.ToString() | + ForEach-Object { + [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) + } +} + +Register-ArgumentCompleter -Native -CommandName dotnet -ScriptBlock $scriptblock + +# Setting Prompt with Oh My Posh +oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\peru.omp.json" | Invoke-Expression + +if (Get-Command zoxide -ErrorAction SilentlyContinue) { + Invoke-Expression (& { (zoxide init --cmd cd powershell | Out-String) }) +} +else { + Write-Host "zoxide command not found. Attempting to install via winget..." + try { + winget install -e --id ajeetdsouza.zoxide + Write-Host "zoxide installed successfully. Initializing..." + Invoke-Expression (& { (zoxide init powershell | Out-String) }) + } + catch { + Write-Error "Failed to install zoxide. Error: $_" + } +} + +Set-Alias -Name z -Value __zoxide_z -Option AllScope -Scope Global -Force +Set-Alias -Name zi -Value __zoxide_zi -Option AllScope -Scope Global -Force + +if (-not (Get-Module -ListAvailable -Name Microsoft.WinGet.CommandNotFound) -and $IsWindows) { + Install-Module -Name Microsoft.WinGet.CommandNotFound -Scope CurrentUser -Force -SkipPublisherCheck +} + +if ($IsWindows) { + Import-Module -Name Microsoft.WinGet.CommandNotFound +} + +function Add-Module ($moduleName) { + if (-not (Get-Module -ListAvailable -Name $moduleName)) { + Install-Module -Name $moduleName -Scope CurrentUser -Force -SkipPublisherCheck + } +} + +# Import Modules and External Profiles +Add-Module Terminal-Icons +Import-Module -Name Terminal-Icons + +Add-Module cd-extras +Import-Module -Name cd-extras + +Add-Module PsHosts +Import-Module -Name PsHosts + +Add-Module z +Import-Module -Name z + +# PowerShell FZF integration +Add-Module PSFzf +Import-Module -Name PSFzf +Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PsReadlineChordReverseHistory 'Ctrl+r' +Set-PsFzfOption -EnableAliasFuzzyKillProcess -EnableAliasFuzzyEdit -EnableAliasFuzzyGitStatus -EnableAliasFuzzySetLocation + +# example command - use $Location with a different command: +$commandOverride = [ScriptBlock]{ param($Location) Write-Host $Location } +# pass your override to PSFzf: +Set-PsFzfOption -AltCCommand $commandOverride diff --git a/starship/.config/starship.toml b/starship/.config/starship.toml new file mode 100644 index 0000000..e667550 --- /dev/null +++ b/starship/.config/starship.toml @@ -0,0 +1,392 @@ +format = """ +$username\ +$directory\ +$vcsh\ +$git_branch\ +$git_commit\ +$git_state\ +$git_metrics\ +$git_status\ +$hg_branch\ +$package\ +$bun\ +$c\ +$cmake\ +$elixir\ +$erlang\ +$gleam\ +$golang\ +$gradle\ +$haskell\ +$haxe\ +$helm\ +$java\ +$kotlin\ +$lua\ +$nodejs\ +$ocaml\ +$perl\ +$php\ +$python\ +$ruby\ +$rust\ +$scala\ +$swift\ +$terraform\ +$vagrant\ +$zig\ +$docker_context\ +$buf\ +$guix_shell\ +$nix_shell\ +$conda\ +$meson\ +$spack\ +$memory_usage\ +$direnv\ +$env_var\ +$custom\ +$sudo\ +$cmd_duration\ +$line_break\ +$jobs\ +$time\ +$status\ +$container\ +$os\ +$shell\ +$character +""" + +right_format = """ +$localip\ +$shlvl\ +$kubernetes\ +$aws\ +$gcloud\ +$openstack\ +$azure +""" + +# Sets user-defined palette +palette = "catppuccin_mocha" + +# palette tables should be last in the config โš“๏ธ +[palettes.catppuccin_macchiato] +rosewater = "#f4dbd6" +flamingo = "#f0c6c6" +pink = "#f5bde6" +mauve = "#c6a0f6" +red = "#ed8796" +maroon = "#ee99a0" +peach = "#f5a97f" +yellow = "#eed49f" +green = "#a6da95" +teal = "#8bd5ca" +sky = "#91d7e3" +sapphire = "#7dc4e4" +blue = "#8aadf4" +lavender = "#b7bdf8" +text = "#cad3f5" +subtext1 = "#b8c0e0" +subtext0 = "#a5adcb" +overlay2 = "#939ab7" +overlay1 = "#8087a2" +overlay0 = "#6e738d" +surface2 = "#5b6078" +surface1 = "#494d64" +surface0 = "#363a4f" +base = "#24273a" +mantle = "#1e2030" +crust = "#181926" + +[palettes.catppuccin_frappe] +rosewater = "#f2d5cf" +flamingo = "#eebebe" +pink = "#f4b8e4" +mauve = "#ca9ee6" +red = "#e78284" +maroon = "#ea999c" +peach = "#ef9f76" +yellow = "#e5c890" +green = "#a6d189" +teal = "#81c8be" +sky = "#99d1db" +sapphire = "#85c1dc" +blue = "#8caaee" +lavender = "#babbf1" +text = "#c6d0f5" +subtext1 = "#b5bfe2" +subtext0 = "#a5adce" +overlay2 = "#949cbb" +overlay1 = "#838ba7" +overlay0 = "#737994" +surface2 = "#626880" +surface1 = "#51576d" +surface0 = "#414559" +base = "#303446" +mantle = "#292c3c" +crust = "#232634" + +[palettes.catppuccin_latte] +rosewater = "#dc8a78" +flamingo = "#dd7878" +pink = "#ea76cb" +mauve = "#8839ef" +red = "#d20f39" +maroon = "#e64553" +peach = "#fe640b" +yellow = "#df8e1d" +green = "#40a02b" +teal = "#179299" +sky = "#04a5e5" +sapphire = "#209fb5" +blue = "#1e66f5" +lavender = "#7287fd" +text = "#4c4f69" +subtext1 = "#5c5f77" +subtext0 = "#6c6f85" +overlay2 = "#7c7f93" +overlay1 = "#8c8fa1" +overlay0 = "#9ca0b0" +surface2 = "#acb0be" +surface1 = "#bcc0cc" +surface0 = "#ccd0da" +base = "#eff1f5" +mantle = "#e6e9ef" +crust = "#dce0e8" + +[palettes.catppuccin_mocha] +rosewater = "#f5e0dc" +flamingo = "#f2cdcd" +pink = "#f5c2e7" +mauve = "#cba6f7" +red = "#f38ba8" +maroon = "#eba0ac" +peach = "#fab387" +yellow = "#f9e2af" +green = "#a6e3a1" +teal = "#94e2d5" +sky = "#89dceb" +sapphire = "#74c7ec" +blue = "#89b4fa" +lavender = "#b4befe" +text = "#cdd6f4" +subtext1 = "#bac2de" +subtext0 = "#a6adc8" +overlay2 = "#9399b2" +overlay1 = "#7f849c" +overlay0 = "#6c7086" +surface2 = "#585b70" +surface1 = "#45475a" +surface0 = "#313244" +base = "#1e1e2e" +mantle = "#181825" +crust = "#11111b" + +[character] +# Note the use of Catppuccin color 'maroon' +success_symbol = "[[โ™ฅ](peach) โฏ](maroon)" +error_symbol = "[โฏ](red)" +vimcmd_symbol = "[โฎ](green)" + +[aws] +symbol = "๎Œฝ " + +[azure] +disabled = false + +[buf] +symbol = "๏’ " + +[c] +symbol = "๎˜ž " + +[conda] +symbol = "๏„Œ " + +[crystal] +symbol = "๎˜ฏ " + +[dart] +symbol = "๎ž˜ " + +[directory] +read_only = " ๓ฐŒพ" +truncate_to_repo = false +truncation_length = 4 +style = "bold lavender" + +[directory.substitutions] +"Documents" = "๓ฐˆ™ " +"Downloads" = "๏€™ " +"Music" = "๓ฐš " +"Pictures" = "๏€พ " +"Projects" = "๓ฐฒ‹ " +"Videos" = "๏€ฝ " + +[docker_context] +symbol = "๏Œˆ " + +[elixir] +symbol = "๎˜ญ " + +[elm] +symbol = "๎˜ฌ " + +[env_var.VIMSHELL] # vim subshell +format = "[$env_value]($style)" +style = 'green italic' + +[fennel] +symbol = "๎šฏ " + +[fossil_branch] +symbol = "๏˜ " + +[git_branch] +symbol = "๏˜ " + +[git_status] +ahead = "โ‡ก${count}" +behind = "โ‡ฃ${count}" +deleted = "x" +diverged = "โ‡•โ‡ก${ahead_count}โ‡ฃ${behind_count}" +style = "bold yellow" + +[golang] +symbol = "๎˜ง " + +[guix_shell] +symbol = "๏Œฅ " + +[haskell] +symbol = "๎ท " + +[haxe] +symbol = "๎™ฆ " + +[hg_branch] +symbol = "๏˜ " + +[hostname] +ssh_symbol = "๎ฌ " + +[kubernetes] +format = "on [$symbol$context( \\($namespace\\))]($style) " +disabled = false + +[java] +symbol = "๎‰– " + +[julia] +symbol = "๎˜ค " + +[kotlin] +symbol = "๎˜ด " + +[lua] +symbol = "๎˜  " + +[memory_usage] +symbol = "๓ฐ› " + +[meson] +symbol = "๓ฐ”ท " + +[nim] +symbol = "๓ฐ†ฅ " + +[nix_shell] +symbol = "๏Œ“ " + +[nodejs] +symbol = "๎œ˜ " + +[ocaml] +symbol = "๎™บ " + +[os] +disabled = false +format = "[$symbol ]($style)" + +[os.symbols] +Alpaquita = "๎ชข " +Alpine = "๏Œ€ " +AlmaLinux = "๏Œ " +Amazon = "๏‰ฐ " +Android = "๏…ป " +Arch = "๏Œƒ " +Artix = "๏ŒŸ " +CentOS = "๏Œ„ " +Debian = "๏Œ† " +DragonFly = "๎ŠŽ " +Emscripten = "๏ˆ… " +EndeavourOS = "๏†— " +Fedora = "๏ŒŠ " +FreeBSD = "๏ŒŒ " +Garuda = "๓ฐ›“ " +Gentoo = "๏Œ " +HardenedBSD = "๓ฐžŒ " +Illumos = "๓ฐˆธ " +Kali = "๏Œง " +Linux = "๏Œš " +Mabox = "๎ฌฉ " +Macos = "๏Œ‚ " +Manjaro = "๏Œ’ " +Mariner = "๏‡ " +MidnightBSD = "๏†† " +Mint = "๏ŒŽ " +NetBSD = "๏€ค " +NixOS = "๏Œ“ " +OpenBSD = "๓ฐˆบ " +openSUSE = "๏Œ” " +OracleLinux = "๓ฐŒท " +Pop = "๏Œช " +Raspbian = "๏Œ• " +Redhat = "๏Œ– " +RedHatEnterprise = "๏Œ– " +RockyLinux = "๏Œซ " +Redox = "๓ฐ€˜ " +Solus = "๓ฐ ณ " +SUSE = "๏Œ” " +Ubuntu = "๏Œ› " +Unknown = "๏ˆญ " +Void = "๏Œฎ " +Windows = "๓ฐฒ " + +[package] +symbol = "๓ฐ— " + +[perl] +symbol = "๎™พ " + +[php] +symbol = "๎˜ˆ " + +[pijul_channel] +symbol = "๏˜ " + +[python] +symbol = "๎ˆต " + +[rlang] +symbol = "๓ฐŸ” " + +[ruby] +symbol = "๎ž‘ " + +[rust] +symbol = "๎žจ " + +[scala] +symbol = "๎œท " + +[swift] +symbol = "๎• " + +[username] +show_always = true + +[zig] +symbol = "๎šฉ " diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf new file mode 100644 index 0000000..2f6f87b --- /dev/null +++ b/tmux/.tmux.conf @@ -0,0 +1,45 @@ +# Change command shortcut +unbind C-b +set -g prefix C-x +bind C-x send-prefix + +# Renumbered windows and panels +set -g renumber-window on +set -g base-index 1 +setw -g pane-base-index 1 +bind c new-window -c "#{pane_current_path}" + +# Fix Tmux for colors +set-option -a terminal-features 'xterm-256color:RGB' +set -g allow-passthrough on +set -ga update-environment TERM +set -ga update-environment TERM_PROGRAM + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-open' +set -g @plugin 'wfxr/tmux-power' +set -g @plugin 'catppuccin/tmux' +set-option -g @plugin 'b0o/tmux-autoreload' + +# Customizing Catppuccin theme +set -g @catppuccin_flavour 'mocha' +set -g @catppuccin_window_left_separator "๎‚ถ" +set -g @catppuccin_window_right_separator "๎‚ดย " +set -g @catppuccin_window_middle_separator " โ–ˆ" +set -g @catppuccin_window_number_position "right" +set -g @catppuccin_window_default_fill "number" +set -g @catppuccin_window_default_text "#W" +set -g @catppuccin_window_current_fill "number" +set -g @catppuccin_window_current_text "#W" +set -g @catppuccin_status_modules_right "directory user host session" +set -g @catppuccin_status_left_separator " ๎‚ถ" +set -g @catppuccin_status_right_separator "๎‚ด" +set -g @catppuccin_status_fill "icon" +set -g @catppuccin_status_connect_separator "no" +set -g @catppuccin_directory_text "#{pane_current_path}" + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' + diff --git a/tmux/.tmux/plugins/tmux b/tmux/.tmux/plugins/tmux new file mode 160000 index 0000000..df23892 --- /dev/null +++ b/tmux/.tmux/plugins/tmux @@ -0,0 +1 @@ +Subproject commit df238924bcf90141519b4225aad92d6a1ba16e50 diff --git a/tmux/.tmux/plugins/tmux-autoreload b/tmux/.tmux/plugins/tmux-autoreload new file mode 160000 index 0000000..e98aa3b --- /dev/null +++ b/tmux/.tmux/plugins/tmux-autoreload @@ -0,0 +1 @@ +Subproject commit e98aa3b74cfd5f2df2be2b5d4aa4ddcc843b2eba diff --git a/tmux/.tmux/plugins/tmux-open b/tmux/.tmux/plugins/tmux-open new file mode 160000 index 0000000..763d0a8 --- /dev/null +++ b/tmux/.tmux/plugins/tmux-open @@ -0,0 +1 @@ +Subproject commit 763d0a852e6703ce0f5090a508330012a7e6788e diff --git a/tmux/.tmux/plugins/tmux-power b/tmux/.tmux/plugins/tmux-power new file mode 160000 index 0000000..16bbde8 --- /dev/null +++ b/tmux/.tmux/plugins/tmux-power @@ -0,0 +1 @@ +Subproject commit 16bbde801378a70512059541d104c5ae35be32b9 diff --git a/tmux/.tmux/plugins/tmux-powerline b/tmux/.tmux/plugins/tmux-powerline new file mode 160000 index 0000000..269d359 --- /dev/null +++ b/tmux/.tmux/plugins/tmux-powerline @@ -0,0 +1 @@ +Subproject commit 269d359f21925e5e3bfcf5902ce26c817ddbcf04 diff --git a/tmux/.tmux/plugins/tmux-sensible b/tmux/.tmux/plugins/tmux-sensible new file mode 160000 index 0000000..25cb91f --- /dev/null +++ b/tmux/.tmux/plugins/tmux-sensible @@ -0,0 +1 @@ +Subproject commit 25cb91f42d020f675bb0a2ce3fbd3a5d96119efa diff --git a/tmux/.tmux/plugins/tpm b/tmux/.tmux/plugins/tpm new file mode 160000 index 0000000..99469c4 --- /dev/null +++ b/tmux/.tmux/plugins/tpm @@ -0,0 +1 @@ +Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 diff --git a/vim/.vim/colors/catppuccin_frappe.vim b/vim/.vim/colors/catppuccin_frappe.vim new file mode 100644 index 0000000..cee8743 --- /dev/null +++ b/vim/.vim/colors/catppuccin_frappe.vim @@ -0,0 +1,163 @@ +" Name: catppuccin_frappe.vim + +set background=dark +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='catppuccin_frappe' +set t_Co=256 + +let s:rosewater = "#F2D5CF" +let s:flamingo = "#EEBEBE" +let s:pink = "#F4B8E4" +let s:mauve = "#CA9EE6" +let s:red = "#E78284" +let s:maroon = "#EA999C" +let s:peach = "#EF9F76" +let s:yellow = "#E5C890" +let s:green = "#A6D189" +let s:teal = "#81C8BE" +let s:sky = "#99D1DB" +let s:sapphire = "#85C1DC" +let s:blue = "#8CAAEE" +let s:lavender = "#BABBF1" + +let s:text = "#C6D0F5" +let s:subtext1 = "#B5BFE2" +let s:subtext0 = "#A5ADCE" +let s:overlay2 = "#949CBB" +let s:overlay1 = "#838BA7" +let s:overlay0 = "#737994" +let s:surface2 = "#626880" +let s:surface1 = "#51576D" +let s:surface0 = "#414559" + +let s:base = "#303446" +let s:mantle = "#292C3C" +let s:crust = "#232634" + +function! s:hi(group, guisp, guifg, guibg, gui, cterm) + let cmd = "" + if a:guisp != "" + let cmd = cmd . " guisp=" . a:guisp + endif + if a:guifg != "" + let cmd = cmd . " guifg=" . a:guifg + endif + if a:guibg != "" + let cmd = cmd . " guibg=" . a:guibg + endif + if a:gui != "" + let cmd = cmd . " gui=" . a:gui + endif + if a:cterm != "" + let cmd = cmd . " cterm=" . a:cterm + endif + if cmd != "" + exec "hi " . a:group . cmd + endif +endfunction + + + +call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE") +call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold") +call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE") +call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE") +call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic") +call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE") +call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE") +call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE") +call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE") +call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE") +call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE") +call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE") +call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold") +call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold") +call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE") +call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold") +call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE") +call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold") +call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE") +call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE") +call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold") +call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE") +call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE") +call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline") +call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold") + +call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE") +call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE") +call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE") +call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE") +call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE") + +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special +hi link Exception Error +hi link StatusLineTerm StatusLine +hi link StatusLineTermNC StatusLineNC +hi link Terminal Normal +hi link Ignore Comment + +" Set terminal colors for playing well with plugins like fzf +let g:terminal_ansi_colors = [ + \ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1, + \ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0 +\ ] diff --git a/vim/.vim/colors/catppuccin_latte.vim b/vim/.vim/colors/catppuccin_latte.vim new file mode 100644 index 0000000..3a4a809 --- /dev/null +++ b/vim/.vim/colors/catppuccin_latte.vim @@ -0,0 +1,163 @@ +" Name: catppuccin_latte.vim + +set background=dark +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='catppuccin_latte' +set t_Co=256 + +let s:rosewater = "#DC8A78" +let s:flamingo = "#DD7878" +let s:pink = "#EA76CB" +let s:mauve = "#8839EF" +let s:red = "#D20F39" +let s:maroon = "#E64553" +let s:peach = "#FE640B" +let s:yellow = "#DF8E1D" +let s:green = "#40A02B" +let s:teal = "#179299" +let s:sky = "#04A5E5" +let s:sapphire = "#209FB5" +let s:blue = "#1E66F5" +let s:lavender = "#7287FD" + +let s:text = "#4C4F69" +let s:subtext1 = "#5C5F77" +let s:subtext0 = "#6C6F85" +let s:overlay2 = "#7C7F93" +let s:overlay1 = "#8C8FA1" +let s:overlay0 = "#9CA0B0" +let s:surface2 = "#ACB0BE" +let s:surface1 = "#BCC0CC" +let s:surface0 = "#CCD0DA" + +let s:base = "#EFF1F5" +let s:mantle = "#E6E9EF" +let s:crust = "#DCE0E8" + +function! s:hi(group, guisp, guifg, guibg, gui, cterm) + let cmd = "" + if a:guisp != "" + let cmd = cmd . " guisp=" . a:guisp + endif + if a:guifg != "" + let cmd = cmd . " guifg=" . a:guifg + endif + if a:guibg != "" + let cmd = cmd . " guibg=" . a:guibg + endif + if a:gui != "" + let cmd = cmd . " gui=" . a:gui + endif + if a:cterm != "" + let cmd = cmd . " cterm=" . a:cterm + endif + if cmd != "" + exec "hi " . a:group . cmd + endif +endfunction + + + +call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE") +call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold") +call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE") +call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE") +call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic") +call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE") +call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE") +call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE") +call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE") +call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE") +call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE") +call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE") +call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold") +call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold") +call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE") +call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold") +call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE") +call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold") +call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE") +call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE") +call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold") +call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE") +call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE") +call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline") +call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold") + +call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE") +call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE") +call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE") +call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE") +call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE") + +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special +hi link Exception Error +hi link StatusLineTerm StatusLine +hi link StatusLineTermNC StatusLineNC +hi link Terminal Normal +hi link Ignore Comment + +" Set terminal colors for playing well with plugins like fzf +let g:terminal_ansi_colors = [ + \ s:subtext1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:surface2, + \ s:subtext0, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:surface1 +\ ] diff --git a/vim/.vim/colors/catppuccin_macchiato.vim b/vim/.vim/colors/catppuccin_macchiato.vim new file mode 100644 index 0000000..f82f3f3 --- /dev/null +++ b/vim/.vim/colors/catppuccin_macchiato.vim @@ -0,0 +1,163 @@ +" Name: catppuccin_macchiato.vim + +set background=dark +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='catppuccin_macchiato' +set t_Co=256 + +let s:rosewater = "#F4DBD6" +let s:flamingo = "#F0C6C6" +let s:pink = "#F5BDE6" +let s:mauve = "#C6A0F6" +let s:red = "#ED8796" +let s:maroon = "#EE99A0" +let s:peach = "#F5A97F" +let s:yellow = "#EED49F" +let s:green = "#A6DA95" +let s:teal = "#8BD5CA" +let s:sky = "#91D7E3" +let s:sapphire = "#7DC4E4" +let s:blue = "#8AADF4" +let s:lavender = "#B7BDF8" + +let s:text = "#CAD3F5" +let s:subtext1 = "#B8C0E0" +let s:subtext0 = "#A5ADCB" +let s:overlay2 = "#939AB7" +let s:overlay1 = "#8087A2" +let s:overlay0 = "#6E738D" +let s:surface2 = "#5B6078" +let s:surface1 = "#494D64" +let s:surface0 = "#363A4F" + +let s:base = "#24273A" +let s:mantle = "#1E2030" +let s:crust = "#181926" + +function! s:hi(group, guisp, guifg, guibg, gui, cterm) + let cmd = "" + if a:guisp != "" + let cmd = cmd . " guisp=" . a:guisp + endif + if a:guifg != "" + let cmd = cmd . " guifg=" . a:guifg + endif + if a:guibg != "" + let cmd = cmd . " guibg=" . a:guibg + endif + if a:gui != "" + let cmd = cmd . " gui=" . a:gui + endif + if a:cterm != "" + let cmd = cmd . " cterm=" . a:cterm + endif + if cmd != "" + exec "hi " . a:group . cmd + endif +endfunction + + + +call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE") +call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold") +call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE") +call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE") +call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic") +call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE") +call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE") +call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE") +call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE") +call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE") +call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE") +call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE") +call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold") +call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold") +call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE") +call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold") +call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE") +call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold") +call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE") +call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE") +call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold") +call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE") +call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE") +call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline") +call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold") + +call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE") +call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE") +call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE") +call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE") +call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE") + +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special +hi link Exception Error +hi link StatusLineTerm StatusLine +hi link StatusLineTermNC StatusLineNC +hi link Terminal Normal +hi link Ignore Comment + +" Set terminal colors for playing well with plugins like fzf +let g:terminal_ansi_colors = [ + \ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1, + \ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0 +\ ] diff --git a/vim/.vim/colors/catppuccin_mocha.vim b/vim/.vim/colors/catppuccin_mocha.vim new file mode 100644 index 0000000..6bdf5e4 --- /dev/null +++ b/vim/.vim/colors/catppuccin_mocha.vim @@ -0,0 +1,163 @@ +" Name: catppuccin_mocha.vim + +set background=dark +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='catppuccin_mocha' +set t_Co=256 + +let s:rosewater = "#F5E0DC" +let s:flamingo = "#F2CDCD" +let s:pink = "#F5C2E7" +let s:mauve = "#CBA6F7" +let s:red = "#F38BA8" +let s:maroon = "#EBA0AC" +let s:peach = "#FAB387" +let s:yellow = "#F9E2AF" +let s:green = "#A6E3A1" +let s:teal = "#94E2D5" +let s:sky = "#89DCEB" +let s:sapphire = "#74C7EC" +let s:blue = "#89B4FA" +let s:lavender = "#B4BEFE" + +let s:text = "#CDD6F4" +let s:subtext1 = "#BAC2DE" +let s:subtext0 = "#A6ADC8" +let s:overlay2 = "#9399B2" +let s:overlay1 = "#7F849C" +let s:overlay0 = "#6C7086" +let s:surface2 = "#585B70" +let s:surface1 = "#45475A" +let s:surface0 = "#313244" + +let s:base = "#1E1E2E" +let s:mantle = "#181825" +let s:crust = "#11111B" + +function! s:hi(group, guisp, guifg, guibg, gui, cterm) + let cmd = "" + if a:guisp != "" + let cmd = cmd . " guisp=" . a:guisp + endif + if a:guifg != "" + let cmd = cmd . " guifg=" . a:guifg + endif + if a:guibg != "" + let cmd = cmd . " guibg=" . a:guibg + endif + if a:gui != "" + let cmd = cmd . " gui=" . a:gui + endif + if a:cterm != "" + let cmd = cmd . " cterm=" . a:cterm + endif + if cmd != "" + exec "hi " . a:group . cmd + endif +endfunction + + + +call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE") +call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold") +call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE") +call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE") +call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE") +call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic") +call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE") +call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE") +call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE") +call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE") +call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE") +call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE") +call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE") +call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold") +call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold") +call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE") +call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold") +call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE") +call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold") +call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE") +call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE") +call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold") +call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE") +call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE") +call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline") +call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold") + +call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE") +call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE") +call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE") +call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE") +call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE") + +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special +hi link Exception Error +hi link StatusLineTerm StatusLine +hi link StatusLineTermNC StatusLineNC +hi link Terminal Normal +hi link Ignore Comment + +" Set terminal colors for playing well with plugins like fzf +let g:terminal_ansi_colors = [ + \ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1, + \ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0 +\ ] diff --git a/vim/.vimrc b/vim/.vimrc new file mode 100644 index 0000000..e88af29 --- /dev/null +++ b/vim/.vimrc @@ -0,0 +1,61 @@ +" ---------------------------------------- +" Appearance and Colorscheme: Catppuccin +" ---------------------------------------- + +set termguicolors " Enable true color support +colorscheme catppuccin_mocha " Use the mocha variant (dark theme) + +" Optional: Lightline support (if installed) +let g:lightline = { 'colorscheme': 'catppuccin_mocha' } + +" ---------------------------------------- +" Smart indentation for C development +" ---------------------------------------- + +filetype plugin indent on +syntax enable +set autoindent " Copy indentation from previous line +set cindent " Use C-style indentation +set cinoptions=:0,l1,t0,g0 " Linux style: brace on new line, minimal alignment +set noexpandtab " Use real tab characters (not spaces) +set shiftwidth=8 " Indent by 8 columns +set softtabstop=8 " Insert/delete 8 spaces with tab/backspace +set tabstop=8 " A tab character is 8 columns wide + +" ---------------------------------------- +" Formatting on save with clang-format +" (requires clang-format installed) +" ---------------------------------------- + +let g:clang_format#style_options = { + \ 'BasedOnStyle': 'LLVM', + \ 'IndentWidth': 8, + \ 'TabWidth': 8, + \ 'UseTab': 'Always', + \ 'BreakBeforeBraces': 'Linux', + \ 'AllowShortIfStatementsOnASingleLine': 'false', + \ 'AllowShortLoopsOnASingleLine': 'false', + \ 'AllowShortFunctionsOnASingleLine': 'InlineOnly', + \ 'ColumnLimit': 80, + \ 'AlignConsecutiveDeclarations': 'false', + \ 'AlignConsecutiveAssignments': 'false', + \ 'AlignEscapedNewlines': 'Left', + \ 'AlignOperands': 'false', + \ 'IndentCaseLabels': 'false', + \ 'SpaceBeforeParens': 'ControlStatements' +\ } + +autocmd BufWritePre *.c,*.h silent! execute '%!clang-format' +"autocmd BufWritePre *.c,*.h call system('clang-format -i ' . shellescape(@%)) + +" ---------------------------------------- +" General UI settings +" ---------------------------------------- + +set number " Show line numbers +set cursorline " Highlight current line +set ruler " Show cursor position +set wildmenu " Enhanced command-line completion +set nowrap " Don't wrap long lines +set mouse=a " Enable mouse support + diff --git a/zsh/.oh-my-zsh/custom/aliases.zsh b/zsh/.oh-my-zsh/custom/aliases.zsh new file mode 100644 index 0000000..d3612f2 --- /dev/null +++ b/zsh/.oh-my-zsh/custom/aliases.zsh @@ -0,0 +1,46 @@ +is_debian_based() { + # Checking /etc/os-release + if [[ -f /etc/os-release ]]; then + . /etc/os-release + if [[ "$ID_LIKE" == *"debian"* ]] || [[ "$ID" == "debian" ]]; then + return 0 # OK: Debian-based + fi + fi + + # Alternative check: /etc/debian_version + if [[ -f /etc/debian_version ]]; then + return 0 # OK: Debian-based + fi + + return 1 # NO Debian-based +} + +alias ls="eza --color=always --group-directories-first --icons" + +# Replace some more things with better alternatives +if is_debian_based; then + alias bat='batcat' + alias fd='fdfind' +fi + +alias cat='bat --style header --style snip --style changes --style header --pager never' + +# Replace df command tool +alias df='duf' + +# Replace Vim implementation +alias vi='nvim' +alias vim='nvim' + +# Replace grep command tool +alias grep='ugrep --color=auto' +alias egrep='ugrep -E --color=auto' +alias fgrep='ugrep -F --color=auto' + +# Other aliases +alias paths='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths +alias userlist="cut -d: -f1 /etc/passwd | sort" +alias ip='ip -color' +alias pbcopy='xsel --clipboard --input' +alias pbpaste='xsel --clipboard --output' +alias stow='stow -d $DOTFILES ' diff --git a/zsh/.oh-my-zsh/custom/plugins/fzf b/zsh/.oh-my-zsh/custom/plugins/fzf new file mode 160000 index 0000000..4efcc34 --- /dev/null +++ b/zsh/.oh-my-zsh/custom/plugins/fzf @@ -0,0 +1 @@ +Subproject commit 4efcc344c35e8bb7e6ba7bb23e5885051420b361 diff --git a/zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions b/zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions new file mode 160000 index 0000000..85919cd --- /dev/null +++ b/zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions @@ -0,0 +1 @@ +Subproject commit 85919cd1ffa7d2d5412f6d3fe437ebdbeeec4fc5 diff --git a/zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting b/zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting new file mode 160000 index 0000000..5eb677b --- /dev/null +++ b/zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting @@ -0,0 +1 @@ +Subproject commit 5eb677bb0fa9a3e60f0eff031dc13926e093df92 diff --git a/zsh/.profile.d/dotfiles.sh b/zsh/.profile.d/dotfiles.sh new file mode 100755 index 0000000..ce610c5 --- /dev/null +++ b/zsh/.profile.d/dotfiles.sh @@ -0,0 +1,3 @@ +#/usr/bin/env bash + +export DOTFILES="$HOME/.dotfiles" diff --git a/zsh/.profile.d/editor.sh b/zsh/.profile.d/editor.sh new file mode 100755 index 0000000..a55e9e0 --- /dev/null +++ b/zsh/.profile.d/editor.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +export EDITOR=vim diff --git a/zsh/.profile.d/fzf.sh b/zsh/.profile.d/fzf.sh new file mode 100755 index 0000000..bdccac0 --- /dev/null +++ b/zsh/.profile.d/fzf.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +is_debian_based() { + # Checking /etc/os-release + if [[ -f /etc/os-release ]]; then + . /etc/os-release + if [[ "$ID_LIKE" == *"debian"* ]] || [[ "$ID" == "debian" ]]; then + return 0 # OK: Debian-based + fi + fi + + # Alternative check: /etc/debian_version + if [[ -f /etc/debian_version ]]; then + return 0 # OK: Debian-based + fi + + return 1 # NO Debian-based +} + +# Add fzf keybindings and enhancements +if is_debian_based; then + export FZF_CTRL_T_COMMAND="fdfind --type f" + export FZF_ALT_C_COMMAND="fdfind --type d" +else + export FZF_CTRL_T_COMMAND="fd --type f" + export FZF_ALT_C_COMMAND="fd --type d" +fi + +export FZF_CTRL_R_OPTS="--preview 'echo {}'" + +# Export Catppuccin Mocha theme for FZF +export FZF_DEFAULT_OPTS=" \ +--height 60% --layout=reverse --border \ +--color=bg+:#313244,bg:#1E1E2E,spinner:#F5E0DC,hl:#F38BA8 \ +--color=fg:#CDD6F4,header:#F38BA8,info:#CBA6F7,pointer:#F5E0DC \ +--color=marker:#B4BEFE,fg+:#CDD6F4,prompt:#CBA6F7,hl+:#F38BA8 \ +--color=selected-bg:#45475A \ +--color=border:#313244,label:#CDD6F4" diff --git a/zsh/.profile.d/ghcup.sh b/zsh/.profile.d/ghcup.sh new file mode 100755 index 0000000..8a285c2 --- /dev/null +++ b/zsh/.profile.d/ghcup.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env" diff --git a/zsh/.profile.d/go.sh b/zsh/.profile.d/go.sh new file mode 100755 index 0000000..fc20431 --- /dev/null +++ b/zsh/.profile.d/go.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +case $(uname -s) in + "Linux") + export GOPATH="$HOME/.local/share/Go";; + "Darwin") + export GOPATH="$HOME/Library/Go";; + *) + echo "Operating System unknown";; +esac + +export GOBIN=$GOPATH/bin diff --git a/zsh/.profile.d/graalvm.sh b/zsh/.profile.d/graalvm.sh new file mode 100755 index 0000000..4471bc4 --- /dev/null +++ b/zsh/.profile.d/graalvm.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +export GRAALVM_HOME="${HOME}/.local/share/mise/installs/java/graalvm-community-23.0.1" diff --git a/zsh/.profile.d/help.sh b/zsh/.profile.d/help.sh new file mode 100755 index 0000000..7ebd5a2 --- /dev/null +++ b/zsh/.profile.d/help.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +if [[ $SHELL == "zsh" ]]; then + export HELPDIR=/usr/share/zsh/"${ZSH_VERSION}"/help +fi diff --git a/zsh/.profile.d/homebrew.sh b/zsh/.profile.d/homebrew.sh new file mode 100755 index 0000000..9a0db64 --- /dev/null +++ b/zsh/.profile.d/homebrew.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +export HOMEBREW_NO_ENV_HINTS=1 diff --git a/zsh/.profile.d/java.sh b/zsh/.profile.d/java.sh new file mode 100755 index 0000000..41e1f74 --- /dev/null +++ b/zsh/.profile.d/java.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +export JAVA_HOME="${HOME}/.local/share/mise/installs/java/23.0.1" diff --git a/zsh/.profile.d/jmeter.sh b/zsh/.profile.d/jmeter.sh new file mode 100755 index 0000000..d4c1838 --- /dev/null +++ b/zsh/.profile.d/jmeter.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +JMETER_HOME="$(which jmeter)" +export JMETER_HOME diff --git a/zsh/.profile.d/rust.sh b/zsh/.profile.d/rust.sh new file mode 100755 index 0000000..4b9ab3b --- /dev/null +++ b/zsh/.profile.d/rust.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +if [ -e "$HOME/.cargo" ]; then + source "$HOME/.cargo/env" +fi \ No newline at end of file diff --git a/zsh/.profile.d/ssh-agent.sh b/zsh/.profile.d/ssh-agent.sh new file mode 100755 index 0000000..f5a67aa --- /dev/null +++ b/zsh/.profile.d/ssh-agent.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh + +# This script sets up ssh-agent and gpg-agent differently for WSL and Linux Mint. +# On WSL, it uses keychain to start agents. +# On Linux Mint (or other Linux), it assumes gnome-keyring manages agents automatically. + +# Detect if running inside WSL by checking /proc/version for "Microsoft" +if grep -qi microsoft /proc/version; then + IS_WSL=true +else + IS_WSL=false +fi + +if [ "$IS_WSL" = true ]; then + # We are in WSL - start keychain for ssh and gpg agents + # Adjust these variables to your actual SSH and GPG key names + SSH_KEY="$HOME/.ssh/id_rsa_deadalus" + #GPG_KEY=9DDD59AD62494FB2 + + # Check if keychain is installed + if command -v keychain >/dev/null 2>&1; then + SHORT_HOST=${SHORT_HOST:-${(%):-%m}} + + # Start keychain quietly with no GUI prompts for ssh agents + eval "$(keychain --quiet --nogui --agents ssh $SSH_KEY)" + + # Get the filenames to store/lookup the environment from + _keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh" + _keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg" + + # Source environment settings. + [ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh" + [ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg" + else + echo "Warning: keychain is not installed. Please install keychain to manage ssh/gpg agents." + fi +else + # Not WSL - assume gnome-keyring handles ssh-agent and gpg-agent + # Do nothing here to avoid conflicts with gnome-keyring +fi + diff --git a/zsh/.profile.d/sway-startup.sh b/zsh/.profile.d/sway-startup.sh new file mode 100755 index 0000000..4ff1972 --- /dev/null +++ b/zsh/.profile.d/sway-startup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then + if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then + exec sway + else + exec dbus-launch --exit-with-session sway + fi +fi diff --git a/zsh/.profile.d/venv.sh b/zsh/.profile.d/venv.sh new file mode 100755 index 0000000..c66cedb --- /dev/null +++ b/zsh/.profile.d/venv.sh @@ -0,0 +1,3 @@ +#/usr/bin/env bash + +export VIRTUAL_ENV_DISABLE_PROMPT=1 diff --git a/zsh/.zlogout b/zsh/.zlogout new file mode 100644 index 0000000..de4f5f7 --- /dev/null +++ b/zsh/.zlogout @@ -0,0 +1,7 @@ +# ~/.bash_logout: executed by bash(1) when login shell exits. + +# when leaving the console clear the screen to increase privacy + +if [ "$SHLVL" = 1 ]; then + [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q +fi diff --git a/zsh/.zprofile b/zsh/.zprofile new file mode 100644 index 0000000..22c63a2 --- /dev/null +++ b/zsh/.zprofile @@ -0,0 +1,7 @@ +# Load profiles from /etc/profile.d +if test -d $HOME/.profile.d/; then + for profile in $HOME/.profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi diff --git a/zsh/.zshenv b/zsh/.zshenv new file mode 100644 index 0000000..f5cf481 --- /dev/null +++ b/zsh/.zshenv @@ -0,0 +1,18 @@ +[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env" + +if [ -f "/home/linuxbrew/.linuxbrew/bin/brew" ]; then + # Initialize Homebrew + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" +fi + +if command -v starship > /dev/null 2>&1; then + # Initialize Starship + eval "$(starship init zsh)" +fi + +# Aggiungi ~/.local/bin a PATH se non c'รจ giร  +case ":$PATH:" in + *":$HOME/.local/bin:"*) ;; + *) export PATH="$HOME/.local/bin:$PATH" ;; +esac + diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..0e62d9e --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,128 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +# Path to your oh-my-zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +[[ ! -f ~/.zshenv ]] || source ~/.zshenv + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time oh-my-zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +# ZSH_THEME="robbyrussell" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +# zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +ZSH_CUSTOM=$ZSH/custom + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=( + aws + colored-man-pages + command-not-found + gitignore + mise + zoxide + zsh-autosuggestions + zsh-interactive-cd + zsh-navigation-tools + zsh-syntax-highlighting +) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +# Setup emacs keymap +bindkey -e + +fpath=(~/.zsh $fpath) + +autoload run-help +autoload -Uz compinit && compinit -u + +export FZF_HOME=$HOME/.oh-my-zsh/custom/plugins/fzf +source <(fzf --zsh) +source "$FZF_HOME/shell/key-bindings.zsh" +source "$FZF_HOME/shell/completion.zsh" +