mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 08:43:00 +00:00
Merge remote-tracking branch 'github/master'
This commit is contained in:
commit
506f4fd54f
91 changed files with 13729 additions and 1331 deletions
|
|
@ -143,7 +143,8 @@ Get-ChildItem -Force -Filter *owerShell | ForEach-Object { $_.Attributes += "Hid
|
|||
# Windows Terminal
|
||||
if (Get-Command wt -ErrorAction SilentlyContinue) {
|
||||
Write-Output "Windows Terminal (wt) installed"
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
winget install -e --id Microsoft.WindowsTerminal
|
||||
}
|
||||
|
||||
|
|
@ -185,6 +186,7 @@ scoop install extras/bandizip
|
|||
scoop install main/pandoc
|
||||
scoop install extras/sumatrapdf
|
||||
winget install -e --id Google.GoogleDrive
|
||||
sudo scoop install nonportable/winbtrfs-np
|
||||
|
||||
# System Enhancements
|
||||
scoop install extras/fancontrol
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ $linkDots = @{
|
|||
"$BASE_COMMON\NuGet.Config" = "$Env:AppData\NuGet\NuGet.Config"
|
||||
"$BASE_COMMON\obsidian.vimrc" = "$Env:UserProfile\Obsidian\.obsidian.vimrc"
|
||||
"$BASE_COMMON\pip.conf" = "$Env:AppData\pip\pip.ini"
|
||||
"$BASE_COMMON\vimrc" = "$Env:Vim\_vimrc"
|
||||
"$BASE_COMMON\vimrc.noxdg.vimrc" = "$Env:Vim\_vimrc"
|
||||
"$BASE_TOOLS\ipython" = "$Env:IPYTHONDIR"
|
||||
"$BASE_TOOLS\nvim" = "$Env:XDG_CONFIG_HOME\nvim"
|
||||
}
|
||||
|
|
|
|||
43
bootstrap/temp/mocha_port.fish
Normal file
43
bootstrap/temp/mocha_port.fish
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
mkdir -p ~/.tmp
|
||||
# Bat
|
||||
mkdir -p "$(bat --config-dir)/themes"
|
||||
wget -P "$(bat --config-dir)/themes" https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Latte.tmTheme
|
||||
wget -P "$(bat --config-dir)/themes" https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Frappe.tmTheme
|
||||
wget -P "$(bat --config-dir)/themes" https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Macchiato.tmTheme
|
||||
wget -P "$(bat --config-dir)/themes" https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Mocha.tmTheme
|
||||
bat cache --build
|
||||
# Tmux
|
||||
mkdir -p ~/.config/tmux/plugins/catppuccin:w
|
||||
git clone -b v2.1.2 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
|
||||
# Yazi
|
||||
curl https://raw.githubusercontent.com/catppuccin/yazi/refs/heads/main/themes/mocha/catppuccin-mocha-lavender.toml -o ~/.config/yazi/theme.toml
|
||||
# BTop
|
||||
curl https://raw.githubusercontent.com/catppuccin/btop/refs/heads/main/themes/catppuccin_mocha.theme -o ~/.config/btop/themes/catppuccin_mocha.theme
|
||||
curl https://raw.githubusercontent.com/catppuccin/btop/refs/heads/main/themes/catppuccin_latte.theme -o ~/.config/btop/themes/catppuccin_latte.theme
|
||||
# Delta
|
||||
curl https://raw.githubusercontent.com/catppuccin/delta/refs/heads/main/catppuccin.gitconfig -o ~/.config/git/catppuccin-delta.gitconfig
|
||||
# Fzf
|
||||
set -Ux FZF_DEFAULT_OPTS "\
|
||||
--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 \
|
||||
--multi"
|
||||
# LsD
|
||||
curl https://raw.githubusercontent.com/catppuccin/lsd/refs/heads/main/themes/catppuccin-mocha/colors.yaml -o ~/.config/lsd/colors.yaml
|
||||
curl https://raw.githubusercontent.com/catppuccin/lsd/refs/heads/main/themes/catppuccin-latte/colors.yaml -o ~/.config/lsd/colors-light.yaml
|
||||
# Midnight Commander
|
||||
# Change or add skin=catppuccin in the [Midnight-Commander] section inside ~/.config/mc/ini OR Choose the skin inside Midnight Commander through F9>Options>Appearance and Save setup through F9>Options/Save setup
|
||||
mkdir -p $HOME/.local/share/mc/skins
|
||||
curl https://raw.githubusercontent.com/catppuccin/mc/refs/heads/main/catppuccin.ini -o $HOME/.local/share/mc/skins/catppuccin.ini
|
||||
# PowerShell
|
||||
pwsh -C 'git clone https://github.com/catppuccin/powershell.git (Join-Path $Env:PSModulePath.split(":")[0] Catppuccin)'
|
||||
# Fish
|
||||
mkdir -p ~/.config/fish/themes
|
||||
curl https://raw.githubusercontent.com/catppuccin/fish/refs/heads/main/themes/Catppuccin%20Mocha.theme -o ~/.config/fish/themes/Catppuccin\ Mocha.theme
|
||||
curl https://raw.githubusercontent.com/catppuccin/fish/refs/heads/main/themes/Catppuccin%20Latte.theme -o ~/.config/fish/themes/Catppuccin\ Latte.theme
|
||||
# fcitx5
|
||||
git clone https://github.com/catppuccin/fcitx5.git ~/.tmp/fcitx5
|
||||
cd ~/.tmp/fcitx5
|
||||
mkdir -p ~/.local/share/fcitx5/themes
|
||||
cp -r ./src/* ~/.local/share/fcitx5/themes
|
||||
3
bootstrap/temp/setup_powershell.ps1
Normal file
3
bootstrap/temp/setup_powershell.ps1
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Install-Module CompletionPredictor
|
||||
Install-Module PSFzf
|
||||
Install-Module Posh-Git
|
||||
35
common/bat.config
Normal file
35
common/bat.config
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# $DOTFILES/common/bat.config
|
||||
# Date: 2025-01-26
|
||||
# Author: js0ny
|
||||
|
||||
# Location;
|
||||
# Unix: $XDG_CONFIG_HOME/bat/config
|
||||
# Windows: %AppData%\bat\config
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/common/bat.config $XDG_CONFIG_HOME/bat/config
|
||||
|
||||
# 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="Catppuccin Mocha"
|
||||
|
||||
# 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=never
|
||||
|
||||
# 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"
|
||||
|
|
@ -10,6 +10,7 @@
|
|||
[user] # Modify the name and email
|
||||
name = whoami
|
||||
email = whoami@example.com
|
||||
<<<<<<< HEAD
|
||||
[alias]
|
||||
cl = clone
|
||||
clnh = clone --depth 1
|
||||
|
|
@ -25,11 +26,20 @@
|
|||
excludesfile = $XDG_CONFIG_HOME/git/ignore
|
||||
quotePath = false # zh-CN: 解决中文路径问题
|
||||
eol = lf
|
||||
=======
|
||||
[include]
|
||||
path = ~/.config/git/catppuccin-delta.gitconfig
|
||||
[core]
|
||||
editor = nvim
|
||||
pager = delta
|
||||
autocrlf = input # Force End of Line in different platforms
|
||||
>>>>>>> github/master
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
[delta]
|
||||
navigate = true
|
||||
dark = true
|
||||
<<<<<<< HEAD
|
||||
[diff]
|
||||
tool = nvimdiff
|
||||
[difftool]
|
||||
|
|
@ -48,13 +58,24 @@
|
|||
ff = only
|
||||
[init]
|
||||
defaultBranch = master
|
||||
=======
|
||||
features = catppuccin-mocha
|
||||
>>>>>>> github/master
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
<<<<<<< HEAD
|
||||
# Force ssh
|
||||
# [url "git@github.com:"]
|
||||
# insteadOf = https://github.com/
|
||||
[url "git@codeberg.org:"]
|
||||
insteadOf = https://codeberg.org/
|
||||
=======
|
||||
[init]
|
||||
defaultBranch = master
|
||||
|
||||
# [url "git@github.com:"] # Force ssh
|
||||
# insteadOf = https://github.com/
|
||||
>>>>>>> github/master
|
||||
|
|
|
|||
|
|
@ -60,45 +60,37 @@ gui:
|
|||
# Config relating to colors and styles.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#color-attributes
|
||||
theme:
|
||||
# Border color of focused window
|
||||
activeBorderColor:
|
||||
- green
|
||||
- '#b4befe'
|
||||
- bold
|
||||
# Border color of non-focused windows
|
||||
inactiveBorderColor:
|
||||
- default
|
||||
# Border color of focused window when searching in that window
|
||||
searchingActiveBorderColor:
|
||||
- cyan
|
||||
- bold
|
||||
# Color of keybindings help text in the bottom line
|
||||
- '#a6adc8'
|
||||
optionsTextColor:
|
||||
- blue
|
||||
# Background color of selected line.
|
||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#highlighting-the-selected-line
|
||||
- '#89b4fa'
|
||||
selectedLineBgColor:
|
||||
- blue
|
||||
- '#313244'
|
||||
cherryPickedCommitBgColor:
|
||||
- '#45475a'
|
||||
cherryPickedCommitFgColor:
|
||||
- '#b4befe'
|
||||
unstagedChangesColor:
|
||||
- '#f38ba8'
|
||||
defaultFgColor:
|
||||
- '#cdd6f4'
|
||||
searchingActiveBorderColor:
|
||||
- '#f9e2af'
|
||||
|
||||
authorColors:
|
||||
'*': '#b4befe'
|
||||
# Background color of selected line when view doesn't have focus.
|
||||
inactiveViewSelectedLineBgColor:
|
||||
- bold
|
||||
# Foreground color of copied commit
|
||||
cherryPickedCommitFgColor:
|
||||
- blue
|
||||
# Background color of copied commit
|
||||
cherryPickedCommitBgColor:
|
||||
- cyan
|
||||
# Foreground color of marked base commit (for rebase)
|
||||
markedBaseCommitFgColor:
|
||||
- blue
|
||||
# Background color of marked base commit (for rebase)
|
||||
markedBaseCommitBgColor:
|
||||
- yellow
|
||||
# Color for file with unstaged changes
|
||||
unstagedChangesColor:
|
||||
- red
|
||||
# Default text color
|
||||
defaultFgColor:
|
||||
- default
|
||||
# Config relating to the commit length indicator
|
||||
commitLength:
|
||||
# If true, show an indicator of commit message length
|
||||
|
|
|
|||
151
common/lsd.yaml
Normal file
151
common/lsd.yaml
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
# Location: $XDG_CONFIG_HOME/lsd/config.yaml
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/common/lsd.yaml $XDG_CONFIG_HOME/lsd/config.yaml
|
||||
# == Classic ==
|
||||
# This is a shorthand to override some of the options to be backwards compatible
|
||||
# with `ls`. It affects the "color"->"when", "sorting"->"dir-grouping", "date"
|
||||
# and "icons"->"when" options.
|
||||
# Possible values: false, true
|
||||
classic: false
|
||||
|
||||
# == Blocks ==
|
||||
# This specifies the columns and their order when using the long and the tree
|
||||
# layout.
|
||||
# Possible values: permission, user, group, context, size, date, name, inode, links, git
|
||||
blocks:
|
||||
- permission
|
||||
- user
|
||||
- group
|
||||
- size
|
||||
- date
|
||||
- name
|
||||
|
||||
# == Color ==
|
||||
# This has various color options. (Will be expanded in the future.)
|
||||
color:
|
||||
# When to colorize the output.
|
||||
# When "classic" is set, this is set to "never".
|
||||
# Possible values: never, auto, always
|
||||
when: auto
|
||||
# How to colorize the output.
|
||||
# When "classic" is set, this is set to "no-color".
|
||||
# Possible values: default, custom
|
||||
# When "custom" is set, lsd will look in the config directory for `colors.yaml`.
|
||||
theme: custom
|
||||
|
||||
# == Date ==
|
||||
# This specifies the date format for the date column. The freeform format
|
||||
# accepts a strftime like string.
|
||||
# When "classic" is set, this is set to "date".
|
||||
# Possible values: date, locale, relative, '+<date_format>'
|
||||
# `date_format` will be a `strftime` formatted value. e.g. `date: '+%d %b %y %X'` will give you a date like this: 17 Jun 21 20:14:55
|
||||
date: date
|
||||
|
||||
# == Dereference ==
|
||||
# Whether to dereference symbolic links.
|
||||
# Possible values: false, true
|
||||
dereference: false
|
||||
|
||||
# == Display ==
|
||||
# What items to display. Do not specify this for the default behavior.
|
||||
# Possible values: all, almost-all, directory-only
|
||||
# display: all
|
||||
|
||||
# == Icons ==
|
||||
icons:
|
||||
# When to use icons.
|
||||
# When "classic" is set, this is set to "never".
|
||||
# Possible values: always, auto, never
|
||||
when: auto
|
||||
# Which icon theme to use.
|
||||
# Possible values: fancy, unicode
|
||||
theme: fancy
|
||||
# Separator between icon and the name
|
||||
# Default to 1 space
|
||||
separator: " "
|
||||
|
||||
# == Ignore Globs ==
|
||||
# A list of globs to ignore when listing.
|
||||
ignore-globs:
|
||||
- .git
|
||||
|
||||
# == Indicators ==
|
||||
# Whether to add indicator characters to certain listed files.
|
||||
# Possible values: false, true
|
||||
indicators: false
|
||||
|
||||
# == Layout ==
|
||||
# Which layout to use. "oneline" might be a bit confusing here and should be
|
||||
# called "one-per-line". It might be changed in the future.
|
||||
# Possible values: grid, tree, oneline
|
||||
layout: grid
|
||||
|
||||
# == Recursion ==
|
||||
recursion:
|
||||
# Whether to enable recursion.
|
||||
# Possible values: false, true
|
||||
enabled: false
|
||||
# How deep the recursion should go. This has to be a positive integer. Leave
|
||||
# it unspecified for (virtually) infinite.
|
||||
# depth: 3
|
||||
|
||||
# == Size ==
|
||||
# Specifies the format of the size column.
|
||||
# Possible values: default, short, bytes
|
||||
size: default
|
||||
|
||||
# == Permission ==
|
||||
# Specify the format of the permission column
|
||||
# Possible value: rwx, octal, attributes (windows only), disable
|
||||
# permission: rwx
|
||||
|
||||
# == Sorting ==
|
||||
sorting:
|
||||
# Specify what to sort by.
|
||||
# Possible values: extension, name, time, size, version
|
||||
column: name
|
||||
# Whether to reverse the sorting.
|
||||
# Possible values: false, true
|
||||
reverse: false
|
||||
# Whether to group directories together and where.
|
||||
# When "classic" is set, this is set to "none".
|
||||
# Possible values: first, last, none
|
||||
dir-grouping: none
|
||||
|
||||
# == No Symlink ==
|
||||
# Whether to omit showing symlink targets
|
||||
# Possible values: false, true
|
||||
no-symlink: false
|
||||
|
||||
# == Total size ==
|
||||
# Whether to display the total size of directories.
|
||||
# Possible values: false, true
|
||||
total-size: false
|
||||
|
||||
# == Hyperlink ==
|
||||
# Attach hyperlink to filenames
|
||||
# Possible values: always, auto, never
|
||||
hyperlink: never
|
||||
|
||||
# == Symlink arrow ==
|
||||
# Specifies how the symlink arrow display, chars in both ascii and utf8
|
||||
symlink-arrow: ⇒
|
||||
|
||||
# == Header ==
|
||||
# Whether to display block headers.
|
||||
# Possible values: false, true
|
||||
header: false
|
||||
|
||||
# == Literal ==
|
||||
# Whether to show quotes on filenames.
|
||||
# Possible values: false, true
|
||||
literal: false
|
||||
|
||||
# == Truncate owner ==
|
||||
# How to truncate the username and group names for a file if they exceed a certain
|
||||
# number of characters.
|
||||
truncate-owner:
|
||||
# Number of characters to keep. By default, no truncation is done (empty value).
|
||||
after:
|
||||
# String to be appended to a name if truncated.
|
||||
marker: ""
|
||||
394
common/starship.toml
Normal file
394
common/starship.toml
Normal file
|
|
@ -0,0 +1,394 @@
|
|||
# $DOTFILES/common/starship.toml
|
||||
# Date: 2025-01-26
|
||||
# Description: Use one starship config for all shells
|
||||
|
||||
# Location: $XDG_CONFIG_HOME/starship.toml
|
||||
# Linking: ln -s $DOTFILES/common/starship.toml $XDG_CONFIG_HOME/starship.toml
|
||||
|
||||
"$schema" = 'https://starship.rs/config-schema.json'
|
||||
palette = "catppuccin_mocha"
|
||||
|
||||
# {{{ format
|
||||
format = """
|
||||
$jobs\
|
||||
$os\
|
||||
$time\
|
||||
[](bg:#DA627D fg:#9A348E)\
|
||||
$username\
|
||||
$hostname\
|
||||
[](fg:#DA627D bg:#FCA17D)\
|
||||
$directory\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
[](fg:#FCA17D bg:#86BBD8)\
|
||||
$custom\
|
||||
$c\
|
||||
$cmake\
|
||||
$cobol\
|
||||
$daml\
|
||||
$dart\
|
||||
$deno\
|
||||
$dotnet\
|
||||
$elixir\
|
||||
$elm\
|
||||
$erlang\
|
||||
$fennel\
|
||||
$gleam\
|
||||
$golang\
|
||||
$guix_shell\
|
||||
$haskell\
|
||||
$haxe\
|
||||
$helm\
|
||||
$java\
|
||||
$julia\
|
||||
$kotlin\
|
||||
$gradle\
|
||||
$lua\
|
||||
$nim\
|
||||
$nodejs\
|
||||
$ocaml\
|
||||
$opa\
|
||||
$perl\
|
||||
$php\
|
||||
$pulumi\
|
||||
$purescript\
|
||||
$python\
|
||||
$quarto\
|
||||
$raku\
|
||||
$rlang\
|
||||
$red\
|
||||
$ruby\
|
||||
$rust\
|
||||
$scala\
|
||||
$solidity\
|
||||
$swift\
|
||||
$terraform\
|
||||
$typst\
|
||||
$vlang\
|
||||
$vagrant\
|
||||
$zig\
|
||||
[](fg:#86BBD8)
|
||||
$character\
|
||||
$shell\
|
||||
[](fg:#06969A)\
|
||||
"""
|
||||
# }}}
|
||||
|
||||
# {{{ TODO
|
||||
#
|
||||
# $buf\
|
||||
# $nix_shell\
|
||||
# $conda\
|
||||
# $meson\
|
||||
# $spack\
|
||||
# $memory_usage\
|
||||
# $aws\
|
||||
# $gcloud\
|
||||
# $openstack\
|
||||
# $azure\
|
||||
# $nats\
|
||||
# $direnv\
|
||||
# $env_var\
|
||||
# $crystal\
|
||||
# $custom\
|
||||
# $sudo\
|
||||
# $cmd_duration\
|
||||
# $line_break\
|
||||
# $battery\
|
||||
# $container\
|
||||
# }}}
|
||||
|
||||
# Disable the blank line at the start of the prompt
|
||||
# add_newline = false
|
||||
|
||||
# You can also replace your username with a neat symbol like or disable this
|
||||
# and use the os module below
|
||||
|
||||
# {{{ Part 1
|
||||
[jobs]
|
||||
style = "bg:#9A348E"
|
||||
format = '[$symbol $number]($style)'
|
||||
|
||||
[os]
|
||||
style = "bg:#9A348E"
|
||||
format = '[ $symbol ]($style)'
|
||||
disabled = false # Disabled by default
|
||||
|
||||
[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 = " "
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
time_format = "%R" # Hour:Minute Format
|
||||
# style = "bg:#33658A"
|
||||
style = "bg:#9A348E"
|
||||
format = '[$time ]($style)'
|
||||
# }}}
|
||||
|
||||
# {{{ Part 2
|
||||
[username]
|
||||
show_always = true
|
||||
style_user = "bg:#DA627D"
|
||||
style_root = "bg:#DA627D"
|
||||
# style_user = "bg:#9A348E"
|
||||
# style_root = "bg:#9A348E"
|
||||
format = '[ $user ]($style)'
|
||||
disabled = false
|
||||
|
||||
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
# format = '[$ssh_symbol](bold blue) [$hostname](bold red) '
|
||||
style = "bg:#DA627D"
|
||||
format = '[@ $hostname ]($style)'
|
||||
trim_at = '.companyname.com'
|
||||
disabled = false
|
||||
|
||||
|
||||
# }}}
|
||||
|
||||
# {{{ Part 3
|
||||
[directory]
|
||||
style = "bg:#FCA17D fg:#035E82"
|
||||
format = "[ $path ]($style)"
|
||||
fish_style_pwd_dir_length = 1
|
||||
# truncation_length = 100
|
||||
truncation_length = 2
|
||||
truncation_symbol = ":"
|
||||
truncate_to_repo = true
|
||||
|
||||
# Here is how you can shorten some long paths by text replacementtruncation_symbol = ":"
|
||||
# similar to mapped_locations in Oh My Posh:
|
||||
[directory.substitutions]
|
||||
# "Documents" = " "
|
||||
# "Downloads" = " "
|
||||
# "Music" = " "
|
||||
# "Pictures" = " "
|
||||
# "Source" = " "
|
||||
# ".dotfiles" = " "
|
||||
# Keep in mind that the order matters. For example:
|
||||
# "Important Documents" = " "
|
||||
# will not be replaced, because "Documents" was already substituted before.
|
||||
# So either put "Important Documents" before "Documents" or use the substituted version:
|
||||
# "Important " = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = ""
|
||||
style = "bg:#FCA17D fg:#035E82"
|
||||
format = '[ $symbol $branch ]($style)'
|
||||
|
||||
[git_status]
|
||||
style = "bg:#FCA17D fg:#035E82"
|
||||
renamed = " "
|
||||
modified = " "
|
||||
staged = " "
|
||||
deleted = " "
|
||||
format = '[$all_status$ahead_behind ]($style)'
|
||||
# }}}
|
||||
|
||||
# {{{ Part 4
|
||||
[c]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[cmake]
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[deno]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[dotnet]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
detect_extensions = [
|
||||
"sln",
|
||||
"csproj",
|
||||
"fsproj",
|
||||
"xproj",
|
||||
"vbproj",
|
||||
"cs",
|
||||
"csx",
|
||||
"fs",
|
||||
"fsx",
|
||||
]
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
style = "bg:#06969A"
|
||||
format = '[ $symbol $context ]($style)'
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[gradle]
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[java]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[julia]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[lua]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[nodejs]
|
||||
symbol = ""
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[nim]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[rust]
|
||||
symbol = ""
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[scala]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
|
||||
# }}}
|
||||
|
||||
# {{{ Part 5
|
||||
[shell]
|
||||
style = "bg:#06969A"
|
||||
format = '[ $indicator ]($style)'
|
||||
fish_indicator = " "
|
||||
bash_indicator = '$ '
|
||||
zsh_indicator = "% "
|
||||
powershell_indicator = "PS"
|
||||
cmd_indicator = "cm"
|
||||
nu_indicator = "nu"
|
||||
disabled = false
|
||||
|
||||
[character]
|
||||
success_symbol = "[ ](bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
error_symbol = "[ ](fg:bold red bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
vimcmd_symbol = "[ ](fg:#32ff6c bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
vimcmd_visual_symbol = "[ ](fg:bold yellow bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
vimcmd_replace_symbol = "[ ](fg:bold purple bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
vimcmd_replace_one_symbol = "[ ](fg:bold purple bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
# success_symbol = "[ ](bg:#33658A)[](fg:#33658A bg:#06969A)"
|
||||
# success_symbol = "[](fg:#86BBD8 bg:#33658A)"
|
||||
format = "$symbol"
|
||||
disabled = false
|
||||
# }}}
|
||||
|
||||
# {{{ Misc
|
||||
|
||||
[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"
|
||||
|
||||
# }}}
|
||||
|
||||
[custom.just]
|
||||
detect_files = ["Justfile", "justfile", ".Justfile", ".justfile"]
|
||||
style = "bg:#86BBD8 fg:#794427"
|
||||
format = "[Just]($style)"
|
||||
|
|
@ -8,6 +8,11 @@
|
|||
# Linking:
|
||||
# ln -sf $DOTFILES/common/tmux.conf $XDG_CONFIG_HOME/tmux/tmux.conf
|
||||
|
||||
# Theme
|
||||
# -----------------
|
||||
set -g @catppuccin_flavor "mocha"
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
# Prefix
|
||||
# -----------------
|
||||
set-option -g prefix C-a
|
||||
|
|
@ -61,17 +66,9 @@ bind ` resize-pane -Z
|
|||
|
||||
# Status Bar
|
||||
# -----------------
|
||||
set -g status-position top
|
||||
set-option -g status-bg black
|
||||
set-option -g status-fg white
|
||||
set-option -g status-left '#[fg=green][#S] '
|
||||
setw -g window-status-current-format '#[fg=colour236,bg=colour39] #I #W '
|
||||
|
||||
# set -g status-position top
|
||||
# set -g @catppuccin_flavor "frappe"
|
||||
# run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
# set -g status-right-length 100
|
||||
# set -g status-left-length 100
|
||||
# set -g status-left ""
|
||||
# set -g status-right "#{E:@catppuccin_status_application}"
|
||||
# set -ag status-right "#{E:@catppuccin_status_session}"
|
||||
# set-option -g status-bg black
|
||||
# set-option -g status-fg white
|
||||
# set-option -g status-left '#[fg=green][#S] '
|
||||
# setw -g window-status-current-format '#[fg=colour236,bg=colour39] #I #W '
|
||||
|
||||
|
|
|
|||
|
|
@ -1,59 +1,3 @@
|
|||
" $VIMRUNTIME refers to the versioned system directory where Vim stores its
|
||||
" system runtime files -- /usr/share/vim/vim<version>.
|
||||
"
|
||||
" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
|
||||
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
|
||||
" any settings in these files.
|
||||
"
|
||||
" If you don't want that to happen, uncomment the below line to prevent
|
||||
" defaults.vim from being loaded.
|
||||
" let g:skip_defaults_vim = 1
|
||||
"
|
||||
" If you would rather _use_ default.vim's settings, but have the system or
|
||||
" user vimrc override its settings, then uncomment the line below.
|
||||
" source $VIMRUNTIME/defaults.vim
|
||||
|
||||
" All Debian-specific settings are defined in $VIMRUNTIME/debian.vim and
|
||||
" sourced by the call to :runtime you can find below. If you wish to change
|
||||
" any of those settings, you should do it in this file or
|
||||
" /etc/vim/vimrc.local, since debian.vim will be overwritten everytime an
|
||||
" upgrade of the vim packages is performed. It is recommended to make changes
|
||||
" after sourcing debian.vim so your settings take precedence.
|
||||
|
||||
runtime! debian.vim
|
||||
|
||||
" Uncomment the next line to make Vim more Vi-compatible
|
||||
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes
|
||||
" numerous options, so any other options should be set AFTER changing
|
||||
" 'compatible'.
|
||||
"set compatible
|
||||
|
||||
" Vim5 and later versions support syntax highlighting. Uncommenting the next
|
||||
" line enables syntax highlighting by default.
|
||||
syntax on
|
||||
|
||||
" If using a dark background within the editing area and syntax highlighting
|
||||
" turn on this option as well
|
||||
"set background=dark
|
||||
|
||||
" Uncomment the following to have Vim jump to the last position when
|
||||
" reopening a file
|
||||
"au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
||||
|
||||
" Uncomment the following to have Vim load indentation rules and plugins
|
||||
" according to the detected filetype.
|
||||
"filetype plugin indent on
|
||||
|
||||
" The following are commented out as they cause vim to behave a lot
|
||||
" differently from regular Vi. They are highly recommended though.
|
||||
set showcmd " Show (partial) command in status line.
|
||||
set showmatch " Show matching brackets.
|
||||
set ignorecase " Do case insensitive matching
|
||||
set smartcase " Do smart case matching
|
||||
set incsearch " Incremental search
|
||||
"set autowrite " Automatically save before commands like :next and :make
|
||||
" set hidden " Hide buffers when they are abandoned
|
||||
"set mouse=a " Enable mouse usage (all modes)
|
||||
|
||||
" Source a global configuration file if available
|
||||
if filereadable("/etc/vim/vimrc.local")
|
||||
|
|
@ -97,6 +41,8 @@ set hlsearch
|
|||
set incsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set showcmd
|
||||
set mouse=a " Enable mouse usage (all modes)
|
||||
|
||||
set number
|
||||
set relativenumber
|
||||
|
|
@ -104,3 +50,5 @@ set relativenumber
|
|||
set laststatus=2
|
||||
set showcmd
|
||||
set statusline=%<%f\ %h%m%r\ %=\ [%l,%v]\ [%p%%]\ [\ %Y]\ [\ %{strftime('%H:%M:%S')}]
|
||||
|
||||
syntax on
|
||||
|
|
|
|||
|
|
@ -1,24 +1,407 @@
|
|||
// ~/.config/zellij/config.kdl
|
||||
// ln -sf $DOTFILES/.config/zellij/config.kdl ~.config/zellij/config.kdl
|
||||
// https://zellij.dev/documentation/configuration
|
||||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds {
|
||||
// keybinds are divided into modes
|
||||
normal {
|
||||
// bind instructions can include one or more keys (both keys will be bound separately)
|
||||
// bind keys can include one or more actions (all actions will be performed with no sequential guarantees)
|
||||
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
}
|
||||
pane {
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "n" "Down" { MoveFocus "Down"; }
|
||||
bind "e" "Up" { MoveFocus "Up"; }
|
||||
bind "i" "Right" { MoveFocus "Right"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "normal"; }
|
||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Increase Left"; }
|
||||
bind "n" "Down" { Resize "Increase Down"; }
|
||||
bind "e" "Up" { Resize "Increase Up"; }
|
||||
bind "i" "Right" { Resize "Increase Right"; }
|
||||
bind "H" { Resize "Decrease Left"; }
|
||||
bind "N" { Resize "Decrease Down"; }
|
||||
bind "E" { Resize "Decrease Up"; }
|
||||
bind "I" { Resize "Decrease Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "i" "Right" { MoveFocus "Right"; }
|
||||
bind "n" "Down" { MoveFocus "Down"; }
|
||||
bind "e" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "c" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "N" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "I" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "n" "Down" { MovePane "Down"; }
|
||||
bind "e" "Up" { MovePane "Up"; }
|
||||
bind "i" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "e" { GoToPreviousTab; }
|
||||
bind "i" "Right" "Down" "n" { GoToNextTab; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "Normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "r" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "n" "Down" { ScrollDown; }
|
||||
bind "e" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "n" "Down" { ScrollDown; }
|
||||
bind "e" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "k" { Search "down"; }
|
||||
bind "K" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
bind "c" {
|
||||
LaunchOrFocusPlugin "configuration" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
bind "p" {
|
||||
LaunchOrFocusPlugin "plugin-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
bind "Space" { NextSwapLayout; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Alt f" { ToggleFloatingPanes; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt i" { MoveTab "Left"; }
|
||||
bind "Alt o" { MoveTab "Right"; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
shared_except "move" "locked" {
|
||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
||||
}
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin aliases - can be used to change the implementation of Zellij
|
||||
// changing these requires a restart to take effect
|
||||
plugins {
|
||||
tab-bar location="zellij:tab-bar"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
session-manager location="zellij:session-manager"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
configuration location="zellij:configuration"
|
||||
plugin-manager location="zellij:plugin-manager"
|
||||
}
|
||||
|
||||
// Plugins to load in the background when a new session starts
|
||||
load_plugins {
|
||||
// "file:/path/to/my-plugin.wasm"
|
||||
// "https://example.com/my-plugin.wasm"
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd ""
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout true
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
//
|
||||
// serialize_pane_viewport true
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
// (Requires restart)
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
// themes {
|
||||
// dracula {
|
||||
// fg 248 248 242
|
||||
// bg 40 42 54
|
||||
// red 255 85 85
|
||||
// green 80 250 123
|
||||
// yellow 241 250 140
|
||||
// blue 98 114 164
|
||||
// magenta 255 121 198
|
||||
// orange 255 184 108
|
||||
// cyan 139 233 253
|
||||
// black 0 0 0
|
||||
// white 255 255 255
|
||||
// }
|
||||
// }
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "default"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
// (Requires restart)
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// (Requires restart)
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
// (Requires restart)
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
// (Requires restart)
|
||||
//
|
||||
// theme_dir "/path/to/my/theme_dir"
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// (Requires restart)
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata true
|
||||
|
||||
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||
// (Requires restart)
|
||||
// Default: true (if the host terminal supports it)
|
||||
//
|
||||
// support_kitty_keyboard_protocol false
|
||||
|
|
|
|||
604
platforms/linux/awesome/rc.lua
Normal file
604
platforms/linux/awesome/rc.lua
Normal file
|
|
@ -0,0 +1,604 @@
|
|||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
local menubar = require("menubar")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors,
|
||||
})
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function(err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then
|
||||
return
|
||||
end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err),
|
||||
})
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "wezterm"
|
||||
editor = os.getenv("EDITOR") or "vim"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile, -- Tile by default
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw,
|
||||
-- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a launcher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{
|
||||
"hotkeys",
|
||||
function()
|
||||
hotkeys_popup.show_help(nil, awful.screen.focused())
|
||||
end,
|
||||
},
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{
|
||||
"quit",
|
||||
function()
|
||||
awesome.quit()
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
mymainmenu = awful.menu({
|
||||
items = {
|
||||
{ "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||
{ "open terminal", terminal },
|
||||
},
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu })
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- Keyboard map indicator and switcher
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- {{{ Wibar
|
||||
-- Create a textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
local taglist_buttons = gears.table.join(
|
||||
awful.button({}, 1, function(t)
|
||||
t:view_only()
|
||||
end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({}, 3, awful.tag.viewtoggle),
|
||||
awful.button({ modkey }, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({}, 4, function(t)
|
||||
awful.tag.viewnext(t.screen)
|
||||
end),
|
||||
awful.button({}, 5, function(t)
|
||||
awful.tag.viewprev(t.screen)
|
||||
end)
|
||||
)
|
||||
|
||||
local tasklist_buttons = gears.table.join(
|
||||
awful.button({}, 1, function(c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal("request::activate", "tasklist", { raise = true })
|
||||
end
|
||||
end),
|
||||
awful.button({}, 3, function()
|
||||
awful.menu.client_list({ theme = { width = 250 } })
|
||||
end),
|
||||
awful.button({}, 4, function()
|
||||
awful.client.focus.byidx(1)
|
||||
end),
|
||||
awful.button({}, 5, function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end)
|
||||
)
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||
s.mylayoutbox:buttons(gears.table.join(
|
||||
awful.button({}, 1, function()
|
||||
awful.layout.inc(1)
|
||||
end),
|
||||
awful.button({}, 3, function()
|
||||
awful.layout.inc(-1)
|
||||
end),
|
||||
awful.button({}, 4, function()
|
||||
awful.layout.inc(1)
|
||||
end),
|
||||
awful.button({}, 5, function()
|
||||
awful.layout.inc(-1)
|
||||
end)
|
||||
))
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = awful.widget.taglist({
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = taglist_buttons,
|
||||
})
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = awful.widget.tasklist({
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons,
|
||||
})
|
||||
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({ position = "top", screen = s })
|
||||
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup({
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mylauncher,
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
s.mytasklist, -- Middle widget
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mykeyboardlayout,
|
||||
wibox.widget.systray(),
|
||||
mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
})
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse bindings
|
||||
root.buttons(gears.table.join(
|
||||
awful.button({}, 3, function()
|
||||
mymainmenu:toggle()
|
||||
end),
|
||||
awful.button({}, 4, awful.tag.viewnext),
|
||||
awful.button({}, 5, awful.tag.viewprev)
|
||||
))
|
||||
-- }}}
|
||||
|
||||
-- {{{ Key bindings
|
||||
globalkeys = gears.table.join(
|
||||
awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }),
|
||||
awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }),
|
||||
awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }),
|
||||
awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }),
|
||||
|
||||
awful.key({ modkey }, "n", function()
|
||||
awful.client.focus.byidx(1)
|
||||
end, { description = "focus next by index", group = "client" }),
|
||||
awful.key({ modkey }, "e", function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end, { description = "focus previous by index", group = "client" }),
|
||||
awful.key({ modkey }, "w", function()
|
||||
mymainmenu:show()
|
||||
end, { description = "show main menu", group = "awesome" }),
|
||||
|
||||
-- Layout manipulation
|
||||
awful.key({ modkey, "Shift" }, "n", function()
|
||||
awful.client.swap.byidx(1)
|
||||
end, { description = "swap with next client by index", group = "client" }),
|
||||
awful.key({ modkey, "Shift" }, "e", function()
|
||||
awful.client.swap.byidx(-1)
|
||||
end, { description = "swap with previous client by index", group = "client" }),
|
||||
awful.key({ modkey, "Control" }, "n", function()
|
||||
awful.screen.focus_relative(1)
|
||||
end, { description = "focus the next screen", group = "screen" }),
|
||||
awful.key({ modkey, "Control" }, "e", function()
|
||||
awful.screen.focus_relative(-1)
|
||||
end, { description = "focus the previous screen", group = "screen" }),
|
||||
awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }),
|
||||
awful.key({ modkey }, "Tab", function()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end, { description = "go back", group = "client" }),
|
||||
|
||||
-- Standard program
|
||||
awful.key({ modkey }, "Return", function()
|
||||
awful.spawn(terminal)
|
||||
end, { description = "open a terminal", group = "launcher" }),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
||||
|
||||
awful.key({ modkey }, "i", function()
|
||||
awful.tag.incmwfact(0.05)
|
||||
end, { description = "increase master width factor", group = "layout" }),
|
||||
awful.key({ modkey }, "h", function()
|
||||
awful.tag.incmwfact(-0.05)
|
||||
end, { description = "decrease master width factor", group = "layout" }),
|
||||
awful.key({ modkey, "Shift" }, "h", function()
|
||||
awful.tag.incnmaster(1, nil, true)
|
||||
end, { description = "increase the number of master clients", group = "layout" }),
|
||||
awful.key({ modkey, "Shift" }, "i", function()
|
||||
awful.tag.incnmaster(-1, nil, true)
|
||||
end, { description = "decrease the number of master clients", group = "layout" }),
|
||||
awful.key({ modkey, "Control" }, "h", function()
|
||||
awful.tag.incncol(1, nil, true)
|
||||
end, { description = "increase the number of columns", group = "layout" }),
|
||||
awful.key({ modkey, "Control" }, "i", function()
|
||||
awful.tag.incncol(-1, nil, true)
|
||||
end, { description = "decrease the number of columns", group = "layout" }),
|
||||
awful.key({ modkey }, "space", function()
|
||||
awful.spawn.with_shell("albert show")
|
||||
end, { description = "select next", group = "layout" }),
|
||||
awful.key({ modkey, "Shift" }, "space", function()
|
||||
awful.layout.inc(-1)
|
||||
end, { description = "select previous", group = "layout" }),
|
||||
|
||||
awful.key({ modkey, "Control" }, "k", function()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:emit_signal("request::activate", "key.unminimize", { raise = true })
|
||||
end
|
||||
end, { description = "restore minimized", group = "client" }),
|
||||
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function()
|
||||
awful.screen.focused().mypromptbox:run()
|
||||
end, { description = "run prompt", group = "launcher" }),
|
||||
|
||||
awful.key({ modkey }, "x", function()
|
||||
awful.prompt.run({
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval",
|
||||
})
|
||||
end, { description = "lua execute prompt", group = "awesome" }),
|
||||
-- Menubar
|
||||
awful.key({ modkey }, "p", function()
|
||||
menubar.show()
|
||||
end, { description = "show the menubar", group = "launcher" })
|
||||
)
|
||||
|
||||
clientkeys = gears.table.join(
|
||||
awful.key({ modkey }, "f", function(c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end, { description = "toggle fullscreen", group = "client" }),
|
||||
awful.key({ modkey, "Shift" }, "c", function(c)
|
||||
c:kill()
|
||||
end, { description = "close", group = "client" }),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"space",
|
||||
awful.client.floating.toggle,
|
||||
{ description = "toggle floating", group = "client" }
|
||||
),
|
||||
awful.key({ modkey, "Control" }, "Return", function(c)
|
||||
c:swap(awful.client.getmaster())
|
||||
end, { description = "move to master", group = "client" }),
|
||||
awful.key({ modkey }, "o", function(c)
|
||||
c:move_to_screen()
|
||||
end, { description = "move to screen", group = "client" }),
|
||||
awful.key({ modkey }, "t", function(c)
|
||||
c.ontop = not c.ontop
|
||||
end, { description = "toggle keep on top", group = "client" }),
|
||||
awful.key({ modkey }, "k", function(c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end, { description = "minimize", group = "client" }),
|
||||
awful.key({ modkey }, "m", function(c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end, { description = "(un)maximize", group = "client" }),
|
||||
awful.key({ modkey, "Control" }, "m", function(c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end, { description = "(un)maximize vertically", group = "client" }),
|
||||
awful.key({ modkey, "Shift" }, "m", function(c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end, { description = "(un)maximize horizontally", group = "client" })
|
||||
)
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(
|
||||
globalkeys,
|
||||
-- View tag only.
|
||||
awful.key({ modkey }, "#" .. i + 9, function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end, { description = "view tag #" .. i, group = "tag" }),
|
||||
-- Toggle tag display.
|
||||
awful.key({ modkey, "Control" }, "#" .. i + 9, function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end, { description = "toggle tag #" .. i, group = "tag" }),
|
||||
-- Move client to tag.
|
||||
awful.key({ modkey, "Shift" }, "#" .. i + 9, function()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end, { description = "move focused client to tag #" .. i, group = "tag" }),
|
||||
-- Toggle tag on focused client.
|
||||
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, function()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end, { description = "toggle focused client on tag #" .. i, group = "tag" })
|
||||
)
|
||||
end
|
||||
|
||||
clientbuttons = gears.table.join(
|
||||
awful.button({}, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
end),
|
||||
awful.button({ modkey }, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ modkey }, 3, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
-- Set keys
|
||||
root.keys(globalkeys)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{
|
||||
rule = {},
|
||||
properties = {
|
||||
border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = clientkeys,
|
||||
buttons = clientbuttons,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap + awful.placement.no_offscreen,
|
||||
},
|
||||
},
|
||||
|
||||
-- Floating clients.
|
||||
{
|
||||
rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry",
|
||||
},
|
||||
class = {
|
||||
"Arandr",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"MessageWin", -- kalarm.
|
||||
"Sxiv",
|
||||
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui",
|
||||
"veromix",
|
||||
"xtightvncviewer",
|
||||
},
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
},
|
||||
},
|
||||
properties = { floating = true },
|
||||
},
|
||||
|
||||
-- Add titlebars to normal clients and dialogs
|
||||
{ rule_any = { type = { "normal", "dialog" } }, properties = { titlebars_enabled = true } },
|
||||
|
||||
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||
-- { rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "2" } },
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function(c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = gears.table.join(
|
||||
awful.button({}, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", { raise = true })
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({}, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", { raise = true })
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
awful.titlebar(c):setup({
|
||||
{ -- Left
|
||||
awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c),
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal,
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.floatingbutton(c),
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.stickybutton(c),
|
||||
awful.titlebar.widget.ontopbutton(c),
|
||||
awful.titlebar.widget.closebutton(c),
|
||||
layout = wibox.layout.fixed.horizontal(),
|
||||
},
|
||||
layout = wibox.layout.align.horizontal,
|
||||
})
|
||||
end)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", { raise = false })
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c)
|
||||
c.border_color = beautiful.border_focus
|
||||
end)
|
||||
client.connect_signal("unfocus", function(c)
|
||||
c.border_color = beautiful.border_normal
|
||||
end)
|
||||
-- }}}
|
||||
--
|
||||
|
||||
autorun = true
|
||||
|
||||
autorunApps = {
|
||||
"fcitx5",
|
||||
"albert",
|
||||
}
|
||||
|
||||
if autorun then
|
||||
for app = 1, #autorunApps do
|
||||
awful.spawn(autorunApps[app])
|
||||
end
|
||||
end
|
||||
|
||||
awful.spawn.with_shell("setxkbmap -option caps:escape")
|
||||
awful.spawn.with_shell("feh --bg-fill ~/Pictures/Wallpaper/current.jpg")
|
||||
13
platforms/linux/chromium-flags.conf
Normal file
13
platforms/linux/chromium-flags.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# $DOTFILES/platforms/linux/chromium-flags.conf
|
||||
# Date: 2025-01-25
|
||||
# Author: js0ny
|
||||
# Force chromium apps to use kwallet6 for password storage
|
||||
# This solves the issue of chromium apps not being able to access passwords in non-plasma environments
|
||||
|
||||
# Location:
|
||||
# ~/.config/chromium-flags.conf
|
||||
# ~/.var/app/com.vivaldi.Vivaldi/config/vivaldi-flags.conf (For flatpak)
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/platforms/linux/chromium-flags.conf ~/.var/app/com.vivaldi.Vivaldi/config/vivaldi-flags.conf
|
||||
--password-store=kwallet6
|
||||
--enable-wayland-ime
|
||||
|
|
@ -5,8 +5,10 @@
|
|||
|
||||
# Location:
|
||||
# ~/.config/electron-flags.conf
|
||||
# ~/.config/code-flags.conf
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/platforms/linux/hyprland/electron-flags.conf ~/.config/
|
||||
# ln -sf $DOTFILES/platforms/linux/electron-flags.conf ~/.config/electron-flags.conf
|
||||
# ln -sf $DOTFILES/platforms/linux/electron-flags.conf ~/.config/code-flags.conf
|
||||
|
||||
# --enable-features=UseOzonePlatform
|
||||
# --ozone-platform=wayland
|
||||
30
platforms/linux/etc/environment
Normal file
30
platforms/linux/etc/environment
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# $DOTFILES/platforms/linux/etc/environment
|
||||
# Date: 2025-01-25
|
||||
# Author: js0ny
|
||||
# Description: Environment variables that defines the applications and IME
|
||||
#
|
||||
# Location:
|
||||
# /etc/environment
|
||||
# Linking:
|
||||
# cp $DOTFILES/platforms/linux/etc/environment /etc/environment
|
||||
#
|
||||
# This file is parsed by pam_env module
|
||||
#
|
||||
# Syntax: simple "KEY=VAL" pairs on separate lines
|
||||
#
|
||||
#QT_QPA_PLATFORMTHEME=qt5ct
|
||||
#QT_STYLE_OVERRIDE=kvantum
|
||||
# Software
|
||||
BROWSER="com.vivaldi.Vivaldi"
|
||||
EDITOR=nvim
|
||||
# IME
|
||||
GTK_IM_MODULE=fcitx
|
||||
QT_IM_MODULE=fcitx
|
||||
SDL_IM_MODULE=fcitx
|
||||
XMODIFIFERS="@im=fcitx"
|
||||
GLFW_IM_MODULE=fcitx
|
||||
# Scaling
|
||||
QT_SCALE_FACTOR=1.75
|
||||
# 2 * 0.875 = 1.75
|
||||
GDK_SCALE=2
|
||||
GDK_DPI_SCALE=0.875
|
||||
78
platforms/linux/hypr/dark.conf
Normal file
78
platforms/linux/hypr/dark.conf
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
# Catppuccin Mocha (Dark)
|
||||
$rosewater = rgb(f5e0dc)
|
||||
$rosewaterAlpha = f5e0dc
|
||||
|
||||
$flamingo = rgb(f2cdcd)
|
||||
$flamingoAlpha = f2cdcd
|
||||
|
||||
$pink = rgb(f5c2e7)
|
||||
$pinkAlpha = f5c2e7
|
||||
|
||||
$mauve = rgb(cba6f7)
|
||||
$mauveAlpha = cba6f7
|
||||
|
||||
$red = rgb(f38ba8)
|
||||
$redAlpha = f38ba8
|
||||
|
||||
$maroon = rgb(eba0ac)
|
||||
$maroonAlpha = eba0ac
|
||||
|
||||
$peach = rgb(fab387)
|
||||
$peachAlpha = fab387
|
||||
|
||||
$yellow = rgb(f9e2af)
|
||||
$yellowAlpha = f9e2af
|
||||
|
||||
$green = rgb(a6e3a1)
|
||||
$greenAlpha = a6e3a1
|
||||
|
||||
$teal = rgb(94e2d5)
|
||||
$tealAlpha = 94e2d5
|
||||
|
||||
$sky = rgb(89dceb)
|
||||
$skyAlpha = 89dceb
|
||||
|
||||
$sapphire = rgb(74c7ec)
|
||||
$sapphireAlpha = 74c7ec
|
||||
|
||||
$blue = rgb(89b4fa)
|
||||
$blueAlpha = 89b4fa
|
||||
|
||||
$lavender = rgb(b4befe)
|
||||
$lavenderAlpha = b4befe
|
||||
|
||||
$text = rgb(cdd6f4)
|
||||
$textAlpha = cdd6f4
|
||||
|
||||
$subtext1 = rgb(bac2de)
|
||||
$subtext1Alpha = bac2de
|
||||
|
||||
$subtext0 = rgb(a6adc8)
|
||||
$subtext0Alpha = a6adc8
|
||||
|
||||
$overlay2 = rgb(9399b2)
|
||||
$overlay2Alpha = 9399b2
|
||||
|
||||
$overlay1 = rgb(7f849c)
|
||||
$overlay1Alpha = 7f849c
|
||||
|
||||
$overlay0 = rgb(6c7086)
|
||||
$overlay0Alpha = 6c7086
|
||||
|
||||
$surface2 = rgb(585b70)
|
||||
$surface2Alpha = 585b70
|
||||
|
||||
$surface1 = rgb(45475a)
|
||||
$surface1Alpha = 45475a
|
||||
|
||||
$surface0 = rgb(313244)
|
||||
$surface0Alpha = 313244
|
||||
|
||||
$base = rgb(1e1e2e)
|
||||
$baseAlpha = 1e1e2e
|
||||
|
||||
$mantle = rgb(181825)
|
||||
$mantleAlpha = 181825
|
||||
|
||||
$crust = rgb(11111b)
|
||||
$crustAlpha = 11111b
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
# Location:
|
||||
# $XDG_CONFIG_HOME/hypr/hyprland.conf
|
||||
# Linking: (Link the whole `hypr` directory)
|
||||
# ln -sf $DOTFILES/platforms/linux/hyprland/hypr $XDG_CONFIG_HOME/hypr
|
||||
# ln -sf $DOTFILES/platforms/linux/hypr $XDG_CONFIG_HOME/hypr
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPRLAND CONFIG.
|
||||
|
|
@ -14,6 +14,8 @@
|
|||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
source=~/.config/hypr/dark.conf
|
||||
|
||||
autogenerated = 0 # remove this line to remove the warning
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
|
|
@ -38,7 +40,11 @@ xwayland {
|
|||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
#
|
||||
# monitor=,preferred,auto,auto
|
||||
# Format:
|
||||
# MONITOR_NAME,RESOLUTION@REFRESH_RATE,OFFSET_XxOFFSET_Y,SCALE
|
||||
monitor=DP-2,3840x2160@59,0x0,1.666667
|
||||
|
||||
|
||||
###################
|
||||
|
|
@ -48,9 +54,9 @@ monitor=,preferred,auto,auto
|
|||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$terminal = wezterm-gui
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
$menu = wofi
|
||||
|
||||
|
||||
#################
|
||||
|
|
@ -62,7 +68,15 @@ $menu = wofi --show drun
|
|||
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
exec-once = waybar & hyprpaper & mako & systemctl --user start hyprpolkitagent & fcitx5
|
||||
# exec-once = waybar & hyprpaper & mako & systemctl --user start hyprpolkitagent & fcitx5 & albert
|
||||
exec-once = waybar &
|
||||
exec-once = mako &
|
||||
exec-once = hyprpaper &
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
exec-once = fcitx5 &
|
||||
exec-once = wl-paste --watch cliphist store
|
||||
# exec-once = QT_SCALE_FACTOR=1 albert &
|
||||
|
||||
|
||||
|
||||
#############################
|
||||
|
|
@ -71,7 +85,7 @@ exec-once = waybar & hyprpaper & mako & systemctl --user start hyprpolkitagent &
|
|||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
# env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
|
|
@ -86,19 +100,22 @@ general {
|
|||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
|
||||
border_size = 2
|
||||
border_size = 3
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.active_border = $mauve
|
||||
col.inactive_border = $overlay2
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
resize_on_border = true
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
|
||||
no_border_on_floating = true
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
|
|
@ -113,7 +130,7 @@ decoration {
|
|||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
color = $base
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
|
|
@ -193,7 +210,7 @@ input {
|
|||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_options = caps:escape
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
|
@ -230,7 +247,9 @@ bind = $mainMod, R, exec, $terminal
|
|||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, F, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
||||
bind = $mainMod SHIFT, V, togglefloating
|
||||
|
||||
bind = $mainMod, space, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, X, togglesplit, # dwindle
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
# Location:
|
||||
# $XDG_CONFIG_HOME/hypr/hyprpaper.conf
|
||||
# Linking: (Link the whole `hypr` directory)
|
||||
# ln -sf $DOTFILES/platforms/linux/hyprland/hypr $XDG_CONFIG_HOME/hypr
|
||||
# ln -sf $DOTFILES/platforms/linux/hypr $XDG_CONFIG_HOME/hypr
|
||||
|
||||
preload = ~/Pictures/Wallpaper/current.jpg
|
||||
wallpaper = DP-2, ~/Pictures/Wallpaper/current.jpg
|
||||
|
|
|
|||
|
|
@ -1,18 +1,9 @@
|
|||
# $DOTFILES/platforms/linux/kde/dolphinrc
|
||||
# Date: 2024-12-22
|
||||
# Author: js0ny
|
||||
# Dolphin - KDE File Explorer
|
||||
|
||||
# Location:
|
||||
# $XDG_CONFIG_HOME/dolphinrc
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/platforms/linux/kde/dolphinrc $XDG_CONFIG_HOME/dolphinrc
|
||||
|
||||
[General]
|
||||
Version=202
|
||||
ViewPropsTimestamp=2024,12,10,0,19,35.931
|
||||
|
||||
[IconsMode]
|
||||
PreviewSize=80
|
||||
PreviewSize=48
|
||||
|
||||
[KFileDialog Settings]
|
||||
Places Icons Auto-resize=false
|
||||
|
|
|
|||
18
platforms/linux/kde/elisarc
Normal file
18
platforms/linux/kde/elisarc
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# $DOTFILES/platforms/linux/kde/elisarc
|
||||
# Date: 2024-12-22
|
||||
# Author: js0ny
|
||||
# Dolphin - KDE Music Player
|
||||
|
||||
# Location:
|
||||
# $XDG_CONFIG_HOME/elisarc
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/platforms/linux/kde/elisarc $XDG_CONFIG_HOME/elisarc
|
||||
|
||||
[ElisaFileIndexer]
|
||||
RootPath[$e]=$HOME/Music
|
||||
|
||||
[UiSettings]
|
||||
ColorScheme=
|
||||
|
||||
[Views]
|
||||
InitialFilesViewPath=/mnt/d/Media/Music
|
||||
25
platforms/linux/mako-config
Normal file
25
platforms/linux/mako-config
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
sort=-time
|
||||
layer=overlay
|
||||
background-color=#22222266
|
||||
width=450
|
||||
height=150
|
||||
border-size=1
|
||||
border-color=#d3e4c9
|
||||
border-radius=12
|
||||
icons=1
|
||||
max-icon-size=64
|
||||
default-timeout=5000
|
||||
ignore-timeout=0
|
||||
font=PingFangHK
|
||||
margin=12
|
||||
padding=12,20
|
||||
|
||||
[urgency=low]
|
||||
border-color=#aaaaaa
|
||||
|
||||
[urgency=normal]
|
||||
border-color=#cceeff
|
||||
|
||||
[urgency=critical]
|
||||
border-color=#ff7777
|
||||
default-timeout=0
|
||||
37
platforms/linux/waybar/config
Normal file
37
platforms/linux/waybar/config
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"include": "~/.config/waybar/modules",
|
||||
"name": "main-bar",
|
||||
"id": "main-bar",
|
||||
"layer": "top",
|
||||
"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "top",
|
||||
"output": "DP-2",
|
||||
"height": 32,
|
||||
"width": "",
|
||||
"spacing": 6,
|
||||
"margin": 0,
|
||||
"margin-top": 0,
|
||||
"margin-bottom": 0,
|
||||
"margin-left": 0,
|
||||
"margin-right": 0,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"modules-left": [
|
||||
"custom/menu",
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
// "modules-center": [
|
||||
// "hyprland/window",
|
||||
// "mpd"
|
||||
// ],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"pulseaudio",
|
||||
"custom/weather",
|
||||
"battery",
|
||||
"clock",
|
||||
"custom/power"
|
||||
]
|
||||
}
|
||||
149
platforms/linux/waybar/modules
Normal file
149
platforms/linux/waybar/modules
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
// Waybar modules configuration
|
||||
{
|
||||
// waybar-backlight
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"device": "amdgpu_bl0",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
// Commands to execute on events
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "light -A 5%",
|
||||
"on-scroll-down": "light -U 5%",
|
||||
"smooth-scrolling-threshold": 1
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"format": "{icon} {windows}",
|
||||
"format-window-separator": " ",
|
||||
"window-rewrite-default": "",
|
||||
"window-rewrite": {
|
||||
"title<.*youtube.*>": "",
|
||||
"class<firefox>": "",
|
||||
"class<.*wezterm>": "",
|
||||
"class<kitty>": "",
|
||||
"class<wofi>": "",
|
||||
"class<firefox> title<.*github.*>": "",
|
||||
"class<Vivaldi.*>": "",
|
||||
"obsidian": "",
|
||||
"foot": "",
|
||||
"Cider": "",
|
||||
"class<org.kde.dolphin>": "",
|
||||
"code": "",
|
||||
"class<.*telegram.*>": "",
|
||||
"discord": "",
|
||||
"neovide": "",
|
||||
"class<org.kde.okular>": "",
|
||||
"class<.*wechat.*>": "",
|
||||
"QQ": "",
|
||||
"class<Tor Browser>": "",
|
||||
"Zotero": "",
|
||||
"class<ticktick>": "",
|
||||
"class<net.ankiweb.Anki>": "",
|
||||
}
|
||||
},
|
||||
// waybar-battery
|
||||
"battery": {
|
||||
"interval": 60,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-full": "{icon} Full",
|
||||
//"format-good": "",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true
|
||||
},
|
||||
// waybar-clock
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format": " {:%H:%M:%S}",
|
||||
"format-alt": " {:%a %b %d, %G}"
|
||||
},
|
||||
// waybar-cpu
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}%"
|
||||
},
|
||||
// waybar-custom
|
||||
"custom/menu": {
|
||||
"format": " ",
|
||||
"tooltip": false,
|
||||
"on-click": "wofi"
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "⏻",
|
||||
"tooltip": false,
|
||||
"on-click": "wlogout"
|
||||
},
|
||||
// weather-custom
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click-right",
|
||||
"interval": 1800,
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/hypr/scripts/weather.sh",
|
||||
"exec-if": "ping wttr.in -c1"
|
||||
},
|
||||
// waybar-tray
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 10
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"alsa_output.pci-0000_00_1f.3.analog-stereo": "",
|
||||
"alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "",
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"phone-muted": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
},
|
||||
"scroll-step": 1,
|
||||
"on-click": "pavucontrol",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
]
|
||||
}
|
||||
}
|
||||
184
platforms/linux/waybar/style.css
Normal file
184
platforms/linux/waybar/style.css
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
/** ********** Fonts ********** **/
|
||||
* {
|
||||
font-family: "JetBrains Mono", "Iosevka Nerd Font", archcraft, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/** ********** Waybar Window ********** **/
|
||||
window#waybar {
|
||||
background-color: #1e1e2e;
|
||||
color: #1e1e2e;
|
||||
border-bottom: 2px solid #313244;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/** ********** Backlight ********** **/
|
||||
#backlight {
|
||||
background-color: #cba6f7;
|
||||
}
|
||||
|
||||
/** ********** Battery ********** **/
|
||||
#battery {
|
||||
background-color: #f9e2af;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
}
|
||||
|
||||
#battery.plugged {
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f38ba8;
|
||||
color: #f38ba8;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
/** ********** Clock ********** **/
|
||||
#clock {
|
||||
background-color: #a6e3a1;
|
||||
}
|
||||
|
||||
/** ********** CPU ********** **/
|
||||
#cpu {
|
||||
background-color: #89dceb;
|
||||
}
|
||||
|
||||
/** ********** Memory ********** **/
|
||||
#memory {
|
||||
background-color: #eba0ac;
|
||||
}
|
||||
|
||||
/** ********** Disk ********** **/
|
||||
#disk {
|
||||
background-color: #b4befe;
|
||||
}
|
||||
|
||||
/** ********** Tray ********** **/
|
||||
#tray {
|
||||
background-color: #cdd6f4;
|
||||
}
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
}
|
||||
#tray > .active {
|
||||
}
|
||||
|
||||
/** ********** MPD ********** **/
|
||||
#mpd {
|
||||
background-color: #94e2d5;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #f5c2e7;
|
||||
}
|
||||
|
||||
#mpd.playing {
|
||||
background-color: #74c7ec;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
}
|
||||
|
||||
/** ********** Pulseaudio ********** **/
|
||||
#pulseaudio {
|
||||
background-color: #fab387;
|
||||
}
|
||||
|
||||
#pulseaudio.bluetooth {
|
||||
background-color: #f5c2e7;
|
||||
}
|
||||
#pulseaudio.muted {
|
||||
background-color: #313244;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
/** ********** Network ********** **/
|
||||
#network {
|
||||
background-color: #89b4fa;
|
||||
}
|
||||
|
||||
#network.disconnected,#network.disabled {
|
||||
background-color: #313244;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
#network.linked {
|
||||
}
|
||||
#network.ethernet {
|
||||
}
|
||||
#network.wifi {
|
||||
}
|
||||
|
||||
/** ********** Custom ********** **/
|
||||
#custom-menu, #custom-power, #custom-weather, #custom-updater {
|
||||
border-radius: 4px;
|
||||
margin: 6px 0px;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
||||
#custom-menu {
|
||||
background-color: #f5c2e7;
|
||||
margin-left: 6px;
|
||||
padding: 2px 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
background-color: #f38ba8;
|
||||
margin-right: 6px;
|
||||
padding: 2px 8px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#custom-updater {
|
||||
background-color: #e6ed7b;
|
||||
margin-right: 6px;
|
||||
padding: 2px 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#custom-weather {
|
||||
background-color: #cba6f7;
|
||||
margin-right: 6px;
|
||||
padding: 2px 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/** Common style **/
|
||||
#backlight,
|
||||
#battery,
|
||||
#clock,
|
||||
#cpu,
|
||||
#disk,
|
||||
#mode,
|
||||
#memory,
|
||||
#mpd,
|
||||
#tray,
|
||||
#pulseaudio,
|
||||
#network {
|
||||
border-radius: 4px;
|
||||
margin: 6px 0px;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# $DOTFILES/platforms/linux/hyprland/code-flags.conf
|
||||
# Date: 2024-12-22
|
||||
# Author: js0ny
|
||||
# Force VSCode to use Wayland
|
||||
|
||||
# Location:
|
||||
# ~/.config/code-flags.conf
|
||||
# Linking:
|
||||
# ln -sf $DOTFILES/platforms/linux/hyprland/code-flags.conf ~/.config/
|
||||
|
||||
# --enable-features=UseOzonePlatform
|
||||
# --ozone-platform=wayland
|
||||
--ozone-platform-hint=auto
|
||||
--enable-wayland-ime
|
||||
50
platforms/linux/wlogout/actions
Normal file
50
platforms/linux/wlogout/actions
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## wlogout actions
|
||||
|
||||
# Ask for confirmation
|
||||
cdialog () {
|
||||
yad --title='Confirm?' --borders=15 --center --fixed --undecorated --button=Yes:0 --button=No:1 --text="Are you sure?" --text-align=center
|
||||
}
|
||||
|
||||
if [[ "$1" == '--shutdown' ]]; then
|
||||
cdialog
|
||||
if [[ "$?" == 0 ]]; then
|
||||
systemctl poweroff
|
||||
else
|
||||
exit
|
||||
fi
|
||||
elif [[ "$1" == '--reboot' ]]; then
|
||||
cdialog
|
||||
if [[ "$?" == 0 ]]; then
|
||||
systemctl reboot
|
||||
else
|
||||
exit
|
||||
fi
|
||||
elif [[ "$1" == '--hibernate' ]]; then
|
||||
cdialog
|
||||
if [[ "$?" == 0 ]]; then
|
||||
systemctl hibernate
|
||||
else
|
||||
exit
|
||||
fi
|
||||
elif [[ "$1" == '--lock' ]]; then
|
||||
~/.config/hypr/scripts/lockscreen
|
||||
elif [[ "$1" == '--suspend' ]]; then
|
||||
cdialog
|
||||
if [[ "$?" == 0 ]]; then
|
||||
mpc -q pause
|
||||
amixer set Master mute
|
||||
~/.config/hypr/scripts/lockscreen
|
||||
systemctl suspend
|
||||
else
|
||||
exit
|
||||
fi
|
||||
elif [[ "$1" == '--logout' ]]; then
|
||||
cdialog
|
||||
if [[ "$?" == 0 ]]; then
|
||||
kill -9 -1
|
||||
else
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
BIN
platforms/linux/wlogout/icons/hibernate.png
Normal file
BIN
platforms/linux/wlogout/icons/hibernate.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
BIN
platforms/linux/wlogout/icons/lock.png
Normal file
BIN
platforms/linux/wlogout/icons/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
BIN
platforms/linux/wlogout/icons/logout.png
Normal file
BIN
platforms/linux/wlogout/icons/logout.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
platforms/linux/wlogout/icons/reboot.png
Normal file
BIN
platforms/linux/wlogout/icons/reboot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
BIN
platforms/linux/wlogout/icons/shutdown.png
Normal file
BIN
platforms/linux/wlogout/icons/shutdown.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
BIN
platforms/linux/wlogout/icons/suspend.png
Normal file
BIN
platforms/linux/wlogout/icons/suspend.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7 KiB |
30
platforms/linux/wlogout/layout
Normal file
30
platforms/linux/wlogout/layout
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"label" : "suspend",
|
||||
"text" : "Suspend",
|
||||
"action" : "~/.config/hypr/wlogout/actions --suspend",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"text" : "Logout",
|
||||
"action" : "~/.config/hypr/wlogout/actions --logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "lock",
|
||||
"text" : "Lock",
|
||||
"action" : "~/.config/hypr/wlogout/actions --lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"text" : "Reboot",
|
||||
"action" : "~/.config/hypr/wlogout/actions --reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"text" : "Shutdown",
|
||||
"action" : "~/.config/hypr/wlogout/actions --shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
52
platforms/linux/wlogout/style.css
Normal file
52
platforms/linux/wlogout/style.css
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/** ********** Fonts ********** **/
|
||||
* {
|
||||
font-family: "JetBrains Mono", "Iosevka Nerd Font", archcraft, sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/** ********** Main Window ********** **/
|
||||
window {
|
||||
background-color: #1E1E2E;
|
||||
}
|
||||
|
||||
/** ********** Buttons ********** **/
|
||||
button {
|
||||
background-color: #242434;
|
||||
color: #FFFFFF;
|
||||
border: 2px solid #282838;
|
||||
border-radius: 20px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 35%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
background-color: #89B4FA;
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
/** ********** Icons ********** **/
|
||||
#lock {
|
||||
background-image: image(url("icons/lock.png"), url("/usr/share/wlogout/icons/lock.png"));
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("icons/logout.png"), url("/usr/share/wlogout/icons/logout.png"));
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("icons/suspend.png"), url("/usr/share/wlogout/icons/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("icons/hibernate.png"), url("/usr/share/wlogout/icons/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("icons/shutdown.png"), url("/usr/share/wlogout/icons/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("icons/reboot.png"), url("/usr/share/wlogout/icons/reboot.png"));
|
||||
}
|
||||
|
|
@ -16,6 +16,6 @@ vsync = true
|
|||
wsl = false
|
||||
|
||||
[font]
|
||||
normal = ["CaskaydiaCove Nerd Font"] # Will use the bundled Fira Code Nerd Font by default
|
||||
normal = ["CaskaydiaCove Nerd Font", "霞鹜文楷等宽"] # Will use the bundled Fira Code Nerd Font by default
|
||||
size = 14.0
|
||||
|
||||
|
|
|
|||
10
platforms/mac/sketchybar/plugins/aerospace.sh
Executable file
10
platforms/mac/sketchybar/plugins/aerospace.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# make sure it's executable with:
|
||||
# chmod +x ~/.config/sketchybar/plugins/aerospace.sh
|
||||
|
||||
if [ "$1" = "$FOCUSED_WORKSPACE" ]; then
|
||||
sketchybar --set $NAME background.drawing=on
|
||||
else
|
||||
sketchybar --set $NAME background.drawing=off
|
||||
fi
|
||||
|
|
@ -100,3 +100,19 @@ sketchybar --set music \
|
|||
|
||||
##### Force all scripts to run the first time (never do this in a script) #####
|
||||
sketchybar --update
|
||||
|
||||
|
||||
sketchybar --add event aerospace_workspace_change
|
||||
|
||||
for sid in $(aerospace list-workspaces --all); do
|
||||
sketchybar --add item space.$sid left \
|
||||
--subscribe space.$sid aerospace_workspace_change \
|
||||
--set space.$sid \
|
||||
background.color=0x44ffffff \
|
||||
background.corner_radius=5 \
|
||||
background.height=20 \
|
||||
background.drawing=off \
|
||||
label="$sid" \
|
||||
click_script="aerospace workspace $sid" \
|
||||
script="$CONFIG_DIR/plugins/aerospace.sh $sid"
|
||||
done
|
||||
|
|
|
|||
|
|
@ -32,44 +32,44 @@
|
|||
# # minimize window
|
||||
# alt - m : yabai -m window --minimize
|
||||
|
||||
# # float / unfloat window and center on screen
|
||||
# alt - f : yabai -m window --toggle float
|
||||
# float / unfloat window and center on screen
|
||||
ctrl - f : yabai -m window --toggle float
|
||||
|
||||
# # toggle window native fullscreen
|
||||
# shift + alt - f : yabai -m window --toggle native-fullscreen
|
||||
# toggle window native fullscreen
|
||||
shift + ctrl - f : yabai -m window --toggle native-fullscreen
|
||||
|
||||
# # send window to a space
|
||||
# shift + ctrl - 1 : yabai -m window --space 1
|
||||
# shift + ctrl - 2 : yabai -m window --space 2
|
||||
# shift + ctrl - 3 : yabai -m window --space 3
|
||||
# shift + ctrl - 4 : yabai -m window --space 4
|
||||
# shift + ctrl - 5 : yabai -m window --space 5
|
||||
# shift + ctrl - 6 : yabai -m window --space 6
|
||||
# shift + ctrl - 7 : yabai -m window --space 7
|
||||
# shift + ctrl - 8 : yabai -m window --space 8
|
||||
# shift + ctrl - 9 : yabai -m window --space 9
|
||||
# shift + ctrl - 0 : yabai -m window --space 10
|
||||
# send window to a space
|
||||
shift + ctrl - 1 : yabai -m window --space 1
|
||||
shift + ctrl - 2 : yabai -m window --space 2
|
||||
shift + ctrl - 3 : yabai -m window --space 3
|
||||
shift + ctrl - 4 : yabai -m window --space 4
|
||||
shift + ctrl - 5 : yabai -m window --space 5
|
||||
shift + ctrl - 6 : yabai -m window --space 6
|
||||
shift + ctrl - 7 : yabai -m window --space 7
|
||||
shift + ctrl - 8 : yabai -m window --space 8
|
||||
shift + ctrl - 9 : yabai -m window --space 9
|
||||
shift + ctrl - 0 : yabai -m window --space 10
|
||||
|
||||
# open terminal
|
||||
ctrl - r : open -n -a "Kitty"
|
||||
|
||||
# moves focus between windows in the current focused display
|
||||
alt - h : yabai -m window --focus west
|
||||
alt - n : yabai -m window --focus south
|
||||
alt - e : yabai -m window --focus north
|
||||
alt - i : yabai -m window --focus east
|
||||
ctrl - h : yabai -m window --focus west
|
||||
ctrl - n : yabai -m window --focus south
|
||||
ctrl - e : yabai -m window --focus north
|
||||
ctrl - i : yabai -m window --focus east
|
||||
|
||||
# moves focus between spaces
|
||||
alt - 1 : yabai -m space --focus 1
|
||||
alt - 2 : yabai -m space --focus 2
|
||||
alt - 3 : yabai -m space --focus 3
|
||||
alt - 4 : yabai -m space --focus 4
|
||||
alt - 5 : yabai -m space --focus 5
|
||||
alt - 6 : yabai -m space --focus 6
|
||||
alt - 7 : yabai -m space --focus 7
|
||||
alt - 8 : yabai -m space --focus 8
|
||||
alt - 9 : yabai -m space --focus 9
|
||||
alt - 0 : yabai -m space --focus 10
|
||||
ctrl - 1 : yabai -m space --focus 1
|
||||
ctrl - 2 : yabai -m space --focus 2
|
||||
ctrl - 3 : yabai -m space --focus 3
|
||||
ctrl - 4 : yabai -m space --focus 4
|
||||
ctrl - 5 : yabai -m space --focus 5
|
||||
ctrl - 6 : yabai -m space --focus 6
|
||||
ctrl - 7 : yabai -m space --focus 7
|
||||
ctrl - 8 : yabai -m space --focus 8
|
||||
ctrl - 9 : yabai -m space --focus 9
|
||||
ctrl - 0 : yabai -m space --focus 10
|
||||
|
||||
# delete focused space
|
||||
alt - q : yabai -m space --destroy
|
||||
|
|
|
|||
|
|
@ -60,4 +60,11 @@ ${function:winr} = { winget uninstall $args }
|
|||
${function:wins} = { winget search $args }
|
||||
${function:winu} = { winget upgrade $args }
|
||||
|
||||
${function:pkill} = { ps *$args* | kill -Force }
|
||||
${function:pkill} = { Get-Process *$args* | Stop-Process -Force }
|
||||
|
||||
|
||||
${function:tmux} = { wsl.exe tmux $args }
|
||||
|
||||
if (Get-Command "sfsu.exe" -ErrorAction SilentlyContinue) {
|
||||
Invoke-Expression (&sfsu.exe hook)
|
||||
}
|
||||
|
|
|
|||
BIN
platforms/win/ahk/bin/Caps.exe
Normal file
BIN
platforms/win/ahk/bin/Caps.exe
Normal file
Binary file not shown.
BIN
platforms/win/ahk/bin/colemak.exe
Normal file
BIN
platforms/win/ahk/bin/colemak.exe
Normal file
Binary file not shown.
|
|
@ -21,7 +21,7 @@ general:
|
|||
config_reload_commands: []
|
||||
|
||||
# Whether to automatically focus windows underneath the cursor.
|
||||
focus_follows_cursor: true
|
||||
focus_follows_cursor: false
|
||||
|
||||
# Whether to switch back and forth between the previously focused
|
||||
# workspace when focusing the current workspace.
|
||||
|
|
@ -89,7 +89,7 @@ window_effects:
|
|||
enabled: false
|
||||
color: "#a1a1a1"
|
||||
hide_title_bar:
|
||||
enabled: true
|
||||
enabled: false
|
||||
corner_style:
|
||||
enabled: false
|
||||
style: "square"
|
||||
|
|
|
|||
|
|
@ -19,9 +19,12 @@ api.unmap('<ctrl-i>');
|
|||
|
||||
*/
|
||||
// #endregion
|
||||
// Settings
|
||||
|
||||
// #region Settings
|
||||
settings.language = "zh-CN";
|
||||
settings.showModeStatus = false;
|
||||
// #endregion
|
||||
|
||||
// #region Helper
|
||||
const {
|
||||
aceVimMap,
|
||||
|
|
@ -168,6 +171,17 @@ const _addSearchAlias = function (
|
|||
parseResponse,
|
||||
);
|
||||
};
|
||||
|
||||
var q = (selector) => document.querySelector(selector);
|
||||
var qs = (selector) => document.querySelectorAll(selector);
|
||||
|
||||
var mapkeyFeed = function (key, desc, target, options) {
|
||||
mapkey(key, desc, function () {
|
||||
api.Normal.feedkeys(target)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region Keymap
|
||||
|
|
@ -240,6 +254,17 @@ forwardFactory.pull(mapLists);
|
|||
vForwardFactory.pull(vMapLists);
|
||||
// #endregion
|
||||
|
||||
// #region Omnibar
|
||||
// api.cmap("<Ctrl-a>", "<Ctrl-ArrowUp>");
|
||||
// api.cmap("<Ctrl-e>", "<Ctrl-ArrowDown>");
|
||||
// api.cmap("<Ctrl-f>", "<ArrowRight>");
|
||||
// api.cmap("<Ctrl-b>", "<ArrowLeft>");
|
||||
// api.cmap("<Alt-f>", "<Ctrl-ArrowRight>");
|
||||
// api.cmap("<Alt-b>", "<Ctrl-ArrowLeft>");
|
||||
// api.cmap("<Ctrl-h>", "<Backspace>");
|
||||
// api.cmap("<Ctrl-d>", "<Delete>");
|
||||
// #endregion
|
||||
|
||||
// #region Search Alias
|
||||
removeSearchAlias("s"); // StackOverflow
|
||||
removeSearchAlias("d"); // DuckDuckGo
|
||||
|
|
@ -324,41 +349,182 @@ _addSearchAlias("bl", "Bilibili", "https://search.bilibili.com/all?keyword=");
|
|||
// #endregion
|
||||
|
||||
// #region Site-specific
|
||||
// chatgpt.com
|
||||
|
||||
// #region chatgpt.com
|
||||
const chatgptNewChat = function () {
|
||||
var btn = document.querySelector(
|
||||
var btn = q(
|
||||
"div.no-draggable:nth-child(3) > span:nth-child(1) > button:nth-child(1)",
|
||||
);
|
||||
btn.click();
|
||||
};
|
||||
const chatgptStartStop = function () {
|
||||
var btn = document.querySelector("button.h-8:nth-child(2)");
|
||||
var btn = q("button.h-8:nth-child(2)");
|
||||
btn.click();
|
||||
};
|
||||
api.unmap("t", /chatgpt.com/);
|
||||
api.mapkey("tn", "New Chat", chatgptNewChat, { domain: /chatgpt.com/ });
|
||||
api.mapkey("ts", "Start/Stop Generating", chatgptStartStop, {
|
||||
domain: /chatgpt.com/,
|
||||
});
|
||||
api.mapkey("S", "Start/Stop Generating", chatgptStartStop, {
|
||||
domain: /chatgpt.com/,
|
||||
});
|
||||
api.mapkey("an", "New Chat", chatgptNewChat, { domain: /chatgpt.com/ });
|
||||
api.mapkey("as", "Start/Stop Generating", chatgptStartStop, {
|
||||
mapkey(",n", "New Chat", chatgptNewChat, { domain: /chatgpt.com/ });
|
||||
mapkey(",s", "Start/Stop Generating", chatgptStartStop, {
|
||||
domain: /chatgpt.com/,
|
||||
});
|
||||
// #endregion
|
||||
|
||||
//api.mapkey('tm', 'Toggle Model', function () {
|
||||
// var btn = document.querySelector('#radix -\: r2i\:');
|
||||
// btn.click();
|
||||
//}, { domain: /chatgpt.com/ });
|
||||
// perplexity.ai
|
||||
api.unmap("<Ctrl-i>", /perplexity.ai/); // allows to use perplexity web keybindings
|
||||
api.mapkey("aB", "Add Perplexity Bookmark", function () {
|
||||
// #region chat.deepseek.com
|
||||
mapkey(",s", "Toggle Sidebar", function () {
|
||||
var btn = qs("div.ds-icon-button");
|
||||
btn[0].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",e", "Edit last input", function () {
|
||||
var btn = qs("div.ds-icon-button");
|
||||
btn[btn.length - 5].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",y", "Yank last oupput", function () {
|
||||
var btn = qs("div.ds-icon-button");
|
||||
btn[btn.length - 4].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",r", "Regenerate last output", function () {
|
||||
var btn = qs("div.ds-icon-button");
|
||||
btn[btn.length - 3].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",n", "New Chat", function () {
|
||||
window.location.href = 'https://chat.deepseek.com/';
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",t", "Toggle Thinking (R1)", function () {
|
||||
var btns = qs("div.ds-button");
|
||||
btns[0].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
mapkey(",w", "Toggle Web Search", function () {
|
||||
var btns = qs("div.ds-button");
|
||||
btns[1].click();
|
||||
}, { domain: /chat.deepseek.com/ });
|
||||
// #endregion
|
||||
|
||||
// #region app.follow.is
|
||||
mapkey(",t", "Toggle ", function () {
|
||||
var btn = qs("button.no-drag-region")
|
||||
btn[btn.length - 4].click();
|
||||
}, { domain: /app.follow.is/ });
|
||||
|
||||
mapkey(",a", "Toggle AI Summary", function () {
|
||||
var btn = qs("button.no-drag-region")
|
||||
btn[btn.length - 3].click();
|
||||
}, { domain: /app.follow.is/ });
|
||||
|
||||
mapkey(",o", "Toggle Original Website", function () {
|
||||
var btn = qs("button.no-drag-region")
|
||||
btn[btn.length - 4].click();
|
||||
}, { domain: /app.follow.is/ });
|
||||
// #endregion
|
||||
|
||||
// #region GitHub
|
||||
// utils
|
||||
const gh = {}
|
||||
gh.repoLink = (owner, repo) => `https://github.com/${owner}/${repo}`;
|
||||
gh.pageLink = (owner, repo) => `https://${owner}.github.io/${repo}/`;
|
||||
gh.sourceLink = (owner, repo, path) => `${gh.repoLink(owner, repo)}/tree/${path}`;
|
||||
gh.rawToSource = (url) => {
|
||||
const ps = url.split('/').slice(3)
|
||||
return gh.sourceLink(ps[0], ps[1], ps.slice(4).join('/'));
|
||||
}
|
||||
// github.com
|
||||
mapkey(",e", "Use Web Editor", function () {
|
||||
const url = new URL(window.location.href);
|
||||
url.hostname = "github.dev";
|
||||
window.location.href = url.href;
|
||||
}, { domain: /github.com/ });
|
||||
mapkey(",E", "Use Web Editor (New Page)", function () {
|
||||
const url = new URL(window.location.href);
|
||||
url.hostname = "github.dev";
|
||||
tabOpenLink(url.href);
|
||||
}, { domain: /github.com/ });
|
||||
mapkey(",p", "Switch to GitHub Page", function () {
|
||||
href = window.location.href;
|
||||
owner = href.split("/")[3];
|
||||
repo = href.split("/")[4];
|
||||
window.location.href = gh.pageLink(owner, repo);
|
||||
}, { domain: /github.com/ });
|
||||
// github.dev
|
||||
mapkey(",r", "Switch to GitHub Repo", function () {
|
||||
const url = new URL(window.location.href);
|
||||
url.hostname = "github.com";
|
||||
window.location.href = url.href;
|
||||
}, { domain: /github.dev/ });
|
||||
// github.io
|
||||
mapkey(",r", "Switch to GitHub Repo", function () {
|
||||
const href = window.location.href;
|
||||
owner = href.split("/")[2].split(".")[0];
|
||||
repo = href.split("/")[3];
|
||||
tabOpenLink(gh.repoLink(owner, repo));
|
||||
}, { domain: /github.io/ });
|
||||
mapkey(",R", "Go to GitHub Repo (New tab)", function () {
|
||||
const href = window.location.href;
|
||||
owner = href.split("/")[2].split(".")[0];
|
||||
repo = href.split("/")[3];
|
||||
tabOpenLink(gh.repoLink(owner, repo));
|
||||
}, { domain: /github.io/ });
|
||||
// raw.githubusercontent.com
|
||||
mapkey(",r", "Switch to GitHub Repo", function () {
|
||||
const url = new URL(window.location.href);
|
||||
var owner, repo;
|
||||
owner, repo = url.pathname.split('/').slice(1, 3)
|
||||
window.location.href = gh.repoLink(owner, repo);
|
||||
}, { domain: /raw.githubusercontent.com/ });
|
||||
mapkey(",R", "Switch to GitHub Repo", function () {
|
||||
const url = new URL(window.location.href);
|
||||
var owner, repo;
|
||||
owner, repo = url.pathname.split('/').slice(1, 3)
|
||||
tabOpenLink(gh.repoLink(owner, repo));
|
||||
}, { domain: /raw.githubusercontent.com/ });
|
||||
mapkey(",s", "Open Source in GitHub", function () {
|
||||
window.location.href = gh.rawToSource(window.location.href);
|
||||
}, { domain: /raw.githubusercontent.com/ });
|
||||
mapkey(",S", "Open Source in GitHub (New Page)", function () {
|
||||
tabOpenLink(gh.rawToSource(window.location.href));
|
||||
}, { domain: /raw.githubusercontent.com/ });
|
||||
|
||||
|
||||
|
||||
// #endregion GitHub
|
||||
|
||||
// #region perplexity.ai
|
||||
/**
|
||||
* 0 - 网络
|
||||
* 1 - 学术
|
||||
* 2 - 数学
|
||||
* 3 - 写作
|
||||
* 4 - 视频
|
||||
* 5 - 社交
|
||||
*/
|
||||
const perplexityFocusOn = function (n) {
|
||||
qs("span.grow button")[0].click()
|
||||
setTimeout(() => { // Wait for the DOM to update
|
||||
qs("div.shadow-subtle div.group\\/item")[n].click();
|
||||
}, 100);
|
||||
}
|
||||
unmap("<Ctrl-i>", /perplexity.ai/); // allows to use perplexity web keybindings
|
||||
mapkey(",b", "Add Perplexity Bookmark", function () {
|
||||
// button.border:nth-child(2)
|
||||
var btn = document.querySelector("button.border:nth-child(2)");
|
||||
var btn = q("button.border:nth-child(2)");
|
||||
btn.click();
|
||||
});
|
||||
}, { domain: /perplexity.ai/ });
|
||||
mapkey(",w", "Toggle Writing/Web Search", function () {
|
||||
perplexityFocusOn(3);
|
||||
}, { domain: /perplexity.ai/ });
|
||||
mapkey(",s", "Start Generating", function () {
|
||||
var btns = qs("span.grow button")
|
||||
btns[btns.length - 1].click();
|
||||
}, { domain: /perplexity.ai/ });
|
||||
mapkey(",y", "Yank Last Output", function () {
|
||||
var toolbars = qs("div.mt-sm")
|
||||
var last = toolbars[toolbars.length - 1]
|
||||
var btns = last.querySelectorAll("button")
|
||||
btns[4].click();
|
||||
}, { domain: /perplexity.ai/ });
|
||||
mapkey(",r", "Change model to regenerate last output", function () {
|
||||
var toolbars = qs("div.mt-sm")
|
||||
var last = toolbars[toolbars.length - 1]
|
||||
var btns = last.querySelectorAll("button")
|
||||
btns[1].click();
|
||||
}, { domain: /perplexity.ai/ });
|
||||
// #endregion
|
||||
|
||||
// #endregion
|
||||
|
||||
|
|
@ -476,4 +642,5 @@ addVimMapKey(
|
|||
// #endregion
|
||||
|
||||
// #region Hints
|
||||
api.Hints.setCharacters('qwfpgarstdcv')
|
||||
// #endregion
|
||||
|
|
|
|||
1
tools/fish/.gitignore
vendored
1
tools/fish/.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
|||
fish_variables
|
||||
completions
|
||||
themes/
|
||||
|
|
|
|||
1
tools/fish/conf.d/colorscheme.fish
Normal file
1
tools/fish/conf.d/colorscheme.fish
Normal file
|
|
@ -0,0 +1 @@
|
|||
fish_config theme choose "Catppuccin Mocha"
|
||||
|
|
@ -8,6 +8,6 @@
|
|||
# ln -sf $DOTFILES/tools/fish ~/.config/fish
|
||||
|
||||
if command -v starship > /dev/null
|
||||
set -gx STARSHIP_CONFIG "~/.dotfiles/tools/starship/starship_fish.toml"
|
||||
starship init fish | source
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -10,3 +10,4 @@ require("config.options")
|
|||
require("config.plugins")
|
||||
require("config.colorscheme")
|
||||
require("config.keymaps")
|
||||
require("config.diagnostics")
|
||||
|
|
|
|||
|
|
@ -1,47 +1,54 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||
"LuaSnip": { "branch": "master", "commit": "2592b91577136dbb355a4708be1e60619456b7f6" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
|
||||
"betterTerm.nvim": { "branch": "main", "commit": "6f03af3a1ed4d054ecbcb0aa8266ddaf610aa657" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76" },
|
||||
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"code_runner.nvim": { "branch": "main", "commit": "65218f8f646fe61e506090522df357539642ae83" },
|
||||
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" },
|
||||
"copilot.vim": { "branch": "release", "commit": "87038123804796ca7af20d1b71c3428d858a9124" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "76d88f3b584e1f83b2aa51663a32cc6ee8d97eff" },
|
||||
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "9541f5e8e24571723cb02a5c2bf078aeacc5a711" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "635e69adf3a714621bd0a289314bc23c5848babb" },
|
||||
"hover.nvim": { "branch": "main", "commit": "140c4d0ae9397b76baa46b87c574f5377de09309" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "988082eb00b845e4afbcaa4fd8e903da8a3ab3b9" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "d8f26efd456190241afd1b0f5235fe6fdba13d4a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "77a0d42943d8265271e6e6beaed72da54eeb17e7" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||
"luasnip-latex-snippets.nvim": { "branch": "main", "commit": "cab134611eb755abe9ba95f5d86969f5cece448d" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e942edf5c85b6a2ab74059ea566cac5b3e1514a4" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "8c82d0bd31299dbff7f8e780f5e06d2283de9678" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "339ccc81e08793c3af9b83882a6ebd90c9cc0d3b" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "d529a99f88e0dff02e0aa275db2f595cd252a2c8" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "f0c928dbe93533b7e35894a8f957f40150d1f663" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "ca4d3330d386e76967e53b85953c170658255ecb" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "7b0a2f6b14485bb5a237fc1328a487ff3e4a08c5" },
|
||||
"nvim-surround": { "branch": "main", "commit": "ae298105122c87bbe0a36b1ad20b06d417c0433e" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "c7639482a1598f4756798df1b2d72f79fe5bb34f" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "454354e5998edb448111574e58d5f5f2d6a940bd" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "d0dd7ce5a9d0be1f28086e818e52fdc5c78975df" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "aafa5c187a15701a7299a392b907ec15d9a7075f" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "203da76ecfbb4b192cf830665b03eb651b635c94" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||
"onedarkpro.nvim": { "branch": "main", "commit": "0feb5f55dd777352f2dddd7478dd13d050864ee3" },
|
||||
"orgmode": { "branch": "master", "commit": "4e4a14a7dd613953eddacbc0f0ff1583817d7de1" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "f0eb5893556200e9f945c0f0ea3c83bbd20dd963" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "415af52339215926d705cccc08145f3782c4d132" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "634acd5da964c32f6947cd0c7802d7a116662665" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "50481f414bd3c1a40122c1d759d7e424d5fafe84" },
|
||||
"vim-floaterm": { "branch": "master", "commit": "4e28c8dd0271e10a5f55142fb6fe9b1599ee6160" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" },
|
||||
"vim-just": { "branch": "main", "commit": "ed67f198e981f555c0f9e9ed5b69b4b06543a9e1" },
|
||||
"vim-visual-multi-colemak-hnei": { "branch": "master", "commit": "2cc37d77590d6569d991ebd8d96ab5867eb5a47a" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "cf51327a9e08935569614d1cb24e779ee9f45519" },
|
||||
"vimtex": { "branch": "master", "commit": "c8412f444bfaf447981242d685c40e45b1c96b82" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "1f8d414f61e0b05958c342df9b6a4c89ce268766" },
|
||||
"vimtex": { "branch": "master", "commit": "a707d39e77cb27a6d02922f269875d1727860dcf" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "9b365a6428a9633e3eeb34dbef1b791511c54f70" },
|
||||
"winbar.nvim": { "branch": "main", "commit": "13739fdb31be51a1000486189662596f07a59a31" },
|
||||
"yanky.nvim": { "branch": "main", "commit": "f9b905994cccf3c55f41af3a0a1f4c76c844e411" }
|
||||
}
|
||||
|
|
|
|||
16
tools/nvim/lua/config/colors.lua
Normal file
16
tools/nvim/lua/config/colors.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local colors = {
|
||||
bg = "#202328",
|
||||
fg = "#bbc2cf",
|
||||
yellow = "#ECBE7B",
|
||||
cyan = "#008080",
|
||||
darkblue = "#081633",
|
||||
green = "#98be65",
|
||||
orange = "#FF8800",
|
||||
violet = "#a9a1e1",
|
||||
magenta = "#c678dd",
|
||||
purple = "#c678dd",
|
||||
blue = "#51afef",
|
||||
red = "#ec5f67",
|
||||
}
|
||||
|
||||
return colors
|
||||
|
|
@ -1 +1 @@
|
|||
vim.cmd.colorscheme("kanagawa")
|
||||
vim.cmd.colorscheme("catppuccin-mocha")
|
||||
|
|
|
|||
6
tools/nvim/lua/config/diagnostics.lua
Normal file
6
tools/nvim/lua/config/diagnostics.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
local signs = require("config.icons").diagnostics
|
||||
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
end
|
||||
19
tools/nvim/lua/config/icons.lua
Normal file
19
tools/nvim/lua/config/icons.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
local M = {
|
||||
diagnostics = {
|
||||
Error = "",
|
||||
Warning = "",
|
||||
Hint = "",
|
||||
Information = "",
|
||||
},
|
||||
lsp = "",
|
||||
indent = "",
|
||||
git = {
|
||||
Change = "",
|
||||
Add = "",
|
||||
Delete = "",
|
||||
Rename = "",
|
||||
Branch = "",
|
||||
},
|
||||
}
|
||||
|
||||
return M
|
||||
|
|
@ -3,15 +3,30 @@
|
|||
--- for available server and name
|
||||
local M = {}
|
||||
M.servers = {
|
||||
"ast_grep",
|
||||
"bashls", -- Bash
|
||||
"clangd", -- C/C++
|
||||
"cssls", -- CSS
|
||||
"denols", -- Deno
|
||||
-- "cmake", -- CMake
|
||||
"eslint", -- JavaScript
|
||||
"gopls", -- Go
|
||||
"hls", -- Haskell
|
||||
"html", -- HTML
|
||||
"jsonls", -- JSON
|
||||
"lua_ls", -- Lua
|
||||
"markdown_oxide", -- Markdown
|
||||
"omnisharp", -- C# & F#
|
||||
"powershell_es", -- PowerShell
|
||||
"pyright", -- Python
|
||||
"rust_analyzer", -- Rust
|
||||
"svelte", -- Svelte
|
||||
"svlangserver", -- SystemVerilog
|
||||
"tailwindcss", -- TailwindCSS
|
||||
"taplo", -- TOML
|
||||
"ts_ls", -- TypeScript
|
||||
"vimls", -- vimscript
|
||||
"yamlls", -- YAML
|
||||
}
|
||||
|
||||
M.server_config = {
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak
|
|||
{ mode = mode_arrow, keys = "i", cmd = "l", opts = { desc = "Right", silent = true } },
|
||||
{ keys = "H", cmd = ":bprevious<CR>", opts = { desc = "Previous Buffer" } },
|
||||
{ keys = "I", cmd = ":bnext<CR>", opts = { desc = "Next Buffer" } },
|
||||
{ keys = "N", cmd = "5k", opts = { desc = "Up 5 Lines" } },
|
||||
{ keys = "E", cmd = "5j", opts = { desc = "Down 5 Lines" } },
|
||||
{ keys = "N", cmd = "5j", opts = { desc = "Up 5 Lines" } },
|
||||
{ keys = "E", cmd = "5e", opts = { desc = "Down 5 Lines" } },
|
||||
{ keys = "Y", cmd = "y$", opts = { desc = "Yank to End of Line" } },
|
||||
{ keys = "E", cmd = "5k" },
|
||||
-- Text object implementation
|
||||
|
|
|
|||
|
|
@ -44,5 +44,6 @@ end
|
|||
|
||||
-- which-key.nvim
|
||||
require("keymaps.which")
|
||||
require("keymaps.visual-multi")
|
||||
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -51,13 +51,32 @@ local leader_mappings = {
|
|||
{ keys = "n", cmd = "<C-w>j", opts = { desc = "Down Window" } },
|
||||
{ keys = "e", cmd = "<C-w>k", opts = { desc = "Up Window" } },
|
||||
{ keys = "i", cmd = "<C-w>l", opts = { desc = "Right Window" } },
|
||||
{ keys = "F", cmd = ":NvimTreeFindFileToggle<CR>", opts = { desc = "Toggle File Explorer" } },
|
||||
{ keys = "<Tab>", cmd = "<Cmd>b#<CR>", opts = { desc = "Switch to last buffer" } },
|
||||
{ keys = "!", cmd = ":FloatermToggle<CR>", opts = { desc = "" } },
|
||||
{ keys = "!", cmd = ":FloatermToggle<CR>", opts = { desc = "Toggle Terminal" } },
|
||||
{ keys = '"', cmd = ":!wezterm-gui &<CR>", pots = { desc = "Open External Terminal(wezterm)" } },
|
||||
{ keys = ";", cmd = ":Telescope<CR>", pots = { desc = "Show Telescope Commands" } },
|
||||
},
|
||||
b = { -- +buffer
|
||||
{ keys = "0", cmd = "<Cmd>b#<CR>", opts = { desc = "Switch to last buffer" } },
|
||||
{ keys = "1", cmd = ":BufferLineGotoBuffer 1<CR>", opts = { desc = "Switch to Buffer #1" } },
|
||||
{ keys = "2", cmd = ":BufferLineGotoBuffer 2<CR>", opts = { desc = "Switch to Buffer #2" } },
|
||||
{ keys = "3", cmd = ":BufferLineGotoBuffer 3<CR>", opts = { desc = "Switch to Buffer #3" } },
|
||||
{ keys = "4", cmd = ":BufferLineGotoBuffer 4<CR>", opts = { desc = "Switch to Buffer #4" } },
|
||||
{ keys = "5", cmd = ":BufferLineGotoBuffer 5<CR>", opts = { desc = "Switch to Buffer #5" } },
|
||||
{ keys = "6", cmd = ":BufferLineGotoBuffer 6<CR>", opts = { desc = "Switch to Buffer #6" } },
|
||||
{ keys = "7", cmd = ":BufferLineGotoBuffer 7<CR>", opts = { desc = "Switch to Buffer #7" } },
|
||||
{ keys = "8", cmd = ":BufferLineGotoBuffer 8<CR>", opts = { desc = "Switch to Buffer #8" } },
|
||||
{ keys = "9", cmd = ":BufferLineGotoBuffer 9<CR>", opts = { desc = "Switch to Buffer #9" } },
|
||||
{ keys = "a", cmd = ":Alpha<CR>", opts = { desc = "Dashboard" } },
|
||||
{ keys = "b", cmd = ":Telescope buffers<CR>", opts = { desc = "List Buffers" } },
|
||||
{ keys = "b", cmd = ":BufferLinePick<CR>", opts = { desc = "Quick Switch Buffers" } },
|
||||
{ keys = "B", cmd = ":Telescope buffers<CR>", opts = { desc = "List Buffers" } },
|
||||
{ keys = "d", cmd = ":bdelete<CR>", opts = { desc = "Delete Buffer" } },
|
||||
{ keys = "D", cmd = ":BufferLineCloseOthers<CR>", opts = { desc = "Delete Other Buffers" } },
|
||||
{ keys = "xx", cmd = ":BufferLineCloseOthers<CR>", opts = { desc = "Delete Other Buffers" } },
|
||||
{ keys = "xh", cmd = ":BufferLineCloseLeft<CR>", opts = { desc = "Delete Buffers Left" } },
|
||||
{ keys = "xi", cmd = ":BufferLineCloseRight<CR>", opts = { desc = "Delete Buffers Right" } },
|
||||
{ keys = "X", cmd = ":BufferLineCloseOthers<CR>", opts = { desc = "Delete Other Buffers" } },
|
||||
{ keys = "h", cmd = ":bprevious<CR>", opts = { desc = "Previous Buffer" } },
|
||||
{ keys = "i", cmd = ":bnext<CR>", opts = { desc = "Next Buffer" } },
|
||||
{ keys = "H", cmd = ":bfirst<CR>", opts = { desc = "First Buffer" } },
|
||||
|
|
@ -65,7 +84,9 @@ local leader_mappings = {
|
|||
{ keys = "0", cmd = ":bfirst<CR>", opts = { desc = "First Buffer" } },
|
||||
{ keys = "^", cmd = ":bfirst<CR>", opts = { desc = "First Buffer" } },
|
||||
{ keys = "$", cmd = ":blast<CR>", opts = { desc = "Last Buffer" } },
|
||||
-- { keys = "s", cmd = ":Telescope buffers<CR>", opts = { desc = "Search buffers" } },
|
||||
{ keys = "s", cmd = ":new<CR>", opts = { desc = "Scratch buffers" } },
|
||||
{ keys = "t", cmd = ":BufferLineTogglePin<CR>", opts = { desc = "Pin Buffer" } },
|
||||
{ keys = "y", cmd = ":%y+<CR>", opts = { desc = "Copy Buffer to Clipboard" } },
|
||||
},
|
||||
c = { -- +code/compile
|
||||
{ keys = "r", cmd = ":RunCode<CR>", opts = { desc = "Run code" } },
|
||||
|
|
@ -76,15 +97,44 @@ local leader_mappings = {
|
|||
},
|
||||
f = { -- +file/find
|
||||
{ keys = "f", cmd = ":Telescope fd<CR>", opts = { desc = "Find Files" } },
|
||||
{ keys = "s", cmd = ":Telescope live_grep<CR>", opts = { desc = "Grep Files" } },
|
||||
{ keys = "F", cmd = ":GrugFar<CR>", opts = { desc = "Search & Replace" } },
|
||||
{ keys = "l", cmd = ":set filetype=", opts = { desc = "Set Filetype to ..." } },
|
||||
{ keys = "n", cmd = ":new<CR>", opts = { desc = "New File" } },
|
||||
{ keys = "s", cmd = ":write<CR>", opts = { desc = "Save File" } },
|
||||
{ keys = "S", cmd = ":wall<CR>", opts = { desc = "Save All Files" } },
|
||||
{ keys = "b", cmd = ":Telescope buffers<CR>", opts = { desc = "List Buffers" } },
|
||||
{ keys = "e", cmd = ":NvimTreeToggle<CR>", opts = { desc = "Toggle File Explorer" } },
|
||||
{ keys = "t", cmd = ":FloatermToggle<CR>", opts = { desc = "toggle visibility of the float terminal" } },
|
||||
{ keys = "D", cmd = "!trash-rm %<CR>", opts = { desc = "Delete current file" } },
|
||||
{ keys = "t", cmd = ":NvimTreeFindFileToggle<CR>", opts = { desc = "Toggle File Tree" } },
|
||||
{ keys = "T", cmd = ":FloatermNew<CR>", opts = { desc = "Spawn a float terminal" } },
|
||||
{ keys = "h", cmd = ":Telescope oldfiles<CR>", opts = { desc = "Search history files" } },
|
||||
{ keys = "c", cmd = ":Telescope find_files cwd=~/.config/nvim<CR>", opts = { desc = "Search Config" } },
|
||||
{ keys = "o", cmd = ":!open %", opts = { desc = "Open file in default program" } },
|
||||
{ keys = "o", cmd = ":!open %<CR>", opts = { desc = "Open file in default program" } },
|
||||
{ keys = "R", cmd = renameCurrentBuffer, opts = { desc = "Rename current file" } },
|
||||
{ keys = "x", cmd = ":Lazy<CR>", opts = { desc = "Open extension view" } },
|
||||
{ keys = "yy", cmd = ":let @+ = expand('%:p')<CR>", opts = { desc = "Copy file path" } },
|
||||
{ keys = "yY", cmd = ":let @+ = expand('%')<CR>", opts = { desc = "Copy relative file path" } },
|
||||
{ keys = "yn", cmd = ":let @+ = expand('%:t')<CR>", opts = { desc = "Copy file name" } },
|
||||
{ keys = "yN", cmd = ":let @+ = expand('%:t:r')<CR>", opts = { desc = "Copy file name without extension" } },
|
||||
{ keys = "yd", cmd = ":let @+ = expand('%:p:h')<CR>", opts = { desc = "Copy directory path" } },
|
||||
{
|
||||
keys = "yl",
|
||||
cmd = ":let @+ = expand('%:p') . ':' . line('.')<CR>",
|
||||
opts = { desc = "Copy file path with line number" },
|
||||
},
|
||||
{
|
||||
keys = "yL",
|
||||
cmd = ":let @+ = expand('%') . ':' . line('.')<CR>",
|
||||
opts = { desc = "Copy relative file path with line number" },
|
||||
},
|
||||
},
|
||||
g = { -- +git/version control
|
||||
{ keys = "g", cmd = ":LazyGit<CR>", opts = { desc = "Toggle LazyGit" } },
|
||||
{ keys = "c", cmd = ":Telescope git_commits<CR>", opts = { desc = "Show commits" } },
|
||||
{ keys = "b", cmd = ":Gitsigns blame<CR>", opts = { desc = "Blame file" } },
|
||||
{ keys = "d", cmd = ":Gitsigns diffthis<CR>", opts = { desc = "Diff file" } },
|
||||
{ keys = "B", cmd = ":Gitsigns toggle_current_line_blame<CR>", opts = { desc = "Toggle line blame" } },
|
||||
{ keys = "s", cmd = ":Telescope git_status<CR>", opts = { desc = "Git Status" } },
|
||||
{ keys = "t", cmd = ":Telescope git_branches<CR>", opts = { desc = "Git Branches" } },
|
||||
},
|
||||
p = { -- +project
|
||||
{ keys = "p", cmd = ":Telescope projects<CR>", opts = { desc = "List all Projects" } },
|
||||
|
|
@ -97,30 +147,35 @@ local leader_mappings = {
|
|||
{ keys = "w", cmd = ":wq<CR>", opts = { desc = "Write and Quit" } },
|
||||
{ keys = "W", cmd = ":wall<CR>:qa!<CR>", opts = { desc = "Write all and Force Quit" } },
|
||||
},
|
||||
t = { -- +toggle
|
||||
t = { -- +toggle/test
|
||||
{ keys = "f", cmd = ":NvimTreeToggle", opts = { desc = "Toggle File Explorer" } },
|
||||
{ keys = "F", cmd = ":FormatToggle<CR>", opts = { desc = "Toggle autoformat-on-save" } },
|
||||
{ keys = "t", cmd = ":FloatermToggle<CR>", opts = { desc = "toggle visibility of the float terminal" } },
|
||||
},
|
||||
u = { -- +ui
|
||||
{ keys = "i", cmd = ":Telescope colorscheme<CR>", opts = { desc = "Change colorscheme" } },
|
||||
{ keys = " ", cmd = ":set list!", opts = { desc = "Toggle show all symbols" } },
|
||||
},
|
||||
w = { -- +window
|
||||
{ keys = "h", cmd = "<C-w>h", opts = { desc = "Left Window" } },
|
||||
{ keys = "n", cmd = "<C-w>j", opts = { desc = "Down Window" } },
|
||||
{ keys = "e", cmd = "<C-w>k", opts = { desc = "Up Window" } },
|
||||
{ keys = "i", cmd = "<C-w>l", opts = { desc = "Right Window" } },
|
||||
{ keys = "H", cmd = "<C-w>H", opts = { desc = "Move Window Left" } },
|
||||
{ keys = "N", cmd = "<C-w>J", opts = { desc = "Move Window Down" } },
|
||||
{ keys = "E", cmd = "<C-w>K", opts = { desc = "Move Window Up" } },
|
||||
{ keys = "I", cmd = "<C-w>L", opts = { desc = "Move Window Right" } },
|
||||
{ keys = "-", cmd = ":split<CR>", opts = { desc = "Split to down" } },
|
||||
{ keys = "|", cmd = ":vsplit<CR>", opts = { desc = "Split to right" } },
|
||||
{ keys = "c", cmd = "<C-w>c", opts = { desc = "Close Window" } },
|
||||
{ keys = "o", cmd = "<C-w>o", opts = { desc = "Close Other Windows" } },
|
||||
{ keys = "/", cmd = ":vsplit<CR>", opts = { desc = "Split to right" } },
|
||||
{ keys = "d", cmd = "<C-w>c", opts = { desc = "Close Window" } },
|
||||
{ keys = "D", cmd = "<C-w>o", opts = { desc = "Close Other Windows" } },
|
||||
{ keys = "r", cmd = "<C-w>r", opts = { desc = "Rotate Windows" } },
|
||||
{ keys = "R", cmd = "<C-w>R", opts = { desc = "Reverse Rotate Windows" } },
|
||||
{ keys = "t", cmd = "<C-w>T", opts = { desc = "Move Window to New Tab" } },
|
||||
{ keys = "H", cmd = ":vertical resize -5<CR>", opts = { desc = "Decrease Window Height" } },
|
||||
{ keys = "N", cmd = ":resize +5<CR>", opts = { desc = "Increase Window Height" } },
|
||||
{ keys = "E", cmd = ":vertical resize +5<CR>", opts = { desc = "Increase Window Width" } },
|
||||
{ keys = "I", cmd = ":resize -5<CR>", opts = { desc = "Decrease Window Width" } },
|
||||
{ keys = "]", cmd = ":resize +5<CR>", opts = { desc = "Increase Window Size" } },
|
||||
{ keys = "[", cmd = ":resize -5<CR>", opts = { desc = "Decrease Window Size" } },
|
||||
{ keys = "M", cmd = ":resize<CR>:vertical resize<CR>", opts = { desc = "Maximize window size" } },
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ local M = {}
|
|||
|
||||
M.global = {
|
||||
{ mode = "n", keys = "<leader>E", cmd = ":NvimTreeToggle<CR>" },
|
||||
{ mode = "n", keys = "<A-0>", cmd = ":NvimTreeFocus<CR>" },
|
||||
{ mode = "n", keys = "<A-0>", cmd = ":NvimTreeFindFileToggle<CR>" },
|
||||
}
|
||||
|
||||
function M.plugin(api, opts)
|
||||
|
|
|
|||
|
|
@ -28,3 +28,9 @@ end, {
|
|||
desc = "Toggle autoformat-on-save (use ! for buffer-local)",
|
||||
bang = true,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_user_command("Reload", function()
|
||||
vim.cmd("luafile ~/.config/nvim/init.lua")
|
||||
end, {
|
||||
desc = "Reload Neovim configuration",
|
||||
})
|
||||
|
|
|
|||
18
tools/nvim/lua/keymaps/visual-multi.lua
Normal file
18
tools/nvim/lua/keymaps/visual-multi.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
vim.g.VM_mouse_mappings = 1
|
||||
vim.g.VM_default_mappings = 0
|
||||
vim.g.VM_custom_motions = {
|
||||
-- https://github.com/mg979/vim-visual-multi/issues/93
|
||||
h = "h",
|
||||
n = "j",
|
||||
e = "k",
|
||||
i = "l",
|
||||
j = "e",
|
||||
}
|
||||
|
||||
vim.g.VM_maps = {
|
||||
["Add Cursor Down"] = "<A-n>",
|
||||
["Add Cursor Up"] = "<A-e>",
|
||||
["i"] = "l",
|
||||
["I"] = "L",
|
||||
["n"] = "n",
|
||||
}
|
||||
|
|
@ -25,4 +25,17 @@ return {
|
|||
{ import = "plugins.mod.alpha-nvim" },
|
||||
{ import = "plugins.mod.winbar-nvim" },
|
||||
{ import = "plugins.mod.bufferline" },
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require("gitsigns").setup({
|
||||
current_line_blame = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
59
tools/nvim/lua/plugins/edit.lua
Normal file
59
tools/nvim/lua/plugins/edit.lua
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
return {
|
||||
{
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
---@type Flash.Config
|
||||
opts = {},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
|
||||
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||
{ "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
|
||||
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
|
||||
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"js0ny/vim-visual-multi-colemak-hnei",
|
||||
-- "mg979/vim-visual-multi",
|
||||
},
|
||||
{
|
||||
"echasnovski/mini.pairs",
|
||||
version = false,
|
||||
config = function()
|
||||
require("mini.pairs").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"kylechui/nvim-surround",
|
||||
version = "*", -- Use for stability; omit to use `main` branch for the latest features
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("nvim-surround").setup({
|
||||
-- Configuration here, or leave empty to use defaults
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"MagicDuck/grug-far.nvim",
|
||||
opts = { headerMaxWidth = 80 },
|
||||
cmd = "GrugFar",
|
||||
keys = {
|
||||
{
|
||||
"<leader>fF",
|
||||
function()
|
||||
local grug = require("grug-far")
|
||||
local ext = vim.bo.buftype == "" and vim.fn.expand("%:e")
|
||||
grug.open({
|
||||
transient = true,
|
||||
prefills = {
|
||||
filesFilter = ext and ext ~= "" and "*." .. ext or nil,
|
||||
},
|
||||
})
|
||||
end,
|
||||
mode = { "n", "v" },
|
||||
desc = "Search and Replace",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -47,9 +47,23 @@ return {
|
|||
end,
|
||||
},
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require("gitsigns").setup()
|
||||
end,
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ require("lazy").setup({
|
|||
{ import = "plugins.completion" },
|
||||
{ import = "plugins.fileutils" },
|
||||
{ import = "plugins.lsp" },
|
||||
{ import = "plugins.syntax" },
|
||||
{ import = "plugins.edit" },
|
||||
{ import = "plugins.misc" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
|
|
|
|||
|
|
@ -41,29 +41,24 @@ return {
|
|||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-orgmode/orgmode",
|
||||
event = "VeryLazy",
|
||||
ft = { "org" },
|
||||
config = function()
|
||||
-- Setup orgmode
|
||||
require("orgmode").setup({
|
||||
org_agenda_files = "~/orgfiles/**/*",
|
||||
org_default_notes_file = "~/orgfiles/refile.org",
|
||||
})
|
||||
|
||||
-- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option
|
||||
-- add ~org~ to ignore_install
|
||||
-- require('nvim-treesitter.configs').setup({
|
||||
-- ensure_installed = 'all',
|
||||
-- ignore_install = { 'org' },
|
||||
-- })
|
||||
end,
|
||||
},
|
||||
{ import = "plugins.mod.conform-nvim" },
|
||||
{ "nvim-treesitter/nvim-treesitter-context" },
|
||||
{
|
||||
"NoahTheDuke/vim-just",
|
||||
ft = { "just" },
|
||||
},
|
||||
{ import = "plugins.mod.trouble-nvim" },
|
||||
|
||||
{ import = "plugins.mod.nvim-treesitter" },
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,13 @@ return {
|
|||
config = function()
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
diagnostics = "nvim_lsp",
|
||||
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||
local icon = level:match("error") and " " or " "
|
||||
return " " .. icon .. count
|
||||
end,
|
||||
|
||||
show_buffer_icons = true,
|
||||
numbers = "ordinal", -- 显示 buffer 序号
|
||||
close_command = "bdelete! %d", -- 关闭 buffer 的命令
|
||||
right_mouse_command = "bdelete! %d", -- 右键关闭
|
||||
|
|
|
|||
|
|
@ -1,236 +0,0 @@
|
|||
-- Author: shadmansaleh
|
||||
-- Credit: glepnir
|
||||
local lualine = require("lualine")
|
||||
|
||||
-- Color table for highlights
|
||||
-- stylua: ignore
|
||||
local colors = {
|
||||
bg = '#202328',
|
||||
fg = '#bbc2cf',
|
||||
yellow = '#ECBE7B',
|
||||
cyan = '#008080',
|
||||
darkblue = '#081633',
|
||||
green = '#98be65',
|
||||
orange = '#FF8800',
|
||||
violet = '#a9a1e1',
|
||||
magenta = '#c678dd',
|
||||
blue = '#51afef',
|
||||
red = '#ec5f67',
|
||||
}
|
||||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand("%:p:h")
|
||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end,
|
||||
}
|
||||
|
||||
-- Config
|
||||
local config = {
|
||||
options = {
|
||||
disabled_filetypes = {
|
||||
statusline = { "NvimTree", "alpha" },
|
||||
},
|
||||
-- Disable sections and component separators
|
||||
component_separators = "",
|
||||
section_separators = "",
|
||||
theme = {
|
||||
-- We are going to use lualine_c an lualine_x as left and
|
||||
-- right section. Both are highlighted by c theme . So we
|
||||
-- are just setting default looks o statusline
|
||||
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
-- These will be filled later
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
inactive_sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
}
|
||||
|
||||
-- Inserts a component in lualine_c at left section
|
||||
local function ins_left(component)
|
||||
table.insert(config.sections.lualine_c, component)
|
||||
end
|
||||
|
||||
-- Inserts a component in lualine_x at right section
|
||||
local function ins_right(component)
|
||||
table.insert(config.sections.lualine_x, component)
|
||||
end
|
||||
|
||||
ins_left({
|
||||
function()
|
||||
return "▊"
|
||||
end,
|
||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
||||
padding = { left = 0, right = 1 }, -- We don't need space before this
|
||||
})
|
||||
|
||||
ins_left({
|
||||
-- mode component
|
||||
function()
|
||||
return ""
|
||||
end,
|
||||
color = function()
|
||||
-- auto change color according to neovims mode
|
||||
local mode_color = {
|
||||
n = colors.red,
|
||||
i = colors.green,
|
||||
v = colors.blue,
|
||||
[""] = colors.blue,
|
||||
V = colors.blue,
|
||||
c = colors.magenta,
|
||||
no = colors.red,
|
||||
s = colors.orange,
|
||||
S = colors.orange,
|
||||
[""] = colors.orange,
|
||||
ic = colors.yellow,
|
||||
R = colors.violet,
|
||||
Rv = colors.violet,
|
||||
cv = colors.red,
|
||||
ce = colors.red,
|
||||
r = colors.cyan,
|
||||
rm = colors.cyan,
|
||||
["r?"] = colors.cyan,
|
||||
["!"] = colors.red,
|
||||
t = colors.red,
|
||||
}
|
||||
return { fg = mode_color[vim.fn.mode()] }
|
||||
end,
|
||||
padding = { right = 1 },
|
||||
})
|
||||
|
||||
-- ins_left {
|
||||
-- -- filesize component
|
||||
-- 'filesize',
|
||||
-- cond = conditions.buffer_not_empty,
|
||||
-- }
|
||||
|
||||
-- ins_left {
|
||||
-- 'filename',
|
||||
-- cond = conditions.buffer_not_empty,
|
||||
-- color = { fg = colors.magenta, gui = 'bold' },
|
||||
-- }
|
||||
|
||||
-- ins_left { 'location' }
|
||||
|
||||
ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } })
|
||||
|
||||
ins_left({
|
||||
"diagnostics",
|
||||
sources = { "nvim_diagnostic" },
|
||||
symbols = { error = " ", warn = " ", info = " " },
|
||||
diagnostics_color = {
|
||||
error = { fg = colors.red },
|
||||
warn = { fg = colors.yellow },
|
||||
info = { fg = colors.cyan },
|
||||
},
|
||||
})
|
||||
|
||||
ins_left({
|
||||
function()
|
||||
return vim.bo.filetype
|
||||
end,
|
||||
color = { fg = colors.blue, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_left({
|
||||
function()
|
||||
return vim.bo.shiftwidth .. " space"
|
||||
end,
|
||||
})
|
||||
|
||||
ins_left({
|
||||
-- Lsp server name .
|
||||
function()
|
||||
local msg = "No Active Lsp"
|
||||
local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = 0 })
|
||||
local clients = vim.lsp.get_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
end
|
||||
return msg
|
||||
end,
|
||||
icon = " ",
|
||||
color = { fg = "#ffffff", gui = "bold" },
|
||||
})
|
||||
|
||||
-- Insert mid section. You can make any number of sections in neovim :)
|
||||
-- for lualine it's any number greater then 2
|
||||
ins_left({
|
||||
function()
|
||||
return "%="
|
||||
end,
|
||||
})
|
||||
|
||||
-- Add components to right sections
|
||||
ins_right({
|
||||
"o:encoding", -- option component same as &encoding in viml
|
||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||||
cond = conditions.hide_in_width,
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right({
|
||||
"fileformat",
|
||||
fmt = string.upper,
|
||||
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right({
|
||||
"branch",
|
||||
icon = "",
|
||||
color = { fg = colors.violet, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right({
|
||||
"diff",
|
||||
-- Is it me or the symbol for modified us really weird
|
||||
symbols = { added = " ", modified = " ", removed = " " },
|
||||
diff_color = {
|
||||
added = { fg = colors.green },
|
||||
modified = { fg = colors.orange },
|
||||
removed = { fg = colors.red },
|
||||
},
|
||||
cond = conditions.hide_in_width,
|
||||
})
|
||||
|
||||
ins_right({
|
||||
function()
|
||||
return "▊"
|
||||
end,
|
||||
color = { fg = colors.blue },
|
||||
padding = { left = 1 },
|
||||
})
|
||||
|
||||
-- Now don't forget to initialize lualine
|
||||
lualine.setup(config)
|
||||
168
tools/nvim/lua/plugins/mod/lualine/components.lua
Normal file
168
tools/nvim/lua/plugins/mod/lualine/components.lua
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
local M = {}
|
||||
local colors = require("config.colors")
|
||||
local icons = require("config.icons")
|
||||
|
||||
local function diff_source()
|
||||
local gitsigns = vim.b.gitsigns_status_dict
|
||||
if gitsigns then
|
||||
return {
|
||||
added = gitsigns.added,
|
||||
modified = gitsigns.changed,
|
||||
removed = gitsigns.removed,
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand("%:p:h")
|
||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end,
|
||||
}
|
||||
local mode_color = {
|
||||
n = colors.blue,
|
||||
i = colors.green,
|
||||
v = colors.magenta,
|
||||
[""] = colors.magenta,
|
||||
V = colors.magenta,
|
||||
c = colors.magenta,
|
||||
no = colors.red,
|
||||
s = colors.orange,
|
||||
S = colors.orange,
|
||||
[""] = colors.orange,
|
||||
ic = colors.yellow,
|
||||
R = colors.violet,
|
||||
Rv = colors.violet,
|
||||
cv = colors.red,
|
||||
ce = colors.red,
|
||||
r = colors.cyan,
|
||||
rm = colors.cyan,
|
||||
["r?"] = colors.cyan,
|
||||
["!"] = colors.red,
|
||||
t = colors.red,
|
||||
}
|
||||
|
||||
local mode_color_bg = function()
|
||||
return { fg = colors.bg, bg = mode_color[vim.fn.mode()] }
|
||||
end
|
||||
|
||||
-- local mode_color_fg = function()
|
||||
-- return { fg = mode_color[vim.fn.mode()] }
|
||||
-- end
|
||||
|
||||
M.mode = {
|
||||
function()
|
||||
return ""
|
||||
end,
|
||||
color = mode_color_bg,
|
||||
}
|
||||
|
||||
M.git = {
|
||||
"branch",
|
||||
icon = icons.git.Branch,
|
||||
color = { fg = colors.violet, gui = "bold" },
|
||||
}
|
||||
|
||||
M.diagnostics = {
|
||||
"diagnostics",
|
||||
sources = { "nvim_diagnostic" },
|
||||
symbols = {
|
||||
error = icons.diagnostics.Error .. " ",
|
||||
warn = icons.diagnostics.Warning .. " ",
|
||||
info = icons.diagnostics.Information .. " ",
|
||||
hint = icons.diagnostics.Hint .. " ",
|
||||
},
|
||||
}
|
||||
|
||||
M.lsp = {
|
||||
-- Lsp server name .
|
||||
function()
|
||||
local msg = "LSP Inactive"
|
||||
local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = 0 })
|
||||
local clients = vim.lsp.get_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
end
|
||||
return msg
|
||||
end,
|
||||
icon = icons.lsp,
|
||||
color = { fg = colors.yellow, gui = "italic" },
|
||||
}
|
||||
|
||||
M.filetype = {
|
||||
function()
|
||||
return vim.bo.filetype
|
||||
end,
|
||||
color = { fg = colors.blue, gui = "bold" },
|
||||
}
|
||||
|
||||
M.eol = {
|
||||
function()
|
||||
return vim.bo.eol == true and icons.eol or ""
|
||||
end,
|
||||
color = { fg = colors.red },
|
||||
}
|
||||
|
||||
M.command = {
|
||||
"command",
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
}
|
||||
|
||||
M.encoding = {
|
||||
"o:encoding",
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
}
|
||||
|
||||
M.indent = {
|
||||
function()
|
||||
local shiftwidth = vim.api.nvim_get_option_value("shiftwidth", { buf = 0 })
|
||||
return icons.indent .. " " .. shiftwidth
|
||||
end,
|
||||
padding = 1,
|
||||
}
|
||||
|
||||
-- M.diff = {
|
||||
-- "diff",
|
||||
-- -- Is it me or the symbol for modified us really weird
|
||||
-- symbols = { added = " ", modified = " ", removed = " " },
|
||||
-- diff_color = {
|
||||
-- added = { fg = colors.green },
|
||||
-- modified = { fg = colors.orange },
|
||||
-- removed = { fg = colors.red },
|
||||
-- },
|
||||
-- cond = conditions.hide_in_width,
|
||||
-- }
|
||||
M.diff = {
|
||||
"diff",
|
||||
source = diff_source,
|
||||
-- symbols = { added = " ", modified = " ", removed = " " },
|
||||
symbols = {
|
||||
added = icons.git.Add .. " ",
|
||||
modified = icons.git.Change .. " ",
|
||||
removed = icons.git.Delete .. " ",
|
||||
},
|
||||
padding = { left = 2, right = 1 },
|
||||
diff_color = {
|
||||
added = { fg = colors.green },
|
||||
modified = { fg = colors.yellow },
|
||||
removed = { fg = colors.red },
|
||||
},
|
||||
cond = nil,
|
||||
}
|
||||
|
||||
M.progress = { "progress", color = mode_color_bg }
|
||||
|
||||
return M
|
||||
73
tools/nvim/lua/plugins/mod/lualine/init.lua
Normal file
73
tools/nvim/lua/plugins/mod/lualine/init.lua
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
local lualine = require("lualine")
|
||||
|
||||
-- Color table for highlights
|
||||
|
||||
local colors = require("config.colors")
|
||||
local components = require("plugins.mod.lualine.components")
|
||||
|
||||
-- Config
|
||||
local config = {
|
||||
options = {
|
||||
disabled_filetypes = {
|
||||
statusline = { "NvimTree", "alpha" },
|
||||
},
|
||||
-- Disable sections and component separators
|
||||
component_separators = "",
|
||||
section_separators = "",
|
||||
theme = {
|
||||
-- We are going to use lualine_c an lualine_x as left and
|
||||
-- right section. Both are highlighted by c theme . So we
|
||||
-- are just setting default looks o statusline
|
||||
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
-- These will be filled later
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
inactive_sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
}
|
||||
|
||||
-- Inserts a component in lualine_c at left section
|
||||
local function ins_left(component)
|
||||
table.insert(config.sections.lualine_c, component)
|
||||
end
|
||||
|
||||
-- Inserts a component in lualine_x at right section
|
||||
local function ins_right(component)
|
||||
table.insert(config.sections.lualine_x, component)
|
||||
end
|
||||
|
||||
--[[
|
||||
VSCode Style:
|
||||
Remote | Git Branch | Diagnostics | Command | | MID | | Line:Column | Indent | Encoding | EOL | File Type LSP | Notifications
|
||||
--]]
|
||||
|
||||
ins_left(components.mode)
|
||||
ins_left(components.diff)
|
||||
ins_left(components.git)
|
||||
ins_left(components.diagnostics)
|
||||
ins_left(components.command)
|
||||
ins_right(components.indent)
|
||||
ins_right(components.encoding)
|
||||
ins_right(components.eol)
|
||||
ins_right(components.filetype)
|
||||
ins_right(components.lsp)
|
||||
ins_right(components.progress)
|
||||
|
||||
lualine.setup(config)
|
||||
|
|
@ -43,6 +43,7 @@ return {
|
|||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "copilot" },
|
||||
{ name = "lazydev", group_index = 0 },
|
||||
}, {
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
|
|
|
|||
37
tools/nvim/lua/plugins/mod/trouble-nvim.lua
Normal file
37
tools/nvim/lua/plugins/mod/trouble-nvim.lua
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>eE",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>ee",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>es",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>el",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>eL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>ef",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ return {
|
|||
show_file_path = true,
|
||||
show_symbols = true,
|
||||
colors = {
|
||||
path = "#9c1d91",
|
||||
path = "",
|
||||
file_name = "",
|
||||
symbols = "",
|
||||
},
|
||||
|
|
@ -31,6 +31,7 @@ return {
|
|||
"spectre_panel",
|
||||
"toggleterm",
|
||||
"qf",
|
||||
"floaterm",
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
return {
|
||||
{ import = "plugins.mod.nvim-treesitter" },
|
||||
{
|
||||
"echasnovski/mini.pairs",
|
||||
version = false,
|
||||
config = function()
|
||||
require("mini.pairs").setup()
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
(((
|
||||
This is a playground file.
|
||||
{(1 + 2) * 3}
|
||||
)))
|
||||
|
|
@ -13,8 +13,11 @@ function Invoke-Completion {
|
|||
}
|
||||
'git' { Import-Module Posh-Git }
|
||||
'hugo' { hugo completion powershell | Out-String | Invoke-Expression }
|
||||
'just' { just --completions powershell | Out-String | Invoke-Expression }
|
||||
'pip' { pip completion --powershell | Out-String | Invoke-Expression }
|
||||
'pixi' { pixi completion --shell powershell | Out-String | Invoke-Expression }
|
||||
'rg' { rg --generate complete-powershell | Out-String | Invoke-Expression }
|
||||
'rustup' { rustup completions powershell rustup | Out-String | Invoke-Expression }
|
||||
'uv' { uv generate-shell-completion powershell | Out-String | Invoke-Expression }
|
||||
'wezterm' { wezterm shell-completion --shell power-shell | Out-String | Invoke-Expression }
|
||||
'winget' {
|
||||
|
|
@ -36,7 +39,12 @@ Set-Alias "icmp" "Invoke-Completion"
|
|||
Register-ArgumentCompleter -CommandName Invoke-Completion -ParameterName 'command' -ScriptBlock {
|
||||
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter)
|
||||
|
||||
$cmds = @('docker', 'dotnet', 'git', 'hugo', 'pip', 'rg', 'uv', 'wezterm', 'winget')
|
||||
$cmds = @('docker', 'dotnet', 'git', 'hugo', 'just', 'pip', 'pixi', 'rg', 'rustup', 'uv', 'wezterm', 'winget')
|
||||
|
||||
$cmds | Where-Object { $_ -like "$wordToComplete*" }
|
||||
}
|
||||
|
||||
|
||||
if ($isWindows) {
|
||||
Invoke-Completion winget # Enable winget tab completion by default
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,5 @@ Set-PSReadLineKeyHandler -Chord "Ctrl+e" -Function EndOfLine
|
|||
Set-PSReadLineKeyHandler -Chord "Ctrl+p" -Function PreviousHistory
|
||||
Set-PSReadLineKeyHandler -Chord "Ctrl+p" -Function PreviousHistory
|
||||
Set-PSReadLineKeyHandler -Chord "Ctrl+n" -Function NextHistory
|
||||
|
||||
## Use <Tab> to Invoke MenuComplete
|
||||
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
|
||||
|
|
|
|||
|
|
@ -7,3 +7,7 @@ if ($IsWindows) {
|
|||
# WinGet
|
||||
Import-Module -Name Microsoft.WinGet.CommandNotFound #f45873b3-b655-43a6-b217-97c00aa0db58
|
||||
}
|
||||
|
||||
Import-Module -Name PSFzf
|
||||
|
||||
Set-PSReadLineKeyHandler -Chord "Ctrl-r" -ScriptBlock { Invoke-FuzzyHistory }
|
||||
|
|
|
|||
|
|
@ -2,6 +2,50 @@
|
|||
# Date: 2024-12-01
|
||||
# Author: js0ny
|
||||
# Use starship to set prompt
|
||||
$ENV:STARSHIP_CONFIG = Join-Path $DOTFILES "tools" "starship" "starship_pwsh.toml"
|
||||
|
||||
Invoke-Expression (&starship init powershell)
|
||||
|
||||
Import-Module Catppuccin
|
||||
|
||||
$Flavor = $Catppuccin['Mocha']
|
||||
|
||||
# The following colors are used by PowerShell's formatting
|
||||
# Again PS 7.2+ only
|
||||
$PSStyle.Formatting.Debug = $Flavor.Sky.Foreground()
|
||||
$PSStyle.Formatting.Error = $Flavor.Red.Foreground()
|
||||
$PSStyle.Formatting.ErrorAccent = $Flavor.Blue.Foreground()
|
||||
$PSStyle.Formatting.FormatAccent = $Flavor.Teal.Foreground()
|
||||
$PSStyle.Formatting.TableHeader = $Flavor.Rosewater.Foreground()
|
||||
$PSStyle.Formatting.Verbose = $Flavor.Yellow.Foreground()
|
||||
$PSStyle.Formatting.Warning = $Flavor.Peach.Foreground()
|
||||
|
||||
$Colors = @{
|
||||
# Largely based on the Code Editor style guide
|
||||
# Emphasis, ListPrediction and ListPredictionSelected are inspired by the Catppuccin fzf theme
|
||||
|
||||
# Powershell colours
|
||||
Emphasis = $Flavor.Red.Foreground()
|
||||
Selection = $Flavor.Surface0.Background()
|
||||
|
||||
# PSReadLine prediction colours
|
||||
InlinePrediction = $Flavor.Overlay0.Foreground()
|
||||
ListPrediction = $Flavor.Mauve.Foreground()
|
||||
ListPredictionSelected = $Flavor.Surface0.Background()
|
||||
|
||||
# Syntax highlighting
|
||||
Command = $Flavor.Blue.Foreground()
|
||||
Comment = $Flavor.Overlay0.Foreground()
|
||||
Default = $Flavor.Text.Foreground()
|
||||
Error = $Flavor.Red.Foreground()
|
||||
Keyword = $Flavor.Mauve.Foreground()
|
||||
Member = $Flavor.Rosewater.Foreground()
|
||||
Number = $Flavor.Peach.Foreground()
|
||||
Operator = $Flavor.Sky.Foreground()
|
||||
Parameter = $Flavor.Pink.Foreground()
|
||||
String = $Flavor.Green.Foreground()
|
||||
Type = $Flavor.Yellow.Foreground()
|
||||
Variable = $Flavor.Lavender.Foreground()
|
||||
}
|
||||
|
||||
# Set the colours
|
||||
Set-PSReadLineOption -Colors $Colors
|
||||
|
|
|
|||
|
|
@ -1,144 +0,0 @@
|
|||
format = """
|
||||
[](#9A348E)\
|
||||
$os\
|
||||
$username\
|
||||
[](bg:#DA627D fg:#9A348E)\
|
||||
$directory\
|
||||
[](fg:#DA627D bg:#FCA17D)\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
[](fg:#FCA17D bg:#86BBD8)\
|
||||
$c\
|
||||
$elixir\
|
||||
$elm\
|
||||
$golang\
|
||||
$gradle\
|
||||
$haskell\
|
||||
$java\
|
||||
$julia\
|
||||
$nodejs\
|
||||
$nim\
|
||||
$rust\
|
||||
$scala\
|
||||
[](fg:#86BBD8 bg:#06969A)\
|
||||
$docker_context\
|
||||
[](fg:#06969A bg:#33658A)\
|
||||
$time\
|
||||
[ ](fg:#33658A)\
|
||||
"""
|
||||
|
||||
# Disable the blank line at the start of the prompt
|
||||
# add_newline = false
|
||||
|
||||
# You can also replace your username with a neat symbol like or disable this
|
||||
# and use the os module below
|
||||
[username]
|
||||
show_always = true
|
||||
style_user = "bg:#9A348E"
|
||||
style_root = "bg:#9A348E"
|
||||
format = '[$user ]($style)'
|
||||
disabled = false
|
||||
|
||||
# An alternative to the username module which displays a symbol that
|
||||
# represents the current operating system
|
||||
[os]
|
||||
style = "bg:#9A348E"
|
||||
disabled = true # Disabled by default
|
||||
|
||||
[directory]
|
||||
style = "bg:#DA627D"
|
||||
format = "[ $path ]($style)"
|
||||
truncation_length = 3
|
||||
truncation_symbol = "…/"
|
||||
|
||||
# Here is how you can shorten some long paths by text replacement
|
||||
# similar to mapped_locations in Oh My Posh:
|
||||
[directory.substitutions]
|
||||
"Documents" = " "
|
||||
"Downloads" = " "
|
||||
"Music" = " "
|
||||
"Pictures" = " "
|
||||
# Keep in mind that the order matters. For example:
|
||||
# "Important Documents" = " "
|
||||
# will not be replaced, because "Documents" was already substituted before.
|
||||
# So either put "Important Documents" before "Documents" or use the substituted version:
|
||||
# "Important " = " "
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
style = "bg:#06969A"
|
||||
format = '[ $symbol $context ]($style)'
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[git_branch]
|
||||
symbol = ""
|
||||
style = "bg:#FCA17D"
|
||||
format = '[ $symbol $branch ]($style)'
|
||||
|
||||
[git_status]
|
||||
style = "bg:#FCA17D"
|
||||
format = '[$all_status$ahead_behind ]($style)'
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[gradle]
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[java]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[julia]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[nodejs]
|
||||
symbol = ""
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[nim]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[rust]
|
||||
symbol = ""
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[scala]
|
||||
symbol = " "
|
||||
style = "bg:#86BBD8"
|
||||
format = '[ $symbol ($version) ]($style)'
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
time_format = "%R" # Hour:Minute Format
|
||||
style = "bg:#33658A"
|
||||
format = '[ ♥ $time ]($style)'
|
||||
|
|
@ -1,210 +0,0 @@
|
|||
# starship.toml
|
||||
# ~/.config/starship.toml
|
||||
format = '''$os$time $username @ $hostname $directory $all$character'''
|
||||
continuation_prompt = "[ cr >](bold cyan) "
|
||||
|
||||
add_newline = true
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
format = '[\[$time\]](purple)'
|
||||
time_format = '%H:%M'
|
||||
|
||||
[username]
|
||||
format = '[$user](bold)'
|
||||
show_always = true
|
||||
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
ssh_symbol = ' '
|
||||
|
||||
# Currently vimcmd_symbol is not supported in Nu, define in `config.nu` instead
|
||||
[character]
|
||||
success_symbol = ""
|
||||
error_symbol = ""
|
||||
vimcmd_symbol = ""
|
||||
|
||||
|
||||
[directory]
|
||||
truncation_length = 2
|
||||
truncate_to_repo = true
|
||||
read_only = " "
|
||||
style ="bold cyan"
|
||||
truncation_symbol = ".../"
|
||||
|
||||
[directory.substitutions]
|
||||
"~/Documents" = " "
|
||||
"~/Downloads" = " "
|
||||
"~/Music" = " "
|
||||
"~/Pictures" = " "
|
||||
"Source" = " "
|
||||
"src" = " "
|
||||
|
||||
[aws]
|
||||
symbol = " "
|
||||
|
||||
[buf]
|
||||
symbol = " "
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
|
||||
[crystal]
|
||||
symbol = " "
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
|
||||
[fennel]
|
||||
symbol = " "
|
||||
|
||||
[fossil_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_commit]
|
||||
tag_symbol = ' '
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
|
||||
[guix_shell]
|
||||
symbol = " "
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
|
||||
[haxe]
|
||||
symbol = " "
|
||||
|
||||
[hg_branch]
|
||||
symbol = " "
|
||||
|
||||
[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
|
||||
|
||||
[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 = " "
|
||||
|
||||
[zig]
|
||||
symbol = " "
|
||||
|
||||
[gradle]
|
||||
symbol = " "
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
# starship.toml
|
||||
# ~/.config/starship.toml
|
||||
format = '''$os$time $username @ $hostname $directory $all$character'''
|
||||
continuation_prompt = "[CR > ](bold cyan) "
|
||||
|
||||
add_newline = true
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
format = '[\[$time\]](purple)'
|
||||
time_format = '%H:%M'
|
||||
|
||||
[username]
|
||||
format = '[$user](bold)'
|
||||
show_always = true
|
||||
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
ssh_symbol = ' '
|
||||
|
||||
[character]
|
||||
success_symbol = "[PS > ](bold green)"
|
||||
error_symbol = "[PS > ](bold red)"
|
||||
vimcmd_symbol = "[Vi < ](bold green)"
|
||||
|
||||
[directory]
|
||||
truncation_length = 2
|
||||
truncate_to_repo = true
|
||||
read_only = " "
|
||||
style ="bold cyan"
|
||||
truncation_symbol = ".../"
|
||||
|
||||
[directory.substitutions]
|
||||
"~/Documents" = " "
|
||||
"~/Downloads" = " "
|
||||
"~/Music" = " "
|
||||
"~/Pictures" = " "
|
||||
"Source" = " "
|
||||
"src" = " "
|
||||
|
||||
[aws]
|
||||
symbol = " "
|
||||
|
||||
[buf]
|
||||
symbol = " "
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
|
||||
[crystal]
|
||||
symbol = " "
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
|
||||
[fennel]
|
||||
symbol = " "
|
||||
|
||||
[fossil_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_commit]
|
||||
tag_symbol = ' '
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
|
||||
[guix_shell]
|
||||
symbol = " "
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
|
||||
[haxe]
|
||||
symbol = " "
|
||||
|
||||
[hg_branch]
|
||||
symbol = " "
|
||||
|
||||
[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
|
||||
|
||||
[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 = " "
|
||||
|
||||
[zig]
|
||||
symbol = " "
|
||||
|
||||
[gradle]
|
||||
symbol = " "
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
# starship.toml
|
||||
# ~/.config/starship.toml
|
||||
format = '''$os$time $username @ $hostname $directory $all$character'''
|
||||
continuation_prompt = "[r % ](bold cyan) "
|
||||
|
||||
add_newline = true
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
format = '[\[$time\]](purple)'
|
||||
time_format = '%H:%M'
|
||||
|
||||
[username]
|
||||
format = '[$user](bold)'
|
||||
show_always = true
|
||||
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
ssh_symbol = ' '
|
||||
|
||||
[character]
|
||||
success_symbol = "[z % ](bold green)"
|
||||
error_symbol = "[z % ](bold red)"
|
||||
vimcmd_symbol = "[v ! ](bold green)"
|
||||
|
||||
[directory]
|
||||
truncation_length = 2
|
||||
truncate_to_repo = true
|
||||
read_only = " "
|
||||
style ="bold cyan"
|
||||
truncation_symbol = ":"
|
||||
fish_style_pwd_dir_length = 1
|
||||
|
||||
[directory.substitutions]
|
||||
"~/Documents" = " "
|
||||
"~/Downloads" = " "
|
||||
"~/Music" = " "
|
||||
"~/Pictures" = " "
|
||||
"Source" = " "
|
||||
"src" = " "
|
||||
|
||||
[aws]
|
||||
symbol = " "
|
||||
|
||||
[buf]
|
||||
symbol = " "
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
|
||||
[crystal]
|
||||
symbol = " "
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
|
||||
[fennel]
|
||||
symbol = " "
|
||||
|
||||
[fossil_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_commit]
|
||||
tag_symbol = ' '
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
|
||||
[guix_shell]
|
||||
symbol = " "
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
|
||||
[haxe]
|
||||
symbol = " "
|
||||
|
||||
[hg_branch]
|
||||
symbol = " "
|
||||
|
||||
[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
|
||||
|
||||
[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 = " "
|
||||
|
||||
[zig]
|
||||
symbol = " "
|
||||
|
||||
[gradle]
|
||||
symbol = " "
|
||||
9534
tools/vscode/extensions/vspacecode.jsonc
Normal file
9534
tools/vscode/extensions/vspacecode.jsonc
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -52,6 +52,10 @@ noremap gpd editor.action.peekDefinition
|
|||
noremap gt editor.action.goToTypeDefinition
|
||||
noremap gpt editor.action.peekTypeDefinition
|
||||
noremap gh editor.action.showDefinitionPreviewHover
|
||||
noremap gr editor.action.goToReferences
|
||||
noremap gpr editor.action.referenceSearch.trigger
|
||||
|
||||
noremap zR editor.foldAll
|
||||
|
||||
noremap <leader><leader> workbench.action.quickOpen
|
||||
noremap <leader>/ workbench.action.quickTextSearch
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
" And go to vscode vim setting:
|
||||
"vim.vimrc.path": "$HOME/.config/vscode/vscode.vimrc",
|
||||
|
||||
" For all available options see
|
||||
" https://github.com/VSCodeVim/Vim/blob/d41e286e9238b004f02b425d082d3b4181d83368/src/configuration/vimrc.ts#L120-L407
|
||||
|
||||
|
||||
" Use VSpaceCode instead of <leader>
|
||||
noremap <space> vspacecode.space
|
||||
|
|
@ -34,18 +37,8 @@ noremap J E
|
|||
" Y to yank to end of line
|
||||
noremap Y y$
|
||||
|
||||
" Define in settings.json, since this will remap <esc> under visual mode
|
||||
" noremap <esc> :nohlsearch<CR>
|
||||
nnoremap <esc> :nohlsearch<CR>
|
||||
|
||||
" 分词版本的w和b,支持中文,需要插件
|
||||
" 为了保证递归解析,而不是打断,使用 `nmap` 而不是 `nnoremap`
|
||||
" Comment if you don't use cjk or the plugin
|
||||
nmap w cjkWordHandler.cursorWordEndRight
|
||||
nmap b cjkWordHandler.cursorWordStartLeft
|
||||
|
||||
" keep selection after indent (define in settings.json)
|
||||
" voremap < <gv
|
||||
" voremap > >gv
|
||||
|
||||
" lsp
|
||||
noremap gi editor.action.goToImplementation
|
||||
|
|
@ -55,3 +48,17 @@ noremap gpd editor.action.peekDefinition
|
|||
noremap gt editor.action.goToTypeDefinition
|
||||
noremap gpt editor.action.peekTypeDefinition
|
||||
noremap gh editor.action.showDefinitionPreviewHover
|
||||
noremap gr editor.action.goToReferences
|
||||
noremap gpr editor.action.referenceSearch.trigger
|
||||
|
||||
noremap zR editor.foldAll
|
||||
|
||||
" keep selection after indent (define in settings.json)
|
||||
vnoremap < editor.action.outdentLines
|
||||
vnoremap > editor.action.indentLines
|
||||
|
||||
" 分词版本的w和b,支持中文,需要插件
|
||||
" 为了保证递归解析,而不是打断,使用 `nmap` 而不是 `nnoremap`
|
||||
" Comment if you don't use cjk or the plugin
|
||||
nmap w cjkWordHandler.cursorWordEndRight
|
||||
nmap b cjkWordHandler.cursorWordStartLeft
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ local os_type = detect_os()
|
|||
|
||||
config.max_fps = 120
|
||||
config.font = wezterm.font({
|
||||
family = "CaskaydiaCove Nerd Font",
|
||||
family = "JetBrainsMono Nerd Font",
|
||||
})
|
||||
config.color_scheme = "Catppuccin Frappe"
|
||||
config.color_scheme = "Catppuccin Mocha"
|
||||
config.font_size = 12.0
|
||||
config.front_end = "WebGpu"
|
||||
config.webgpu_power_preference = "HighPerformance"
|
||||
|
|
@ -209,8 +209,7 @@ config.mouse_bindings = {
|
|||
--#endregion
|
||||
|
||||
--#region Environment
|
||||
config.set_environment_variables = {
|
||||
}
|
||||
config.set_environment_variables = {}
|
||||
--#endregion
|
||||
|
||||
--#region Launching
|
||||
|
|
@ -251,7 +250,7 @@ if os_type == "Windows" then
|
|||
},
|
||||
}
|
||||
elseif os_type == "macOS" then
|
||||
config.default_prog = { "/opt/homebrew/bin/fish", "-l"}
|
||||
config.default_prog = { "/opt/homebrew/bin/fish", "-l" }
|
||||
else
|
||||
config.default_prog = { "fish" }
|
||||
config.launch_menu = {
|
||||
|
|
|
|||
750
tools/yazi/config/theme.toml
Normal file
750
tools/yazi/config/theme.toml
Normal file
|
|
@ -0,0 +1,750 @@
|
|||
[manager]
|
||||
cwd = { fg = "#94e2d5" }
|
||||
|
||||
hovered = { fg = "#1e1e2e", bg = "#b4befe" }
|
||||
preview_hovered = { fg = "#1e1e2e", bg = "#cdd6f4" }
|
||||
|
||||
find_keyword = { fg = "#f9e2af", italic = true }
|
||||
find_position = { fg = "#f5c2e7", bg = "reset", italic = true }
|
||||
|
||||
marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" }
|
||||
marker_cut = { fg = "#f38ba8", bg = "#f38ba8" }
|
||||
marker_marked = { fg = "#94e2d5", bg = "#94e2d5" }
|
||||
marker_selected = { fg = "#b4befe", bg = "#b4befe" }
|
||||
|
||||
tab_active = { fg = "#1e1e2e", bg = "#cdd6f4" }
|
||||
tab_inactive = { fg = "#cdd6f4", bg = "#45475a" }
|
||||
tab_width = 1
|
||||
|
||||
count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" }
|
||||
count_cut = { fg = "#1e1e2e", bg = "#f38ba8" }
|
||||
count_selected = { fg = "#1e1e2e", bg = "#b4befe" }
|
||||
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#7f849c" }
|
||||
|
||||
syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme"
|
||||
|
||||
[mode]
|
||||
normal_main = { fg = "#1e1e2e", bg = "#b4befe", bold = true }
|
||||
normal_alt = { fg = "#b4befe", bg = "#313244"}
|
||||
|
||||
select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true }
|
||||
select_alt = { fg = "#a6e3a1", bg = "#313244"}
|
||||
|
||||
unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true }
|
||||
unset_alt = { fg = "#f2cdcd", bg = "#313244"}
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
progress_label = { fg = "#ffffff", bold = true }
|
||||
progress_normal = { fg = "#89b4fa", bg = "#45475a" }
|
||||
progress_error = { fg = "#f38ba8", bg = "#45475a" }
|
||||
|
||||
perm_type = { fg = "#89b4fa" }
|
||||
perm_read = { fg = "#f9e2af" }
|
||||
perm_write = { fg = "#f38ba8" }
|
||||
perm_exec = { fg = "#a6e3a1" }
|
||||
perm_sep = { fg = "#7f849c" }
|
||||
|
||||
[input]
|
||||
border = { fg = "#b4befe" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
[pick]
|
||||
border = { fg = "#b4befe" }
|
||||
active = { fg = "#f5c2e7" }
|
||||
inactive = {}
|
||||
|
||||
[confirm]
|
||||
border = { fg = "#b4befe" }
|
||||
title = { fg = "#b4befe" }
|
||||
content = {}
|
||||
list = {}
|
||||
btn_yes = { reversed = true }
|
||||
btn_no = {}
|
||||
|
||||
[completion]
|
||||
border = { fg = "#b4befe" }
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#b4befe" }
|
||||
title = {}
|
||||
hovered = { underline = true }
|
||||
|
||||
[which]
|
||||
mask = { bg = "#313244" }
|
||||
cand = { fg = "#94e2d5" }
|
||||
rest = { fg = "#9399b2" }
|
||||
desc = { fg = "#f5c2e7" }
|
||||
separator = " "
|
||||
separator_style = { fg = "#585b70" }
|
||||
|
||||
[help]
|
||||
on = { fg = "#94e2d5" }
|
||||
run = { fg = "#f5c2e7" }
|
||||
desc = { fg = "#9399b2" }
|
||||
hovered = { bg = "#585b70", bold = true }
|
||||
footer = { fg = "#cdd6f4", bg = "#45475a" }
|
||||
|
||||
[notify]
|
||||
title_info = { fg = "#94e2d5" }
|
||||
title_warn = { fg = "#f9e2af" }
|
||||
title_error = { fg = "#f38ba8" }
|
||||
|
||||
[filetype]
|
||||
rules = [
|
||||
# Media
|
||||
{ mime = "image/*", fg = "#94e2d5" },
|
||||
{ mime = "{audio,video}/*", fg = "#f9e2af" },
|
||||
|
||||
# Archives
|
||||
{ mime = "application/*zip", fg = "#f5c2e7" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" },
|
||||
|
||||
# Documents
|
||||
{ mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" },
|
||||
|
||||
# Fallback
|
||||
{ name = "*", fg = "#cdd6f4" },
|
||||
{ name = "*/", fg = "#b4befe" }
|
||||
]
|
||||
|
||||
[icon]
|
||||
files = [
|
||||
{ name = "kritadisplayrc", text = "", fg = "#cba6f7" },
|
||||
{ name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" },
|
||||
{ name = "bspwmrc", text = "", fg = "#313244" },
|
||||
{ name = "webpack", text = "", fg = "#74c7ec" },
|
||||
{ name = "tsconfig.json", text = "", fg = "#74c7ec" },
|
||||
{ name = ".vimrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "gemfile$", text = "", fg = "#313244" },
|
||||
{ name = "xmobarrc", text = "", fg = "#f38ba8" },
|
||||
{ name = "avif", text = "", fg = "#7f849c" },
|
||||
{ name = "fp-info-cache", text = "", fg = "#f5e0dc" },
|
||||
{ name = ".zshrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "robots.txt", text = "", fg = "#6c7086" },
|
||||
{ name = "dockerfile", text = "", fg = "#89b4fa" },
|
||||
{ name = ".git-blame-ignore-revs", text = "", fg = "#fab387" },
|
||||
{ name = ".nvmrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "hyprpaper.conf", text = "", fg = "#74c7ec" },
|
||||
{ name = ".prettierignore", text = "", fg = "#89b4fa" },
|
||||
{ name = "rakefile", text = "", fg = "#313244" },
|
||||
{ name = "code_of_conduct", text = "", fg = "#f38ba8" },
|
||||
{ name = "cmakelists.txt", text = "", fg = "#cdd6f4" },
|
||||
{ name = ".env", text = "", fg = "#f9e2af" },
|
||||
{ name = "copying.lesser", text = "", fg = "#f9e2af" },
|
||||
{ name = "readme", text = "", fg = "#f5e0dc" },
|
||||
{ name = "settings.gradle", text = "", fg = "#585b70" },
|
||||
{ name = "gruntfile.coffee", text = "", fg = "#fab387" },
|
||||
{ name = ".eslintignore", text = "", fg = "#585b70" },
|
||||
{ name = "kalgebrarc", text = "", fg = "#89b4fa" },
|
||||
{ name = "kdenliverc", text = "", fg = "#89b4fa" },
|
||||
{ name = ".prettierrc.cjs", text = "", fg = "#89b4fa" },
|
||||
{ name = "cantorrc", text = "", fg = "#89b4fa" },
|
||||
{ name = "rmd", text = "", fg = "#74c7ec" },
|
||||
{ name = "vagrantfile$", text = "", fg = "#6c7086" },
|
||||
{ name = ".Xauthority", text = "", fg = "#fab387" },
|
||||
{ name = "prettier.config.ts", text = "", fg = "#89b4fa" },
|
||||
{ name = "node_modules", text = "", fg = "#f38ba8" },
|
||||
{ name = ".prettierrc.toml", text = "", fg = "#89b4fa" },
|
||||
{ name = "build.zig.zon", text = "", fg = "#fab387" },
|
||||
{ name = ".ds_store", text = "", fg = "#45475a" },
|
||||
{ name = "PKGBUILD", text = "", fg = "#89b4fa" },
|
||||
{ name = ".prettierrc", text = "", fg = "#89b4fa" },
|
||||
{ name = ".bash_profile", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".npmignore", text = "", fg = "#f38ba8" },
|
||||
{ name = ".mailmap", text = "", fg = "#fab387" },
|
||||
{ name = ".codespellrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "svelte.config.js", text = "", fg = "#fab387" },
|
||||
{ name = "eslint.config.ts", text = "", fg = "#585b70" },
|
||||
{ name = "config", text = "", fg = "#7f849c" },
|
||||
{ name = ".gitlab-ci.yml", text = "", fg = "#fab387" },
|
||||
{ name = ".gitconfig", text = "", fg = "#fab387" },
|
||||
{ name = "_gvimrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".xinitrc", text = "", fg = "#fab387" },
|
||||
{ name = "checkhealth", text = "", fg = "#89b4fa" },
|
||||
{ name = "sxhkdrc", text = "", fg = "#313244" },
|
||||
{ name = ".bashrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "tailwind.config.mjs", text = "", fg = "#74c7ec" },
|
||||
{ name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" },
|
||||
{ name = "commitlint.config.ts", text = "", fg = "#94e2d5" },
|
||||
{ name = "py.typed", text = "", fg = "#f9e2af" },
|
||||
{ name = ".nanorc", text = "", fg = "#313244" },
|
||||
{ name = "commit_editmsg", text = "", fg = "#fab387" },
|
||||
{ name = ".luaurc", text = "", fg = "#89b4fa" },
|
||||
{ name = "fp-lib-table", text = "", fg = "#f5e0dc" },
|
||||
{ name = ".editorconfig", text = "", fg = "#f5e0dc" },
|
||||
{ name = "justfile", text = "", fg = "#7f849c" },
|
||||
{ name = "kdeglobals", text = "", fg = "#89b4fa" },
|
||||
{ name = "license.md", text = "", fg = "#f9e2af" },
|
||||
{ name = ".clang-format", text = "", fg = "#7f849c" },
|
||||
{ name = "docker-compose.yaml", text = "", fg = "#89b4fa" },
|
||||
{ name = "copying", text = "", fg = "#f9e2af" },
|
||||
{ name = "go.mod", text = "", fg = "#74c7ec" },
|
||||
{ name = "lxqt.conf", text = "", fg = "#89b4fa" },
|
||||
{ name = "brewfile", text = "", fg = "#313244" },
|
||||
{ name = "gulpfile.coffee", text = "", fg = "#f38ba8" },
|
||||
{ name = ".dockerignore", text = "", fg = "#89b4fa" },
|
||||
{ name = ".settings.json", text = "", fg = "#6c7086" },
|
||||
{ name = "tailwind.config.js", text = "", fg = "#74c7ec" },
|
||||
{ name = ".clang-tidy", text = "", fg = "#7f849c" },
|
||||
{ name = ".gvimrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "nuxt.config.cjs", text = "", fg = "#a6e3a1" },
|
||||
{ name = "xsettingsd.conf", text = "", fg = "#fab387" },
|
||||
{ name = "nuxt.config.js", text = "", fg = "#a6e3a1" },
|
||||
{ name = "eslint.config.cjs", text = "", fg = "#585b70" },
|
||||
{ name = "sym-lib-table", text = "", fg = "#f5e0dc" },
|
||||
{ name = ".condarc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "xmonad.hs", text = "", fg = "#f38ba8" },
|
||||
{ name = "tmux.conf", text = "", fg = "#a6e3a1" },
|
||||
{ name = "xmobarrc.hs", text = "", fg = "#f38ba8" },
|
||||
{ name = ".prettierrc.yaml", text = "", fg = "#89b4fa" },
|
||||
{ name = ".pre-commit-config.yaml", text = "", fg = "#fab387" },
|
||||
{ name = "i3blocks.conf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "xorg.conf", text = "", fg = "#fab387" },
|
||||
{ name = ".zshenv", text = "", fg = "#a6e3a1" },
|
||||
{ name = "vlcrc", text = "", fg = "#fab387" },
|
||||
{ name = "license", text = "", fg = "#f9e2af" },
|
||||
{ name = "unlicense", text = "", fg = "#f9e2af" },
|
||||
{ name = "tmux.conf.local", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".SRCINFO", text = "", fg = "#89b4fa" },
|
||||
{ name = "tailwind.config.ts", text = "", fg = "#74c7ec" },
|
||||
{ name = "security.md", text = "", fg = "#bac2de" },
|
||||
{ name = "security", text = "", fg = "#bac2de" },
|
||||
{ name = ".eslintrc", text = "", fg = "#585b70" },
|
||||
{ name = "gradle.properties", text = "", fg = "#585b70" },
|
||||
{ name = "code_of_conduct.md", text = "", fg = "#f38ba8" },
|
||||
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" },
|
||||
{ name = "PrusaSlicer.ini", text = "", fg = "#fab387" },
|
||||
{ name = "procfile", text = "", fg = "#7f849c" },
|
||||
{ name = "mpv.conf", text = "", fg = "#1e1e2e" },
|
||||
{ name = ".prettierrc.json5", text = "", fg = "#89b4fa" },
|
||||
{ name = "i3status.conf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "prettier.config.mjs", text = "", fg = "#89b4fa" },
|
||||
{ name = ".pylintrc", text = "", fg = "#7f849c" },
|
||||
{ name = "prettier.config.cjs", text = "", fg = "#89b4fa" },
|
||||
{ name = ".luacheckrc", text = "", fg = "#89b4fa" },
|
||||
{ name = "containerfile", text = "", fg = "#89b4fa" },
|
||||
{ name = "eslint.config.mjs", text = "", fg = "#585b70" },
|
||||
{ name = "gruntfile.js", text = "", fg = "#fab387" },
|
||||
{ name = "bun.lockb", text = "", fg = "#f5e0dc" },
|
||||
{ name = ".gitattributes", text = "", fg = "#fab387" },
|
||||
{ name = "gruntfile.ts", text = "", fg = "#fab387" },
|
||||
{ name = "pom.xml", text = "", fg = "#313244" },
|
||||
{ name = "favicon.ico", text = "", fg = "#f9e2af" },
|
||||
{ name = "package-lock.json", text = "", fg = "#313244" },
|
||||
{ name = "build", text = "", fg = "#a6e3a1" },
|
||||
{ name = "package.json", text = "", fg = "#f38ba8" },
|
||||
{ name = "nuxt.config.ts", text = "", fg = "#a6e3a1" },
|
||||
{ name = "nuxt.config.mjs", text = "", fg = "#a6e3a1" },
|
||||
{ name = "mix.lock", text = "", fg = "#7f849c" },
|
||||
{ name = "makefile", text = "", fg = "#7f849c" },
|
||||
{ name = "gulpfile.js", text = "", fg = "#f38ba8" },
|
||||
{ name = "lxde-rc.xml", text = "", fg = "#9399b2" },
|
||||
{ name = "kritarc", text = "", fg = "#cba6f7" },
|
||||
{ name = "gtkrc", text = "", fg = "#f5e0dc" },
|
||||
{ name = "ionic.config.json", text = "", fg = "#89b4fa" },
|
||||
{ name = ".prettierrc.mjs", text = "", fg = "#89b4fa" },
|
||||
{ name = ".prettierrc.yml", text = "", fg = "#89b4fa" },
|
||||
{ name = ".npmrc", text = "", fg = "#f38ba8" },
|
||||
{ name = "weston.ini", text = "", fg = "#f9e2af" },
|
||||
{ name = "gulpfile.babel.js", text = "", fg = "#f38ba8" },
|
||||
{ name = "i18n.config.ts", text = "", fg = "#7f849c" },
|
||||
{ name = "commitlint.config.js", text = "", fg = "#94e2d5" },
|
||||
{ name = ".gitmodules", text = "", fg = "#fab387" },
|
||||
{ name = "gradle-wrapper.properties", text = "", fg = "#585b70" },
|
||||
{ name = "hypridle.conf", text = "", fg = "#74c7ec" },
|
||||
{ name = "vercel.json", text = "▲", fg = "#f5e0dc" },
|
||||
{ name = "hyprlock.conf", text = "", fg = "#74c7ec" },
|
||||
{ name = "go.sum", text = "", fg = "#74c7ec" },
|
||||
{ name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" },
|
||||
{ name = "gruntfile.babel.js", text = "", fg = "#fab387" },
|
||||
{ name = "compose.yml", text = "", fg = "#89b4fa" },
|
||||
{ name = "i18n.config.js", text = "", fg = "#7f849c" },
|
||||
{ name = "readme.md", text = "", fg = "#f5e0dc" },
|
||||
{ name = "gradlew", text = "", fg = "#585b70" },
|
||||
{ name = "go.work", text = "", fg = "#74c7ec" },
|
||||
{ name = "gulpfile.ts", text = "", fg = "#f38ba8" },
|
||||
{ name = "gnumakefile", text = "", fg = "#7f849c" },
|
||||
{ name = "FreeCAD.conf", text = "", fg = "#f38ba8" },
|
||||
{ name = "compose.yaml", text = "", fg = "#89b4fa" },
|
||||
{ name = "eslint.config.js", text = "", fg = "#585b70" },
|
||||
{ name = "hyprland.conf", text = "", fg = "#74c7ec" },
|
||||
{ name = "docker-compose.yml", text = "", fg = "#89b4fa" },
|
||||
{ name = "groovy", text = "", fg = "#585b70" },
|
||||
{ name = "QtProject.conf", text = "", fg = "#a6e3a1" },
|
||||
{ name = "platformio.ini", text = "", fg = "#fab387" },
|
||||
{ name = "build.gradle", text = "", fg = "#585b70" },
|
||||
{ name = ".nuxtrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "_vimrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".zprofile", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".xsession", text = "", fg = "#fab387" },
|
||||
{ name = "prettier.config.js", text = "", fg = "#89b4fa" },
|
||||
{ name = ".babelrc", text = "", fg = "#f9e2af" },
|
||||
{ name = "workspace", text = "", fg = "#a6e3a1" },
|
||||
{ name = ".prettierrc.json", text = "", fg = "#89b4fa" },
|
||||
{ name = ".prettierrc.js", text = "", fg = "#89b4fa" },
|
||||
{ name = ".Xresources", text = "", fg = "#fab387" },
|
||||
{ name = ".gitignore", text = "", fg = "#fab387" },
|
||||
{ name = ".justfile", text = "", fg = "#7f849c" },
|
||||
]
|
||||
exts = [
|
||||
{ name = "otf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "import", text = "", fg = "#f5e0dc" },
|
||||
{ name = "krz", text = "", fg = "#cba6f7" },
|
||||
{ name = "adb", text = "", fg = "#94e2d5" },
|
||||
{ name = "ttf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "webpack", text = "", fg = "#74c7ec" },
|
||||
{ name = "dart", text = "", fg = "#585b70" },
|
||||
{ name = "vsh", text = "", fg = "#7f849c" },
|
||||
{ name = "doc", text = "", fg = "#585b70" },
|
||||
{ name = "zsh", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ex", text = "", fg = "#7f849c" },
|
||||
{ name = "hx", text = "", fg = "#fab387" },
|
||||
{ name = "fodt", text = "", fg = "#74c7ec" },
|
||||
{ name = "mojo", text = "", fg = "#fab387" },
|
||||
{ name = "templ", text = "", fg = "#f9e2af" },
|
||||
{ name = "nix", text = "", fg = "#74c7ec" },
|
||||
{ name = "cshtml", text = "", fg = "#585b70" },
|
||||
{ name = "fish", text = "", fg = "#585b70" },
|
||||
{ name = "ply", text = "", fg = "#7f849c" },
|
||||
{ name = "sldprt", text = "", fg = "#a6e3a1" },
|
||||
{ name = "gemspec", text = "", fg = "#313244" },
|
||||
{ name = "mjs", text = "", fg = "#f9e2af" },
|
||||
{ name = "csh", text = "", fg = "#585b70" },
|
||||
{ name = "cmake", text = "", fg = "#cdd6f4" },
|
||||
{ name = "fodp", text = "", fg = "#fab387" },
|
||||
{ name = "vi", text = "", fg = "#f9e2af" },
|
||||
{ name = "msf", text = "", fg = "#89b4fa" },
|
||||
{ name = "blp", text = "", fg = "#89b4fa" },
|
||||
{ name = "less", text = "", fg = "#45475a" },
|
||||
{ name = "sh", text = "", fg = "#585b70" },
|
||||
{ name = "odg", text = "", fg = "#f9e2af" },
|
||||
{ name = "mint", text = "", fg = "#a6e3a1" },
|
||||
{ name = "dll", text = "", fg = "#11111b" },
|
||||
{ name = "odf", text = "", fg = "#f38ba8" },
|
||||
{ name = "sqlite3", text = "", fg = "#f5e0dc" },
|
||||
{ name = "Dockerfile", text = "", fg = "#89b4fa" },
|
||||
{ name = "ksh", text = "", fg = "#585b70" },
|
||||
{ name = "rmd", text = "", fg = "#74c7ec" },
|
||||
{ name = "wv", text = "", fg = "#74c7ec" },
|
||||
{ name = "xml", text = "", fg = "#fab387" },
|
||||
{ name = "markdown", text = "", fg = "#cdd6f4" },
|
||||
{ name = "qml", text = "", fg = "#a6e3a1" },
|
||||
{ name = "3gp", text = "", fg = "#fab387" },
|
||||
{ name = "pxi", text = "", fg = "#89b4fa" },
|
||||
{ name = "flac", text = "", fg = "#6c7086" },
|
||||
{ name = "gpr", text = "", fg = "#cba6f7" },
|
||||
{ name = "huff", text = "", fg = "#585b70" },
|
||||
{ name = "json", text = "", fg = "#f9e2af" },
|
||||
{ name = "gv", text = "", fg = "#585b70" },
|
||||
{ name = "bmp", text = "", fg = "#7f849c" },
|
||||
{ name = "lock", text = "", fg = "#bac2de" },
|
||||
{ name = "sha384", text = "", fg = "#7f849c" },
|
||||
{ name = "cobol", text = "⚙", fg = "#585b70" },
|
||||
{ name = "cob", text = "⚙", fg = "#585b70" },
|
||||
{ name = "java", text = "", fg = "#f38ba8" },
|
||||
{ name = "cjs", text = "", fg = "#f9e2af" },
|
||||
{ name = "qm", text = "", fg = "#74c7ec" },
|
||||
{ name = "ebuild", text = "", fg = "#45475a" },
|
||||
{ name = "mustache", text = "", fg = "#fab387" },
|
||||
{ name = "terminal", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ejs", text = "", fg = "#f9e2af" },
|
||||
{ name = "brep", text = "", fg = "#a6e3a1" },
|
||||
{ name = "rar", text = "", fg = "#fab387" },
|
||||
{ name = "gradle", text = "", fg = "#585b70" },
|
||||
{ name = "gnumakefile", text = "", fg = "#7f849c" },
|
||||
{ name = "applescript", text = "", fg = "#7f849c" },
|
||||
{ name = "elm", text = "", fg = "#74c7ec" },
|
||||
{ name = "ebook", text = "", fg = "#fab387" },
|
||||
{ name = "kra", text = "", fg = "#cba6f7" },
|
||||
{ name = "tf", text = "", fg = "#585b70" },
|
||||
{ name = "xls", text = "", fg = "#585b70" },
|
||||
{ name = "fnl", text = "", fg = "#f9e2af" },
|
||||
{ name = "kdbx", text = "", fg = "#a6e3a1" },
|
||||
{ name = "kicad_pcb", text = "", fg = "#f5e0dc" },
|
||||
{ name = "cfg", text = "", fg = "#7f849c" },
|
||||
{ name = "ape", text = "", fg = "#74c7ec" },
|
||||
{ name = "org", text = "", fg = "#94e2d5" },
|
||||
{ name = "yml", text = "", fg = "#7f849c" },
|
||||
{ name = "swift", text = "", fg = "#fab387" },
|
||||
{ name = "eln", text = "", fg = "#7f849c" },
|
||||
{ name = "sol", text = "", fg = "#74c7ec" },
|
||||
{ name = "awk", text = "", fg = "#585b70" },
|
||||
{ name = "7z", text = "", fg = "#fab387" },
|
||||
{ name = "apl", text = "⍝", fg = "#fab387" },
|
||||
{ name = "epp", text = "", fg = "#fab387" },
|
||||
{ name = "app", text = "", fg = "#45475a" },
|
||||
{ name = "dot", text = "", fg = "#585b70" },
|
||||
{ name = "kpp", text = "", fg = "#cba6f7" },
|
||||
{ name = "eot", text = "", fg = "#f5e0dc" },
|
||||
{ name = "hpp", text = "", fg = "#7f849c" },
|
||||
{ name = "spec.tsx", text = "", fg = "#585b70" },
|
||||
{ name = "hurl", text = "", fg = "#f38ba8" },
|
||||
{ name = "cxxm", text = "", fg = "#74c7ec" },
|
||||
{ name = "c", text = "", fg = "#89b4fa" },
|
||||
{ name = "fcmacro", text = "", fg = "#f38ba8" },
|
||||
{ name = "sass", text = "", fg = "#f38ba8" },
|
||||
{ name = "yaml", text = "", fg = "#7f849c" },
|
||||
{ name = "xz", text = "", fg = "#fab387" },
|
||||
{ name = "material", text = "", fg = "#f38ba8" },
|
||||
{ name = "json5", text = "", fg = "#f9e2af" },
|
||||
{ name = "signature", text = "λ", fg = "#fab387" },
|
||||
{ name = "3mf", text = "", fg = "#7f849c" },
|
||||
{ name = "jpg", text = "", fg = "#7f849c" },
|
||||
{ name = "xpi", text = "", fg = "#fab387" },
|
||||
{ name = "fcmat", text = "", fg = "#f38ba8" },
|
||||
{ name = "pot", text = "", fg = "#74c7ec" },
|
||||
{ name = "bin", text = "", fg = "#45475a" },
|
||||
{ name = "xlsx", text = "", fg = "#585b70" },
|
||||
{ name = "aac", text = "", fg = "#74c7ec" },
|
||||
{ name = "kicad_sym", text = "", fg = "#f5e0dc" },
|
||||
{ name = "xcstrings", text = "", fg = "#74c7ec" },
|
||||
{ name = "lff", text = "", fg = "#f5e0dc" },
|
||||
{ name = "xcf", text = "", fg = "#585b70" },
|
||||
{ name = "azcli", text = "", fg = "#6c7086" },
|
||||
{ name = "license", text = "", fg = "#f9e2af" },
|
||||
{ name = "jsonc", text = "", fg = "#f9e2af" },
|
||||
{ name = "xaml", text = "", fg = "#585b70" },
|
||||
{ name = "md5", text = "", fg = "#7f849c" },
|
||||
{ name = "xm", text = "", fg = "#74c7ec" },
|
||||
{ name = "sln", text = "", fg = "#6c7086" },
|
||||
{ name = "jl", text = "", fg = "#7f849c" },
|
||||
{ name = "ml", text = "", fg = "#fab387" },
|
||||
{ name = "http", text = "", fg = "#89b4fa" },
|
||||
{ name = "x", text = "", fg = "#89b4fa" },
|
||||
{ name = "wvc", text = "", fg = "#74c7ec" },
|
||||
{ name = "wrz", text = "", fg = "#7f849c" },
|
||||
{ name = "csproj", text = "", fg = "#585b70" },
|
||||
{ name = "wrl", text = "", fg = "#7f849c" },
|
||||
{ name = "wma", text = "", fg = "#74c7ec" },
|
||||
{ name = "woff2", text = "", fg = "#f5e0dc" },
|
||||
{ name = "woff", text = "", fg = "#f5e0dc" },
|
||||
{ name = "tscn", text = "", fg = "#7f849c" },
|
||||
{ name = "webmanifest", text = "", fg = "#f9e2af" },
|
||||
{ name = "webm", text = "", fg = "#fab387" },
|
||||
{ name = "fcbak", text = "", fg = "#f38ba8" },
|
||||
{ name = "log", text = "", fg = "#cdd6f4" },
|
||||
{ name = "wav", text = "", fg = "#74c7ec" },
|
||||
{ name = "wasm", text = "", fg = "#585b70" },
|
||||
{ name = "styl", text = "", fg = "#a6e3a1" },
|
||||
{ name = "gif", text = "", fg = "#7f849c" },
|
||||
{ name = "resi", text = "", fg = "#f38ba8" },
|
||||
{ name = "aiff", text = "", fg = "#74c7ec" },
|
||||
{ name = "sha256", text = "", fg = "#7f849c" },
|
||||
{ name = "igs", text = "", fg = "#a6e3a1" },
|
||||
{ name = "vsix", text = "", fg = "#6c7086" },
|
||||
{ name = "vim", text = "", fg = "#a6e3a1" },
|
||||
{ name = "diff", text = "", fg = "#45475a" },
|
||||
{ name = "drl", text = "", fg = "#eba0ac" },
|
||||
{ name = "erl", text = "", fg = "#f38ba8" },
|
||||
{ name = "vhdl", text = "", fg = "#a6e3a1" },
|
||||
{ name = "🔥", text = "", fg = "#fab387" },
|
||||
{ name = "hrl", text = "", fg = "#f38ba8" },
|
||||
{ name = "fsi", text = "", fg = "#74c7ec" },
|
||||
{ name = "mm", text = "", fg = "#74c7ec" },
|
||||
{ name = "bz", text = "", fg = "#fab387" },
|
||||
{ name = "vh", text = "", fg = "#a6e3a1" },
|
||||
{ name = "kdb", text = "", fg = "#a6e3a1" },
|
||||
{ name = "gz", text = "", fg = "#fab387" },
|
||||
{ name = "cpp", text = "", fg = "#74c7ec" },
|
||||
{ name = "ui", text = "", fg = "#6c7086" },
|
||||
{ name = "txt", text = "", fg = "#a6e3a1" },
|
||||
{ name = "spec.ts", text = "", fg = "#74c7ec" },
|
||||
{ name = "ccm", text = "", fg = "#f38ba8" },
|
||||
{ name = "typoscript", text = "", fg = "#fab387" },
|
||||
{ name = "typ", text = "", fg = "#89dceb" },
|
||||
{ name = "txz", text = "", fg = "#fab387" },
|
||||
{ name = "test.ts", text = "", fg = "#74c7ec" },
|
||||
{ name = "tsx", text = "", fg = "#585b70" },
|
||||
{ name = "mk", text = "", fg = "#7f849c" },
|
||||
{ name = "webp", text = "", fg = "#7f849c" },
|
||||
{ name = "opus", text = "", fg = "#6c7086" },
|
||||
{ name = "bicep", text = "", fg = "#74c7ec" },
|
||||
{ name = "ts", text = "", fg = "#74c7ec" },
|
||||
{ name = "tres", text = "", fg = "#7f849c" },
|
||||
{ name = "torrent", text = "", fg = "#94e2d5" },
|
||||
{ name = "cxx", text = "", fg = "#74c7ec" },
|
||||
{ name = "iso", text = "", fg = "#f2cdcd" },
|
||||
{ name = "ixx", text = "", fg = "#74c7ec" },
|
||||
{ name = "hxx", text = "", fg = "#7f849c" },
|
||||
{ name = "gql", text = "", fg = "#f38ba8" },
|
||||
{ name = "tmux", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ini", text = "", fg = "#7f849c" },
|
||||
{ name = "m3u8", text = "", fg = "#f38ba8" },
|
||||
{ name = "image", text = "", fg = "#f2cdcd" },
|
||||
{ name = "tfvars", text = "", fg = "#585b70" },
|
||||
{ name = "tex", text = "", fg = "#45475a" },
|
||||
{ name = "cbl", text = "⚙", fg = "#585b70" },
|
||||
{ name = "flc", text = "", fg = "#f5e0dc" },
|
||||
{ name = "elc", text = "", fg = "#7f849c" },
|
||||
{ name = "test.tsx", text = "", fg = "#585b70" },
|
||||
{ name = "twig", text = "", fg = "#a6e3a1" },
|
||||
{ name = "sql", text = "", fg = "#f5e0dc" },
|
||||
{ name = "test.jsx", text = "", fg = "#74c7ec" },
|
||||
{ name = "htm", text = "", fg = "#fab387" },
|
||||
{ name = "gcode", text = "", fg = "#6c7086" },
|
||||
{ name = "test.js", text = "", fg = "#f9e2af" },
|
||||
{ name = "ino", text = "", fg = "#74c7ec" },
|
||||
{ name = "tcl", text = "", fg = "#585b70" },
|
||||
{ name = "cljs", text = "", fg = "#74c7ec" },
|
||||
{ name = "tsconfig", text = "", fg = "#fab387" },
|
||||
{ name = "img", text = "", fg = "#f2cdcd" },
|
||||
{ name = "t", text = "", fg = "#74c7ec" },
|
||||
{ name = "fcstd1", text = "", fg = "#f38ba8" },
|
||||
{ name = "out", text = "", fg = "#45475a" },
|
||||
{ name = "jsx", text = "", fg = "#74c7ec" },
|
||||
{ name = "bash", text = "", fg = "#a6e3a1" },
|
||||
{ name = "edn", text = "", fg = "#74c7ec" },
|
||||
{ name = "rss", text = "", fg = "#fab387" },
|
||||
{ name = "flf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "cache", text = "", fg = "#f5e0dc" },
|
||||
{ name = "sbt", text = "", fg = "#f38ba8" },
|
||||
{ name = "cppm", text = "", fg = "#74c7ec" },
|
||||
{ name = "svelte", text = "", fg = "#fab387" },
|
||||
{ name = "mo", text = "∞", fg = "#7f849c" },
|
||||
{ name = "sv", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ko", text = "", fg = "#f5e0dc" },
|
||||
{ name = "suo", text = "", fg = "#6c7086" },
|
||||
{ name = "sldasm", text = "", fg = "#a6e3a1" },
|
||||
{ name = "icalendar", text = "", fg = "#313244" },
|
||||
{ name = "go", text = "", fg = "#74c7ec" },
|
||||
{ name = "sublime", text = "", fg = "#fab387" },
|
||||
{ name = "stl", text = "", fg = "#7f849c" },
|
||||
{ name = "mobi", text = "", fg = "#fab387" },
|
||||
{ name = "graphql", text = "", fg = "#f38ba8" },
|
||||
{ name = "m3u", text = "", fg = "#f38ba8" },
|
||||
{ name = "cpy", text = "⚙", fg = "#585b70" },
|
||||
{ name = "kdenlive", text = "", fg = "#89b4fa" },
|
||||
{ name = "pyo", text = "", fg = "#f9e2af" },
|
||||
{ name = "po", text = "", fg = "#74c7ec" },
|
||||
{ name = "scala", text = "", fg = "#f38ba8" },
|
||||
{ name = "exs", text = "", fg = "#7f849c" },
|
||||
{ name = "odp", text = "", fg = "#fab387" },
|
||||
{ name = "dump", text = "", fg = "#f5e0dc" },
|
||||
{ name = "stp", text = "", fg = "#a6e3a1" },
|
||||
{ name = "step", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ste", text = "", fg = "#a6e3a1" },
|
||||
{ name = "aif", text = "", fg = "#74c7ec" },
|
||||
{ name = "strings", text = "", fg = "#74c7ec" },
|
||||
{ name = "cp", text = "", fg = "#74c7ec" },
|
||||
{ name = "fsscript", text = "", fg = "#74c7ec" },
|
||||
{ name = "mli", text = "", fg = "#fab387" },
|
||||
{ name = "bak", text = "", fg = "#7f849c" },
|
||||
{ name = "ssa", text = "", fg = "#f9e2af" },
|
||||
{ name = "toml", text = "", fg = "#585b70" },
|
||||
{ name = "makefile", text = "", fg = "#7f849c" },
|
||||
{ name = "php", text = "", fg = "#7f849c" },
|
||||
{ name = "zst", text = "", fg = "#fab387" },
|
||||
{ name = "spec.jsx", text = "", fg = "#74c7ec" },
|
||||
{ name = "kbx", text = "", fg = "#6c7086" },
|
||||
{ name = "fbx", text = "", fg = "#7f849c" },
|
||||
{ name = "blend", text = "", fg = "#fab387" },
|
||||
{ name = "ifc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "spec.js", text = "", fg = "#f9e2af" },
|
||||
{ name = "so", text = "", fg = "#f5e0dc" },
|
||||
{ name = "desktop", text = "", fg = "#45475a" },
|
||||
{ name = "sml", text = "λ", fg = "#fab387" },
|
||||
{ name = "slvs", text = "", fg = "#a6e3a1" },
|
||||
{ name = "pp", text = "", fg = "#fab387" },
|
||||
{ name = "ps1", text = "", fg = "#6c7086" },
|
||||
{ name = "dropbox", text = "", fg = "#6c7086" },
|
||||
{ name = "kicad_mod", text = "", fg = "#f5e0dc" },
|
||||
{ name = "bat", text = "", fg = "#a6e3a1" },
|
||||
{ name = "slim", text = "", fg = "#fab387" },
|
||||
{ name = "skp", text = "", fg = "#a6e3a1" },
|
||||
{ name = "css", text = "", fg = "#89b4fa" },
|
||||
{ name = "xul", text = "", fg = "#fab387" },
|
||||
{ name = "ige", text = "", fg = "#a6e3a1" },
|
||||
{ name = "glb", text = "", fg = "#fab387" },
|
||||
{ name = "ppt", text = "", fg = "#f38ba8" },
|
||||
{ name = "sha512", text = "", fg = "#7f849c" },
|
||||
{ name = "ics", text = "", fg = "#313244" },
|
||||
{ name = "mdx", text = "", fg = "#74c7ec" },
|
||||
{ name = "sha1", text = "", fg = "#7f849c" },
|
||||
{ name = "f3d", text = "", fg = "#a6e3a1" },
|
||||
{ name = "ass", text = "", fg = "#f9e2af" },
|
||||
{ name = "godot", text = "", fg = "#7f849c" },
|
||||
{ name = "ifb", text = "", fg = "#313244" },
|
||||
{ name = "cson", text = "", fg = "#f9e2af" },
|
||||
{ name = "lib", text = "", fg = "#11111b" },
|
||||
{ name = "luac", text = "", fg = "#74c7ec" },
|
||||
{ name = "heex", text = "", fg = "#7f849c" },
|
||||
{ name = "scm", text = "", fg = "#f5e0dc" },
|
||||
{ name = "psd1", text = "", fg = "#7f849c" },
|
||||
{ name = "sc", text = "", fg = "#f38ba8" },
|
||||
{ name = "scad", text = "", fg = "#f9e2af" },
|
||||
{ name = "kts", text = "", fg = "#6c7086" },
|
||||
{ name = "svh", text = "", fg = "#a6e3a1" },
|
||||
{ name = "mts", text = "", fg = "#74c7ec" },
|
||||
{ name = "nfo", text = "", fg = "#f9e2af" },
|
||||
{ name = "pck", text = "", fg = "#7f849c" },
|
||||
{ name = "rproj", text = "", fg = "#a6e3a1" },
|
||||
{ name = "rlib", text = "", fg = "#fab387" },
|
||||
{ name = "cljd", text = "", fg = "#74c7ec" },
|
||||
{ name = "ods", text = "", fg = "#a6e3a1" },
|
||||
{ name = "res", text = "", fg = "#f38ba8" },
|
||||
{ name = "apk", text = "", fg = "#a6e3a1" },
|
||||
{ name = "haml", text = "", fg = "#f5e0dc" },
|
||||
{ name = "d.ts", text = "", fg = "#fab387" },
|
||||
{ name = "razor", text = "", fg = "#585b70" },
|
||||
{ name = "rake", text = "", fg = "#313244" },
|
||||
{ name = "patch", text = "", fg = "#45475a" },
|
||||
{ name = "cuh", text = "", fg = "#7f849c" },
|
||||
{ name = "d", text = "", fg = "#f38ba8" },
|
||||
{ name = "query", text = "", fg = "#a6e3a1" },
|
||||
{ name = "psb", text = "", fg = "#74c7ec" },
|
||||
{ name = "nu", text = ">", fg = "#a6e3a1" },
|
||||
{ name = "mov", text = "", fg = "#fab387" },
|
||||
{ name = "lrc", text = "", fg = "#f9e2af" },
|
||||
{ name = "pyx", text = "", fg = "#89b4fa" },
|
||||
{ name = "pyw", text = "", fg = "#89b4fa" },
|
||||
{ name = "cu", text = "", fg = "#a6e3a1" },
|
||||
{ name = "bazel", text = "", fg = "#a6e3a1" },
|
||||
{ name = "obj", text = "", fg = "#7f849c" },
|
||||
{ name = "pyi", text = "", fg = "#f9e2af" },
|
||||
{ name = "pyd", text = "", fg = "#f9e2af" },
|
||||
{ name = "exe", text = "", fg = "#45475a" },
|
||||
{ name = "pyc", text = "", fg = "#f9e2af" },
|
||||
{ name = "fctb", text = "", fg = "#f38ba8" },
|
||||
{ name = "part", text = "", fg = "#94e2d5" },
|
||||
{ name = "blade.php", text = "", fg = "#f38ba8" },
|
||||
{ name = "git", text = "", fg = "#fab387" },
|
||||
{ name = "psd", text = "", fg = "#74c7ec" },
|
||||
{ name = "qss", text = "", fg = "#a6e3a1" },
|
||||
{ name = "csv", text = "", fg = "#a6e3a1" },
|
||||
{ name = "psm1", text = "", fg = "#7f849c" },
|
||||
{ name = "dconf", text = "", fg = "#f5e0dc" },
|
||||
{ name = "config.ru", text = "", fg = "#313244" },
|
||||
{ name = "prisma", text = "", fg = "#6c7086" },
|
||||
{ name = "conf", text = "", fg = "#7f849c" },
|
||||
{ name = "clj", text = "", fg = "#a6e3a1" },
|
||||
{ name = "o", text = "", fg = "#45475a" },
|
||||
{ name = "mp4", text = "", fg = "#fab387" },
|
||||
{ name = "cc", text = "", fg = "#f38ba8" },
|
||||
{ name = "kicad_prl", text = "", fg = "#f5e0dc" },
|
||||
{ name = "bz3", text = "", fg = "#fab387" },
|
||||
{ name = "asc", text = "", fg = "#6c7086" },
|
||||
{ name = "png", text = "", fg = "#7f849c" },
|
||||
{ name = "android", text = "", fg = "#a6e3a1" },
|
||||
{ name = "pm", text = "", fg = "#74c7ec" },
|
||||
{ name = "h", text = "", fg = "#7f849c" },
|
||||
{ name = "pls", text = "", fg = "#f38ba8" },
|
||||
{ name = "ipynb", text = "", fg = "#fab387" },
|
||||
{ name = "pl", text = "", fg = "#74c7ec" },
|
||||
{ name = "ads", text = "", fg = "#f5e0dc" },
|
||||
{ name = "sqlite", text = "", fg = "#f5e0dc" },
|
||||
{ name = "pdf", text = "", fg = "#585b70" },
|
||||
{ name = "pcm", text = "", fg = "#6c7086" },
|
||||
{ name = "ico", text = "", fg = "#f9e2af" },
|
||||
{ name = "a", text = "", fg = "#f5e0dc" },
|
||||
{ name = "R", text = "", fg = "#6c7086" },
|
||||
{ name = "ogg", text = "", fg = "#6c7086" },
|
||||
{ name = "pxd", text = "", fg = "#89b4fa" },
|
||||
{ name = "kdenlivetitle", text = "", fg = "#89b4fa" },
|
||||
{ name = "jxl", text = "", fg = "#7f849c" },
|
||||
{ name = "nswag", text = "", fg = "#a6e3a1" },
|
||||
{ name = "nim", text = "", fg = "#f9e2af" },
|
||||
{ name = "bqn", text = "⎉", fg = "#6c7086" },
|
||||
{ name = "cts", text = "", fg = "#74c7ec" },
|
||||
{ name = "fcparam", text = "", fg = "#f38ba8" },
|
||||
{ name = "rs", text = "", fg = "#fab387" },
|
||||
{ name = "mpp", text = "", fg = "#74c7ec" },
|
||||
{ name = "fdmdownload", text = "", fg = "#94e2d5" },
|
||||
{ name = "pptx", text = "", fg = "#f38ba8" },
|
||||
{ name = "jpeg", text = "", fg = "#7f849c" },
|
||||
{ name = "bib", text = "", fg = "#f9e2af" },
|
||||
{ name = "vhd", text = "", fg = "#a6e3a1" },
|
||||
{ name = "m", text = "", fg = "#89b4fa" },
|
||||
{ name = "js", text = "", fg = "#f9e2af" },
|
||||
{ name = "eex", text = "", fg = "#7f849c" },
|
||||
{ name = "tbc", text = "", fg = "#585b70" },
|
||||
{ name = "astro", text = "", fg = "#f38ba8" },
|
||||
{ name = "sha224", text = "", fg = "#7f849c" },
|
||||
{ name = "xcplayground", text = "", fg = "#fab387" },
|
||||
{ name = "el", text = "", fg = "#7f849c" },
|
||||
{ name = "m4v", text = "", fg = "#fab387" },
|
||||
{ name = "m4a", text = "", fg = "#74c7ec" },
|
||||
{ name = "cs", text = "", fg = "#585b70" },
|
||||
{ name = "hs", text = "", fg = "#7f849c" },
|
||||
{ name = "tgz", text = "", fg = "#fab387" },
|
||||
{ name = "fs", text = "", fg = "#74c7ec" },
|
||||
{ name = "luau", text = "", fg = "#89b4fa" },
|
||||
{ name = "dxf", text = "", fg = "#a6e3a1" },
|
||||
{ name = "download", text = "", fg = "#94e2d5" },
|
||||
{ name = "cast", text = "", fg = "#fab387" },
|
||||
{ name = "qrc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "lua", text = "", fg = "#74c7ec" },
|
||||
{ name = "lhs", text = "", fg = "#7f849c" },
|
||||
{ name = "md", text = "", fg = "#cdd6f4" },
|
||||
{ name = "leex", text = "", fg = "#7f849c" },
|
||||
{ name = "ai", text = "", fg = "#f9e2af" },
|
||||
{ name = "lck", text = "", fg = "#bac2de" },
|
||||
{ name = "kt", text = "", fg = "#6c7086" },
|
||||
{ name = "bicepparam", text = "", fg = "#7f849c" },
|
||||
{ name = "hex", text = "", fg = "#6c7086" },
|
||||
{ name = "zig", text = "", fg = "#fab387" },
|
||||
{ name = "bzl", text = "", fg = "#a6e3a1" },
|
||||
{ name = "cljc", text = "", fg = "#a6e3a1" },
|
||||
{ name = "kicad_dru", text = "", fg = "#f5e0dc" },
|
||||
{ name = "fctl", text = "", fg = "#f38ba8" },
|
||||
{ name = "f#", text = "", fg = "#74c7ec" },
|
||||
{ name = "odt", text = "", fg = "#74c7ec" },
|
||||
{ name = "conda", text = "", fg = "#a6e3a1" },
|
||||
{ name = "vala", text = "", fg = "#585b70" },
|
||||
{ name = "erb", text = "", fg = "#313244" },
|
||||
{ name = "mp3", text = "", fg = "#74c7ec" },
|
||||
{ name = "bz2", text = "", fg = "#fab387" },
|
||||
{ name = "coffee", text = "", fg = "#f9e2af" },
|
||||
{ name = "cr", text = "", fg = "#f5e0dc" },
|
||||
{ name = "f90", text = "", fg = "#585b70" },
|
||||
{ name = "jwmrc", text = "", fg = "#6c7086" },
|
||||
{ name = "c++", text = "", fg = "#f38ba8" },
|
||||
{ name = "fcscript", text = "", fg = "#f38ba8" },
|
||||
{ name = "fods", text = "", fg = "#a6e3a1" },
|
||||
{ name = "cue", text = "", fg = "#f38ba8" },
|
||||
{ name = "srt", text = "", fg = "#f9e2af" },
|
||||
{ name = "info", text = "", fg = "#f9e2af" },
|
||||
{ name = "hh", text = "", fg = "#7f849c" },
|
||||
{ name = "sig", text = "λ", fg = "#fab387" },
|
||||
{ name = "html", text = "", fg = "#fab387" },
|
||||
{ name = "iges", text = "", fg = "#a6e3a1" },
|
||||
{ name = "kicad_wks", text = "", fg = "#f5e0dc" },
|
||||
{ name = "hbs", text = "", fg = "#fab387" },
|
||||
{ name = "fcstd", text = "", fg = "#f38ba8" },
|
||||
{ name = "gresource", text = "", fg = "#f5e0dc" },
|
||||
{ name = "sub", text = "", fg = "#f9e2af" },
|
||||
{ name = "ical", text = "", fg = "#313244" },
|
||||
{ name = "crdownload", text = "", fg = "#94e2d5" },
|
||||
{ name = "pub", text = "", fg = "#f9e2af" },
|
||||
{ name = "vue", text = "", fg = "#a6e3a1" },
|
||||
{ name = "gd", text = "", fg = "#7f849c" },
|
||||
{ name = "fsx", text = "", fg = "#74c7ec" },
|
||||
{ name = "mkv", text = "", fg = "#fab387" },
|
||||
{ name = "py", text = "", fg = "#f9e2af" },
|
||||
{ name = "kicad_sch", text = "", fg = "#f5e0dc" },
|
||||
{ name = "epub", text = "", fg = "#fab387" },
|
||||
{ name = "env", text = "", fg = "#f9e2af" },
|
||||
{ name = "magnet", text = "", fg = "#45475a" },
|
||||
{ name = "elf", text = "", fg = "#45475a" },
|
||||
{ name = "fodg", text = "", fg = "#f9e2af" },
|
||||
{ name = "svg", text = "", fg = "#fab387" },
|
||||
{ name = "dwg", text = "", fg = "#a6e3a1" },
|
||||
{ name = "docx", text = "", fg = "#585b70" },
|
||||
{ name = "pro", text = "", fg = "#f9e2af" },
|
||||
{ name = "db", text = "", fg = "#f5e0dc" },
|
||||
{ name = "rb", text = "", fg = "#313244" },
|
||||
{ name = "r", text = "", fg = "#6c7086" },
|
||||
{ name = "scss", text = "", fg = "#f38ba8" },
|
||||
{ name = "cow", text = "", fg = "#fab387" },
|
||||
{ name = "gleam", text = "", fg = "#f5c2e7" },
|
||||
{ name = "v", text = "", fg = "#a6e3a1" },
|
||||
{ name = "kicad_pro", text = "", fg = "#f5e0dc" },
|
||||
{ name = "liquid", text = "", fg = "#a6e3a1" },
|
||||
{ name = "zip", text = "", fg = "#fab387" },
|
||||
]
|
||||
62
tools/zed/keymap.json
Executable file
62
tools/zed/keymap.json
Executable file
|
|
@ -0,0 +1,62 @@
|
|||
// $DOTFILES/tools/zed/keymaps.json
|
||||
// Date: 2025-01-25
|
||||
// Author: js0ny
|
||||
// Description: Zed keymaps
|
||||
|
||||
// Location:
|
||||
// GNU/Linux: ~/.config/zed/keymaps.json
|
||||
// Windows: %APPDATA%\Zed\keymaps.json
|
||||
// Linking: (link the whole directory)
|
||||
// ln -sf $DOTFILES/tools/zed ~/.config/zed
|
||||
|
||||
// Zed keymap
|
||||
|
||||
//
|
||||
|
||||
// For information on binding keys, see the Zed
|
||||
|
||||
// documentation: https://zed.dev/docs/key-bindings
|
||||
|
||||
//
|
||||
|
||||
// To see the default key bindings run `zed: open default keymap`
|
||||
|
||||
// from the command palette.
|
||||
|
||||
[
|
||||
{
|
||||
"context": "Workspace",
|
||||
|
||||
"bindings": {
|
||||
// "shift shift": "file_finder::Toggle"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"context": "Editor",
|
||||
|
||||
"bindings": {
|
||||
// "j k": ["workspace::SendKeystrokes", "escape"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"context": "vim_mode == normal || vim_mode == visual",
|
||||
|
||||
"bindings": {
|
||||
"N": "vim::JoinLines",
|
||||
"l": "vim::InsertBefore",
|
||||
"L": "vim::InsertFirstNonWhitespace"
|
||||
}
|
||||
},
|
||||
{
|
||||
"context": "vim_mode == normal || vim_mode == visual || vim_mode == operator",
|
||||
|
||||
"bindings": {
|
||||
"n": "vim::Down",
|
||||
"e": "vim::Up",
|
||||
"i": "vim::Right",
|
||||
"k": "search::SelectNextMatch",
|
||||
"K": "search::SelectPrevMatch"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
tools/zed/settings.json
Normal file
30
tools/zed/settings.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// $DOTFILES/tools/zed/settings.json
|
||||
// Date: 2025-01-25
|
||||
// Author: js0ny
|
||||
// Description: Zed settings (jsonc)
|
||||
|
||||
// Location:
|
||||
// GNU/Linux: ~/.config/zed/settings.json
|
||||
// Windows: %APPDATA%\Zed\settings.json
|
||||
// Linking: (link the whole directory)
|
||||
// ln -sf $DOTFILES/tools/zed ~/.config/zed
|
||||
//
|
||||
// Zed settings
|
||||
//
|
||||
// For information on how to configure Zed, see the Zed
|
||||
// documentation: https://zed.dev/docs/configuring-zed
|
||||
//
|
||||
// To see all of Zed's default settings without changing your
|
||||
// custom settings, run `zed: open default settings` from the
|
||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||
{
|
||||
"vim_mode": true,
|
||||
"ui_font_size": 16,
|
||||
"buffer_font_size": 16,
|
||||
"theme": {
|
||||
"mode": "dark",
|
||||
"light": "Catppuccin Latte",
|
||||
"dark": "Catppuccin Mocha"
|
||||
},
|
||||
"relative_line_numbers": true
|
||||
}
|
||||
28
tools/zed/snippets/c.json
Executable file
28
tools/zed/snippets/c.json
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"main": {
|
||||
"prefix": "main",
|
||||
"body": [
|
||||
"int main() {",
|
||||
" $1",
|
||||
" return 0;",
|
||||
"}"
|
||||
],
|
||||
"description": "Main function with no arguments"
|
||||
},
|
||||
"mainn": {
|
||||
"prefix": "mainn",
|
||||
"body": [
|
||||
"",
|
||||
"int main(int argc, char *argv[]) {",
|
||||
" $1",
|
||||
" return 0;",
|
||||
"}"
|
||||
],
|
||||
"description": "Main function with arguments"
|
||||
},
|
||||
"once": {
|
||||
"prefix": "#once",
|
||||
"body": ["#ifndef $1", "#define $1", "", "$2", "", "#endif"],
|
||||
"description": "Include guard"
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@
|
|||
# Author: js0ny
|
||||
# Sourced by user's zshrc 在用户的 zshrc 中被引用
|
||||
|
||||
export STARSHIP_CONFIG=$DOTFILES/tools/starship/starship_zsh.toml
|
||||
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue