mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 20:25:30 +00:00
feat: add Dotbot
This commit is contained in:
232
config/atuin/config.toml
Normal file
232
config/atuin/config.toml
Normal file
@@ -0,0 +1,232 @@
|
||||
## where to store your database, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/history.db
|
||||
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
||||
# db_path = "~/.history.db"
|
||||
|
||||
## where to store your encryption key, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/key
|
||||
## windows: %USERPROFILE%/.local/share/atuin/key
|
||||
# key_path = "~/.key"
|
||||
|
||||
## where to store your auth session token, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/session
|
||||
## windows: %USERPROFILE%/.local/share/atuin/session
|
||||
# session_path = "~/.session"
|
||||
|
||||
## date format used, either "us" or "uk"
|
||||
# dialect = "us"
|
||||
|
||||
## default timezone to use when displaying time
|
||||
## either "l", "local" to use the system's current local timezone, or an offset
|
||||
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
||||
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
||||
# timezone = "local"
|
||||
|
||||
## enable or disable automatic sync
|
||||
# auto_sync = true
|
||||
|
||||
## enable or disable automatic update checks
|
||||
# update_check = true
|
||||
|
||||
## address of the sync server
|
||||
# sync_address = "https://api.atuin.sh"
|
||||
|
||||
## how often to sync history. note that this is only triggered when a command
|
||||
## is ran, so sync intervals may well be longer
|
||||
## set it to 0 to sync after every command
|
||||
# sync_frequency = "10m"
|
||||
|
||||
## which search mode to use
|
||||
## possible values: prefix, fulltext, fuzzy, skim
|
||||
# search_mode = "fuzzy"
|
||||
|
||||
## which filter mode to use
|
||||
## possible values: global, host, session, directory
|
||||
# filter_mode = "global"
|
||||
|
||||
## With workspace filtering enabled, Atuin will filter for commands executed
|
||||
## in any directory within a git repository tree (default: false)
|
||||
# workspaces = false
|
||||
|
||||
## which filter mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "filter_mode"
|
||||
## leave unspecified to use same mode set in "filter_mode"
|
||||
# filter_mode_shell_up_key_binding = "global"
|
||||
|
||||
## which search mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "search_mode"
|
||||
## leave unspecified to use same mode set in "search_mode"
|
||||
# search_mode_shell_up_key_binding = "fuzzy"
|
||||
|
||||
## which style to use
|
||||
## possible values: auto, full, compact
|
||||
# style = "auto"
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## set it to 0 to always go full screen
|
||||
# inline_height = 0
|
||||
|
||||
## Invert the UI - put the search bar at the top , Default to `false`
|
||||
# invert = false
|
||||
|
||||
## enable or disable showing a preview of the selected command
|
||||
## useful when the command is longer than the terminal width and is cut off
|
||||
# show_preview = true
|
||||
|
||||
## what to do when the escape key is pressed when searching
|
||||
## possible values: return-original, return-query
|
||||
# exit_mode = "return-original"
|
||||
|
||||
## possible values: emacs, subl
|
||||
# word_jump_mode = "emacs"
|
||||
|
||||
## characters that count as a part of a word
|
||||
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
## number of context lines to show when scrolling by pages
|
||||
# scroll_context_lines = 1
|
||||
|
||||
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
||||
## alt-0 .. alt-9
|
||||
# ctrl_n_shortcuts = false
|
||||
|
||||
## default history list format - can also be specified with the --format arg
|
||||
# history_format = "{time}\t{command}\t{duration}"
|
||||
|
||||
## prevent commands matching any of these regexes from being written to history.
|
||||
## Note that these regular expressions are unanchored, i.e. if they don't start
|
||||
## with ^ or end with $, they'll match anywhere in the command.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# history_filter = [
|
||||
# "^secret-cmd",
|
||||
# "^innocuous-cmd .*--secret=.+",
|
||||
# ]
|
||||
|
||||
## prevent commands run with cwd matching any of these regexes from being written
|
||||
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
||||
## start with ^ or end with $, they'll match anywhere in CWD.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# cwd_filter = [
|
||||
# "^/very/secret/area",
|
||||
# ]
|
||||
|
||||
## Configure the maximum height of the preview to show.
|
||||
## Useful when you have long scripts in your history that you want to distinguish
|
||||
## by more than the first few lines.
|
||||
# max_preview_height = 4
|
||||
|
||||
## Configure whether or not to show the help row, which includes the current Atuin
|
||||
## version (and whether an update is available), a keymap hint, and the total
|
||||
## amount of commands in your history.
|
||||
# show_help = true
|
||||
|
||||
## Configure whether or not to show tabs for search and inspect
|
||||
# show_tabs = true
|
||||
|
||||
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
||||
## 1. AWS key id
|
||||
## 2. Github pat (old and new)
|
||||
## 3. Slack oauth tokens (bot, user)
|
||||
## 4. Slack webhooks
|
||||
## 5. Stripe live/test keys
|
||||
# secrets_filter = true
|
||||
|
||||
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||
enter_accept = false
|
||||
|
||||
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
||||
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
||||
## search is automatically selected based on the shell's keymap where the
|
||||
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
||||
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
||||
## the specified one.
|
||||
# keymap_mode = "auto"
|
||||
|
||||
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
||||
## in entering the cursor shape. Available values are "default" and
|
||||
## "{blink,steady}-{block,underline,bar}".
|
||||
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
||||
|
||||
# network_connect_timeout = 5
|
||||
# network_timeout = 5
|
||||
|
||||
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
||||
# local_timeout = 5
|
||||
|
||||
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
||||
## Alternatively, set env NO_MOTION=true
|
||||
# prefers_reduced_motion = false
|
||||
|
||||
[stats]
|
||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
# common_subcommands = [
|
||||
# "apt",
|
||||
# "cargo",
|
||||
# "composer",
|
||||
# "dnf",
|
||||
# "docker",
|
||||
# "git",
|
||||
# "go",
|
||||
# "ip",
|
||||
# "kubectl",
|
||||
# "nix",
|
||||
# "nmcli",
|
||||
# "npm",
|
||||
# "pecl",
|
||||
# "pnpm",
|
||||
# "podman",
|
||||
# "port",
|
||||
# "systemctl",
|
||||
# "tmux",
|
||||
# "yarn",
|
||||
# ]
|
||||
|
||||
## Set commands that should be totally stripped and ignored from stats
|
||||
# common_prefix = ["sudo"]
|
||||
|
||||
## Set commands that will be completely ignored from stats
|
||||
# ignored_commands = [
|
||||
# "cd",
|
||||
# "ls",
|
||||
# "vi"
|
||||
# ]
|
||||
|
||||
[keys]
|
||||
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
||||
# scroll_exits = false
|
||||
|
||||
[sync]
|
||||
# Enable sync v2 by default
|
||||
# This ensures that sync v2 is enabled for new installs only
|
||||
# In a later release it will become the default across the board
|
||||
records = true
|
||||
|
||||
[preview]
|
||||
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
||||
## possible values: auto, static
|
||||
## auto: length of the selected command.
|
||||
## static: length of the longest command stored in the history.
|
||||
# strategy = "auto"
|
||||
|
||||
[daemon]
|
||||
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||
# enabled = false
|
||||
|
||||
## How often the daemon should sync in seconds
|
||||
# sync_frequency = 300
|
||||
|
||||
## The path to the unix socket used by the daemon (on unix systems)
|
||||
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||
## windows: Not Supported
|
||||
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||
|
||||
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||
## linux: false
|
||||
## mac/windows: Not Supported
|
||||
# systemd_socket = false
|
||||
|
||||
## The port that should be used for TCP on non unix systems
|
||||
# tcp_port = 8889
|
||||
8
config/bat/config
Normal file
8
config/bat/config
Normal file
@@ -0,0 +1,8 @@
|
||||
--italic-text='always'
|
||||
--map-syntax='.*ignore:Git Ignore'
|
||||
--map-syntax='.gitconfig.local:Git Config'
|
||||
--map-syntax='flake.lock:JSON'
|
||||
--pager='less -FR'
|
||||
--style='numbers,changes,header,grid'
|
||||
--theme='catppuccin-mocha'
|
||||
--wrap='never'
|
||||
0
config/bat/syntaxes/.gitkeep
Normal file
0
config/bat/syntaxes/.gitkeep
Normal file
959
config/bat/themes/Catppuccin-frappe.tmTheme
Normal file
959
config/bat/themes/Catppuccin-frappe.tmTheme
Normal file
@@ -0,0 +1,959 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6d0f5</string>
|
||||
<key>background</key>
|
||||
<string>#303446</string>
|
||||
<key>caret</key>
|
||||
<string>#b5bfe2</string>
|
||||
<key>invisibles</key>
|
||||
<string>#a5adce</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#949cbb</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#a6d189</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#626880</string>
|
||||
<key>selection</key>
|
||||
<string>#737994</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#303446</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#292c3c</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#e5c890</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#949cbb</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#949cbb</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#737994</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6d189</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#babbf1</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ca9ee6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4b8e4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#99d1db</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#949cbb</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e5c890</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#99d1db</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#99d1db</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#babbf1</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea999c</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#99d1db</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6d0f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ef9f76</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ca9ee6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea999c</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2d5cf</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#babbf1</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8caaee</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea999c</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea999c</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4b8e4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4b8e4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#babbf1</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eebebe</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eebebe</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6d0f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#babbf1</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#81c8be</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6d0f5</string>
|
||||
<key>background</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6d0f5</string>
|
||||
<key>background</key>
|
||||
<string>#ca9ee6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#737994</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6d189</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e5c890</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e78284</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
||||
959
config/bat/themes/Catppuccin-latte.tmTheme
Normal file
959
config/bat/themes/Catppuccin-latte.tmTheme
Normal file
@@ -0,0 +1,959 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#4c4f69</string>
|
||||
<key>background</key>
|
||||
<string>#eff1f5</string>
|
||||
<key>caret</key>
|
||||
<string>#5c5f77</string>
|
||||
<key>invisibles</key>
|
||||
<string>#6c6f85</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#7c7f93</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#40a02b</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#acb0be</string>
|
||||
<key>selection</key>
|
||||
<string>#9ca0b0</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#eff1f5</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#fe640b</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#e6e9ef</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#df8e1d</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#7c7f93</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#7c7f93</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#9ca0b0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#40a02b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7287fd</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8839ef</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea76cb</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#04a5e5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7c7f93</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#df8e1d</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#04a5e5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#04a5e5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7287fd</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e64553</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#04a5e5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#4c4f69</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe640b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8839ef</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e64553</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dc8a78</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7287fd</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#1e66f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e64553</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#e64553</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea76cb</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ea76cb</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7287fd</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dd7878</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#dd7878</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#4c4f69</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#7287fd</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#179299</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#4c4f69</string>
|
||||
<key>background</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#4c4f69</string>
|
||||
<key>background</key>
|
||||
<string>#8839ef</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#9ca0b0</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#40a02b</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#df8e1d</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d20f39</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
||||
959
config/bat/themes/Catppuccin-macchiato.tmTheme
Normal file
959
config/bat/themes/Catppuccin-macchiato.tmTheme
Normal file
@@ -0,0 +1,959 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#24273a</string>
|
||||
<key>caret</key>
|
||||
<string>#b8c0e0</string>
|
||||
<key>invisibles</key>
|
||||
<string>#a5adcb</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#a6da95</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#5b6078</string>
|
||||
<key>selection</key>
|
||||
<string>#6e738d</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#24273a</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#1e2030</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#eed49f</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
||||
959
config/bat/themes/Catppuccin-mocha.tmTheme
Normal file
959
config/bat/themes/Catppuccin-mocha.tmTheme
Normal file
@@ -0,0 +1,959 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cdd6f4</string>
|
||||
<key>background</key>
|
||||
<string>#1e1e2e</string>
|
||||
<key>caret</key>
|
||||
<string>#bac2de</string>
|
||||
<key>invisibles</key>
|
||||
<string>#a6adc8</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#9399b2</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#a6e3a1</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#585b70</string>
|
||||
<key>selection</key>
|
||||
<string>#6c7086</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#1e1e2e</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#fab387</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#181825</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#f9e2af</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#9399b2</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#9399b2</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6c7086</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6e3a1</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4befe</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cba6f7</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5c2e7</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89dceb</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#9399b2</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f9e2af</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89dceb</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89dceb</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4befe</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eba0ac</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89dceb</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cdd6f4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fab387</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cba6f7</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eba0ac</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5e0dc</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4befe</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#89b4fa</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eba0ac</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eba0ac</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5c2e7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5c2e7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4befe</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2cdcd</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f2cdcd</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cdd6f4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b4befe</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#94e2d5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cdd6f4</string>
|
||||
<key>background</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cdd6f4</string>
|
||||
<key>background</key>
|
||||
<string>#cba6f7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6c7086</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6e3a1</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f9e2af</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f38ba8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
||||
205
config/fish/config.fish
Normal file
205
config/fish/config.fish
Normal file
@@ -0,0 +1,205 @@
|
||||
# Use wezterm.terminfo
|
||||
# curl https://raw.githubusercontent.com/wez/wezterm/master/termwiz/data/wezterm.terminfo | tic -x -
|
||||
|
||||
# *** *** Key Bindings *** ***
|
||||
|
||||
# Enable vi-mode key bindings
|
||||
fish_vi_key_bindings
|
||||
|
||||
# (r)everse history search
|
||||
bind -M viins '^r' fzf-history-widget
|
||||
|
||||
# (f)ile / (t)
|
||||
bind -M viins '^f' fzf-file-widget
|
||||
|
||||
# (z) jump
|
||||
bind -M viins '^z' fzf-cd-widget
|
||||
|
||||
# *** *** Session Variables *** ***
|
||||
|
||||
set TERM wezterm
|
||||
|
||||
# General
|
||||
set -x KEYTIMEOUT 1
|
||||
|
||||
if command -v nvim >/dev/null 2>&1
|
||||
set -x EDITOR nvim
|
||||
set -x GIT_EDITOR nvim
|
||||
end
|
||||
|
||||
# XDG base directory specification
|
||||
set -x XDG_CACHE_HOME $HOME/.cache
|
||||
set -x XDG_CONFIG_HOME $HOME/.config
|
||||
set -x XDG_DATA_HOME $HOME/.local/share
|
||||
set -x XDG_STATE_HOME $HOME/.local/state
|
||||
|
||||
# SSH
|
||||
set -x SSH_AUTH_SOCK $HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh
|
||||
|
||||
# fd
|
||||
set FD_OPTIONS "--follow --exclude .git --exclude node_modules"
|
||||
|
||||
# fzf
|
||||
set -x FZF_ALT_C_COMMAND "fd --type d $FD_OPTIONS --color=never --hidden"
|
||||
set -x FZF_ALT_C_OPTS "--preview 'tree -C {} | head -50'"
|
||||
set -x FZF_CTRL_R_OPTS --reverse
|
||||
set -x FZF_CTRL_T_COMMAND "git ls-files --cached --others --exclude-standard | fd --hidden --type f --type l $FD_OPTIONS"
|
||||
set -x FZF_CTRL_T_OPTS "--preview 'bat --color=always --style=numbers {}' --bind shift-up:preview-page-up,shift-down:preview-page-down"
|
||||
set -x FZF_DEFAULT_COMMAND "git ls-files --cached --others --exclude-standard | fd --hidden --type f --type l $FD_OPTIONS"
|
||||
set -x FZF_DEFAULT_OPTS --no-height
|
||||
set -x FZF_TMUX 1
|
||||
set -x FZF_TMUX_OPTS -p
|
||||
|
||||
# Man
|
||||
set -x MANPATH /usr/local/man $MANPATH
|
||||
|
||||
# Volta
|
||||
set -x VOLTA_HOME $HOME/.volta
|
||||
|
||||
# *** *** Session Paths *** ***
|
||||
|
||||
# Volta
|
||||
fish_add_path $VOLTA_HOME/bin
|
||||
|
||||
# Rust
|
||||
fish_add_path $HOME/.cargo/bin
|
||||
|
||||
# tmux plugins
|
||||
fish_add_path $HOME/.tmux/plugins/tmux-nvr/bin
|
||||
fish_add_path $HOME/.tmux/plugins/t-smart-tmux-session-manager/bin
|
||||
|
||||
# Personal
|
||||
fish_add_path $HOME/.dotfiles/bin
|
||||
fish_add_path $HOME/.dotfiles/private/bin
|
||||
|
||||
# Homebrew
|
||||
fish_add_path (brew --prefix)/bin
|
||||
fish_add_path (brew --prefix)/sbin
|
||||
fish_add_path (brew --prefix)/whalebrew/bin
|
||||
|
||||
# System
|
||||
fish_add_path /usr/bin
|
||||
fish_add_path /usr/local/bin
|
||||
fish_add_path /usr/local/sbin
|
||||
|
||||
# asdf
|
||||
fish_add_path $HOME/.asdf/shims
|
||||
|
||||
# Stable Diffusion Webui
|
||||
# set VIRTUAL_ENV $HOME/Code/AI/stable-diffusion-webui/venv
|
||||
|
||||
# *** *** Tools *** ***
|
||||
|
||||
# Homebrew
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
|
||||
# asdf
|
||||
source (brew --prefix asdf)/libexec/asdf.fish
|
||||
|
||||
# GitHub CLI completion
|
||||
if command -v gh >/dev/null 2>&1
|
||||
eval "$(gh completion -s fish)"
|
||||
end
|
||||
|
||||
# fzf
|
||||
fzf --fish | source
|
||||
|
||||
# Direnv
|
||||
direnv hook fish | source
|
||||
|
||||
# Zoxide
|
||||
zoxide init fish | source
|
||||
|
||||
# Atuin
|
||||
atuin init fish | source
|
||||
|
||||
# Starship
|
||||
starship init fish | source
|
||||
|
||||
# *** *** Aliases *** ***
|
||||
|
||||
alias reload 'exec fish'
|
||||
|
||||
# Folders/Lists
|
||||
alias ... 'cd ../..'
|
||||
alias cd.. 'cd ..'
|
||||
alias ls 'eza --git --group-directories-first --icons'
|
||||
alias ll 'eza -l --git --group-directories-first --icons'
|
||||
alias lt 'eza --git --group-directories-first --icons --tree'
|
||||
alias mkdir 'mkdir -p'
|
||||
alias dotfiles 'cd $HOME/.dotfiles'
|
||||
alias icloud 'cd $HOME/Library/Mobile\ Documents/com~apple~CloudDocs'
|
||||
alias dropbox 'cd $HOME/Dropbox'
|
||||
|
||||
# pnpm
|
||||
alias pn pnpm
|
||||
alias px pnpx
|
||||
|
||||
# Git
|
||||
alias ga 'git add'
|
||||
alias gb 'git branch'
|
||||
alias gba 'git branch -a'
|
||||
alias gc 'git commit -v'
|
||||
alias gca 'git commit -v -a'
|
||||
alias gcam 'git commit --amend'
|
||||
alias gcan 'git commit --amend --no-edit'
|
||||
alias gd 'git diff -- . ":(exclude)yarn.lock"'
|
||||
alias gdc 'git diff --cached' # Show changes in next commit (differences between index and last commit)
|
||||
alias gdh 'git diff head' # Show difference between files in working tree and last commit
|
||||
alias gdt 'git difftool'
|
||||
alias gfa 'git fetch --all'
|
||||
alias gg 'git log'
|
||||
alias ghi 'git hist'
|
||||
alias gl 'git pull'
|
||||
alias glr 'git pull --rebase'
|
||||
alias glu 'git config user.name "Stefan Imhoff" && git config user.email "gpg@kogakure.8shield.net" && git config user.signingkey "7A7253E8!"'
|
||||
alias glx 'git config user.name "Stefan Imhoff" && git config user.email "stefan.imhoff@xing.com" && git config user.signingkey "73C3E2E3!"'
|
||||
alias gmb 'git merge-base master HEAD'
|
||||
alias gp 'git push'
|
||||
alias gpf 'git push --force-with-lease'
|
||||
alias gpp 'PATCHNAME=`git branch 2> /dev/null | sed -e "/^[^*]/d" -e "s/* \(.*\)/\1/"`-`date "+%Y-%m-%d-%H%M.patch"`; git diff --full-index master > ../patches/$PATCHNAME'
|
||||
alias gpu 'git push -u origin HEAD'
|
||||
alias gpv 'git push --no-verify'
|
||||
alias grb 'git rebase master'
|
||||
alias grbc 'git rebase --continue'
|
||||
alias grbi 'git rebase -i '
|
||||
alias grbs 'git rebase --skip'
|
||||
alias gru 'git remote update'
|
||||
alias gsb 'git show-branch'
|
||||
alias gsl 'git submodule foreach git pull'
|
||||
alias gst 'git status -sb'
|
||||
alias gsu 'git submodule update'
|
||||
alias gu 'git up'
|
||||
alias gw 'git whatchanged'
|
||||
alias gw 'git worktree'
|
||||
alias gwa 'git worktree add' # <folder> <branch/hash>
|
||||
alias gwl 'git worktree list'
|
||||
alias gwp 'git whatchanged -p'
|
||||
alias gwr 'git worktree remove' # <path/name>
|
||||
alias lg lazygit
|
||||
|
||||
# Vim/Neovim
|
||||
alias v vim
|
||||
|
||||
if type nvim >/dev/null 2>&1
|
||||
alias vim nvim
|
||||
end
|
||||
|
||||
# Homebrew
|
||||
alias bi 'brew install'
|
||||
|
||||
# TMUX
|
||||
alias t tmux
|
||||
alias ta 'tmux attach'
|
||||
|
||||
# Can't remember the fork name
|
||||
alias youtube-dl yt-dlp
|
||||
|
||||
# iA Writer
|
||||
alias ia 'open $1 -a /Applications/iA\ Writer.app'
|
||||
|
||||
# Recursively delete `.DS_Store` files
|
||||
alias cleanup 'find . -type f -name "*.DS_Store" -ls -delete'
|
||||
|
||||
# Clear the screen
|
||||
alias c clear
|
||||
7
config/fish/fish_plugins
Normal file
7
config/fish/fish_plugins
Normal file
@@ -0,0 +1,7 @@
|
||||
edc/bass
|
||||
jethrokuan/fzf
|
||||
jethrokuan/z
|
||||
jorgebucaran/autopair.fish
|
||||
jorgebucaran/fisher
|
||||
jorgebucaran/replay.fish
|
||||
joshmedeski/fish-lf-icons
|
||||
140
config/fish/functions/__bass.py
Normal file
140
config/fish/functions/__bass.py
Normal file
@@ -0,0 +1,140 @@
|
||||
"""
|
||||
To be used with a companion fish function like this:
|
||||
|
||||
function refish
|
||||
set -l _x (python /tmp/bass.py source ~/.nvm/nvim.sh ';' nvm use iojs); source $_x; and rm -f $_x
|
||||
end
|
||||
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import json
|
||||
import os
|
||||
import signal
|
||||
import subprocess
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
|
||||
BASH = 'bash'
|
||||
|
||||
FISH_READONLY = [
|
||||
'PWD', 'SHLVL', 'history', 'pipestatus', 'status', 'version',
|
||||
'FISH_VERSION', 'fish_pid', 'hostname', '_', 'fish_private_mode'
|
||||
]
|
||||
|
||||
IGNORED = [
|
||||
'PS1', 'XPC_SERVICE_NAME'
|
||||
]
|
||||
|
||||
def ignored(name):
|
||||
if name == 'PWD': # this is read only, but has special handling
|
||||
return False
|
||||
# ignore other read only variables
|
||||
if name in FISH_READONLY:
|
||||
return True
|
||||
if name in IGNORED or name.startswith("BASH_FUNC"):
|
||||
return True
|
||||
if name.startswith('%'):
|
||||
return True
|
||||
return False
|
||||
|
||||
def escape(string):
|
||||
# use json.dumps to reliably escape quotes and backslashes
|
||||
return json.dumps(string).replace(r'$', r'\$')
|
||||
|
||||
def escape_identifier(word):
|
||||
return escape(word.replace('?', '\\?'))
|
||||
|
||||
def comment(string):
|
||||
return '\n'.join(['# ' + line for line in string.split('\n')])
|
||||
|
||||
def gen_script():
|
||||
# Use the following instead of /usr/bin/env to read environment so we can
|
||||
# deal with multi-line environment variables (and other odd cases).
|
||||
env_reader = "%s -c 'import os,json; print(json.dumps({k:v for k,v in os.environ.items()}))'" % (sys.executable)
|
||||
args = [BASH, '-c', env_reader]
|
||||
output = subprocess.check_output(args, universal_newlines=True)
|
||||
old_env = output.strip()
|
||||
|
||||
pipe_r, pipe_w = os.pipe()
|
||||
if sys.version_info >= (3, 4):
|
||||
os.set_inheritable(pipe_w, True)
|
||||
command = 'eval $1 && ({}; alias) >&{}'.format(
|
||||
env_reader,
|
||||
pipe_w
|
||||
)
|
||||
args = [BASH, '-c', command, 'bass', ' '.join(sys.argv[1:])]
|
||||
p = subprocess.Popen(args, universal_newlines=True, close_fds=False)
|
||||
os.close(pipe_w)
|
||||
with os.fdopen(pipe_r) as f:
|
||||
new_env = f.readline()
|
||||
alias_str = f.read()
|
||||
if p.wait() != 0:
|
||||
raise subprocess.CalledProcessError(
|
||||
returncode=p.returncode,
|
||||
cmd=' '.join(sys.argv[1:]),
|
||||
output=new_env + alias_str
|
||||
)
|
||||
new_env = new_env.strip()
|
||||
|
||||
old_env = json.loads(old_env)
|
||||
new_env = json.loads(new_env)
|
||||
|
||||
script_lines = []
|
||||
|
||||
for k, v in new_env.items():
|
||||
if ignored(k):
|
||||
continue
|
||||
v1 = old_env.get(k)
|
||||
if not v1:
|
||||
script_lines.append(comment('adding %s=%s' % (k, v)))
|
||||
elif v1 != v:
|
||||
script_lines.append(comment('updating %s=%s -> %s' % (k, v1, v)))
|
||||
# process special variables
|
||||
if k == 'PWD':
|
||||
script_lines.append('cd %s' % escape(v))
|
||||
continue
|
||||
else:
|
||||
continue
|
||||
if k == 'PATH':
|
||||
value = ' '.join([escape(directory)
|
||||
for directory in v.split(':')])
|
||||
else:
|
||||
value = escape(v)
|
||||
script_lines.append('set -g -x %s %s' % (k, value))
|
||||
|
||||
for var in set(old_env.keys()) - set(new_env.keys()):
|
||||
script_lines.append(comment('removing %s' % var))
|
||||
script_lines.append('set -e %s' % var)
|
||||
|
||||
script = '\n'.join(script_lines)
|
||||
|
||||
alias_lines = []
|
||||
for line in alias_str.splitlines():
|
||||
_, rest = line.split(None, 1)
|
||||
k, v = rest.split("=", 1)
|
||||
alias_lines.append("alias " + escape_identifier(k) + "=" + v)
|
||||
alias = '\n'.join(alias_lines)
|
||||
|
||||
return script + '\n' + alias
|
||||
|
||||
script_file = os.fdopen(3, 'w')
|
||||
|
||||
if not sys.argv[1:]:
|
||||
print('__bass_usage', file=script_file, end='')
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
script = gen_script()
|
||||
except subprocess.CalledProcessError as e:
|
||||
sys.exit(e.returncode)
|
||||
except Exception:
|
||||
print('Bass internal error!', file=sys.stderr)
|
||||
raise # traceback will output to stderr
|
||||
except KeyboardInterrupt:
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
os.kill(os.getpid(), signal.SIGINT)
|
||||
else:
|
||||
script_file.write(script)
|
||||
49
config/fish/functions/__fzf_cd.fish
Normal file
49
config/fish/functions/__fzf_cd.fish
Normal file
@@ -0,0 +1,49 @@
|
||||
function __fzf_cd -d "Change directory"
|
||||
set -l commandline (__fzf_parse_commandline)
|
||||
set -l dir $commandline[1]
|
||||
set -l fzf_query $commandline[2]
|
||||
|
||||
if not type -q argparse
|
||||
# Fallback for fish shell version < 2.7
|
||||
function argparse
|
||||
functions -e argparse # deletes itself
|
||||
end
|
||||
if contains -- --hidden $argv; or contains -- -h $argv
|
||||
set _flag_hidden "yes"
|
||||
end
|
||||
end
|
||||
|
||||
# Fish shell version >= v2.7, use argparse
|
||||
set -l options "h/hidden"
|
||||
argparse $options -- $argv
|
||||
|
||||
set -l COMMAND
|
||||
|
||||
set -q FZF_CD_COMMAND
|
||||
or set -l FZF_CD_COMMAND "
|
||||
command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
|
||||
-o -type d -print 2> /dev/null | sed 's@^\./@@'"
|
||||
|
||||
set -q FZF_CD_WITH_HIDDEN_COMMAND
|
||||
or set -l FZF_CD_WITH_HIDDEN_COMMAND "
|
||||
command find -L \$dir \
|
||||
\\( -path '*/\\.git*' -o -fstype 'dev' -o -fstype 'proc' \\) -prune \
|
||||
-o -type d -print 2> /dev/null | sed 1d | cut -b3-"
|
||||
|
||||
if set -q _flag_hidden
|
||||
set COMMAND $FZF_CD_WITH_HIDDEN_COMMAND
|
||||
else
|
||||
set COMMAND $FZF_CD_COMMAND
|
||||
end
|
||||
|
||||
eval "$COMMAND | "(__fzfcmd)" +m $FZF_DEFAULT_OPTS $FZF_CD_OPTS --query \"$fzf_query\"" | read -l select
|
||||
|
||||
if not test -z "$select"
|
||||
builtin cd "$select"
|
||||
|
||||
# Remove last token from commandline.
|
||||
commandline -t ""
|
||||
end
|
||||
|
||||
commandline -f repaint
|
||||
end
|
||||
168
config/fish/functions/__fzf_complete.fish
Normal file
168
config/fish/functions/__fzf_complete.fish
Normal file
@@ -0,0 +1,168 @@
|
||||
##
|
||||
# Use fzf as fish completion widget.
|
||||
#
|
||||
#
|
||||
# When FZF_COMPLETE variable is set, fzf is used as completion
|
||||
# widget for the fish shell by binding the TAB key.
|
||||
#
|
||||
# FZF_COMPLETE can have some special numeric values:
|
||||
#
|
||||
# `set FZF_COMPLETE 0` basic widget accepts with TAB key
|
||||
# `set FZF_COMPLETE 1` extends 0 with candidate preview window
|
||||
# `set FZF_COMPLETE 2` same as 1 but TAB walks on candidates
|
||||
# `set FZF_COMPLETE 3` multi TAB selection, RETURN accepts selected ones.
|
||||
#
|
||||
# Any other value of FZF_COMPLETE is given directly as options to fzf.
|
||||
#
|
||||
# If you prefer to set more advanced options, take a look at the
|
||||
# `__fzf_complete_opts` function and override that in your environment.
|
||||
|
||||
|
||||
# modified from https://github.com/junegunn/fzf/wiki/Examples-(fish)#completion
|
||||
function __fzf_complete -d 'fzf completion and print selection back to commandline'
|
||||
# As of 2.6, fish's "complete" function does not understand
|
||||
# subcommands. Instead, we use the same hack as __fish_complete_subcommand and
|
||||
# extract the subcommand manually.
|
||||
set -l cmd (commandline -co) (commandline -ct)
|
||||
|
||||
switch $cmd[1]
|
||||
case env sudo
|
||||
for i in (seq 2 (count $cmd))
|
||||
switch $cmd[$i]
|
||||
case '-*'
|
||||
case '*=*'
|
||||
case '*'
|
||||
set cmd $cmd[$i..-1]
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
set -l cmd_lastw $cmd[-1]
|
||||
set cmd (string join -- ' ' $cmd)
|
||||
|
||||
set -l initial_query ''
|
||||
test -n "$cmd_lastw"; and set initial_query --query="$cmd_lastw"
|
||||
|
||||
set -l complist (complete -C$cmd)
|
||||
set -l result
|
||||
|
||||
# do nothing if there is nothing to select from
|
||||
test -z "$complist"; and return
|
||||
|
||||
set -l compwc (echo $complist | wc -w)
|
||||
if test $compwc -eq 1
|
||||
# if there is only one option dont open fzf
|
||||
set result "$complist"
|
||||
else
|
||||
|
||||
set -l query
|
||||
string join -- \n $complist \
|
||||
| eval (__fzfcmd) (string escape --no-quoted -- $initial_query) --print-query (__fzf_complete_opts) \
|
||||
| cut -f1 \
|
||||
| while read -l r
|
||||
# first line is the user entered query
|
||||
if test -z "$query"
|
||||
set query $r
|
||||
# rest of lines are selected candidates
|
||||
else
|
||||
set result $result $r
|
||||
end
|
||||
end
|
||||
|
||||
# exit if user canceled
|
||||
if test -z "$query" ;and test -z "$result"
|
||||
commandline -f repaint
|
||||
return
|
||||
end
|
||||
|
||||
# if user accepted but no candidate matches, use the input as result
|
||||
if test -z "$result"
|
||||
set result $query
|
||||
end
|
||||
end
|
||||
|
||||
set prefix (string sub -s 1 -l 1 -- (commandline -t))
|
||||
for i in (seq (count $result))
|
||||
set -l r $result[$i]
|
||||
switch $prefix
|
||||
case "'"
|
||||
commandline -t -- (string escape -- $r)
|
||||
case '"'
|
||||
if string match '*"*' -- $r >/dev/null
|
||||
commandline -t -- (string escape -- $r)
|
||||
else
|
||||
commandline -t -- '"'$r'"'
|
||||
end
|
||||
case '~'
|
||||
commandline -t -- (string sub -s 2 (string escape -n -- $r))
|
||||
case '*'
|
||||
commandline -t -- $r
|
||||
end
|
||||
[ $i -lt (count $result) ]; and commandline -i ' '
|
||||
end
|
||||
|
||||
commandline -f repaint
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_common
|
||||
if set -q FZF_DEFAULT_OPTS
|
||||
echo $FZF_DEFAULT_OPTS
|
||||
end
|
||||
echo --cycle --reverse --inline-info
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_tab_accepts
|
||||
echo --bind tab:accept,btab:cancel
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_tab_walks
|
||||
echo --bind tab:down,btab:up
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_preview
|
||||
set -l file (status -f)
|
||||
echo --with-nth=1 --preview-window=right:wrap --preview="fish\ '$file'\ __fzf_complete_preview\ '{1}'\ '{2..}'"
|
||||
end
|
||||
|
||||
test "$argv[1]" = "__fzf_complete_preview"; and __fzf_complete_preview $argv[2..3]
|
||||
|
||||
function __fzf_complete_opts_0 -d 'basic single selection with tab accept'
|
||||
__fzf_complete_opts_common
|
||||
echo --no-multi
|
||||
__fzf_complete_opts_tab_accepts
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_1 -d 'single selection with preview and tab accept'
|
||||
__fzf_complete_opts_0
|
||||
__fzf_complete_opts_preview
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_2 -d 'single selection with preview and tab walks'
|
||||
__fzf_complete_opts_1
|
||||
__fzf_complete_opts_tab_walks
|
||||
end
|
||||
|
||||
function __fzf_complete_opts_3 -d 'multi selection with preview'
|
||||
__fzf_complete_opts_common
|
||||
echo --multi
|
||||
__fzf_complete_opts_preview
|
||||
end
|
||||
|
||||
function __fzf_complete_opts -d 'fzf options for fish tab completion'
|
||||
switch $FZF_COMPLETE
|
||||
case 0
|
||||
__fzf_complete_opts_0
|
||||
case 1
|
||||
__fzf_complete_opts_1
|
||||
case 2
|
||||
__fzf_complete_opts_2
|
||||
case 3
|
||||
__fzf_complete_opts_3
|
||||
case '*'
|
||||
echo $FZF_COMPLETE
|
||||
end
|
||||
if set -q FZF_COMPLETE_OPTS
|
||||
echo $FZF_COMPLETE_OPTS
|
||||
end
|
||||
end
|
||||
31
config/fish/functions/__fzf_complete_preview.fish
Normal file
31
config/fish/functions/__fzf_complete_preview.fish
Normal file
@@ -0,0 +1,31 @@
|
||||
function __fzf_complete_preview -d 'generate preview for completion widget.
|
||||
argv[1] is the currently selected candidate in fzf
|
||||
argv[2] is a string containing the rest of the output produced by `complete -Ccmd`
|
||||
'
|
||||
|
||||
if test "$argv[2]" = "Redefine variable"
|
||||
# show environment variables current value
|
||||
set -l evar (echo $argv[1] | cut -d= -f1)
|
||||
echo $argv[1]$$evar
|
||||
else
|
||||
echo $argv[1]
|
||||
end
|
||||
|
||||
set -l path (string replace "~" $HOME -- $argv[1])
|
||||
|
||||
# list directories on preview
|
||||
if test -d "$path"
|
||||
eval $FZF_PREVIEW_DIR_CMD (string escape $path)
|
||||
end
|
||||
|
||||
# show ten lines of non-binary files preview
|
||||
if test -f "$path"; and grep -qI . "$path"
|
||||
eval $FZF_PREVIEW_FILE_CMD (string escape $path)
|
||||
end
|
||||
|
||||
# if fish knows about it, let it show info
|
||||
type -q "$path" 2>/dev/null; and type -a "$path"
|
||||
|
||||
# show aditional data
|
||||
echo $argv[2]
|
||||
end
|
||||
29
config/fish/functions/__fzf_find_file.fish
Normal file
29
config/fish/functions/__fzf_find_file.fish
Normal file
@@ -0,0 +1,29 @@
|
||||
function __fzf_find_file -d "List files and folders"
|
||||
set -l commandline (__fzf_parse_commandline)
|
||||
set -l dir $commandline[1]
|
||||
set -l fzf_query $commandline[2]
|
||||
|
||||
set -q FZF_FIND_FILE_COMMAND
|
||||
or set -l FZF_FIND_FILE_COMMAND "
|
||||
command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
|
||||
-o -type f -print \
|
||||
-o -type d -print \
|
||||
-o -type l -print 2> /dev/null | sed 's@^\./@@'"
|
||||
|
||||
begin
|
||||
eval "$FZF_FIND_FILE_COMMAND | "(__fzfcmd) "-m $FZF_DEFAULT_OPTS $FZF_FIND_FILE_OPTS --query \"$fzf_query\"" | while read -l s; set results $results $s; end
|
||||
end
|
||||
|
||||
if test -z "$results"
|
||||
commandline -f repaint
|
||||
return
|
||||
else
|
||||
commandline -t ""
|
||||
end
|
||||
|
||||
for result in $results
|
||||
commandline -it -- (string escape $result)
|
||||
commandline -it -- " "
|
||||
end
|
||||
commandline -f repaint
|
||||
end
|
||||
17
config/fish/functions/__fzf_get_dir.fish
Normal file
17
config/fish/functions/__fzf_get_dir.fish
Normal file
@@ -0,0 +1,17 @@
|
||||
function __fzf_get_dir -d 'Find the longest existing filepath from input string'
|
||||
set dir $argv
|
||||
|
||||
# Strip all trailing slashes. Ignore if $dir is root dir (/)
|
||||
if test (string length $dir) -gt 1
|
||||
set dir (string replace -r '/*$' '' $dir)
|
||||
end
|
||||
|
||||
# Iteratively check if dir exists and strip tail end of path
|
||||
while test ! -d "$dir"
|
||||
# If path is absolute, this can keep going until ends up at /
|
||||
# If path is relative, this can keep going until entire input is consumed, dirname returns "."
|
||||
set dir (dirname "$dir")
|
||||
end
|
||||
|
||||
echo $dir
|
||||
end
|
||||
63
config/fish/functions/__fzf_open.fish
Normal file
63
config/fish/functions/__fzf_open.fish
Normal file
@@ -0,0 +1,63 @@
|
||||
function __fzf_open -d "Open files and directories."
|
||||
function __fzf_open_get_open_cmd -d "Find appropriate open command."
|
||||
if type -q xdg-open
|
||||
echo "xdg-open"
|
||||
else if type -q open
|
||||
echo "open"
|
||||
end
|
||||
end
|
||||
|
||||
set -l commandline (__fzf_parse_commandline)
|
||||
set -l dir $commandline[1]
|
||||
set -l fzf_query $commandline[2]
|
||||
|
||||
if not type -q argparse
|
||||
set created_argparse
|
||||
function argparse
|
||||
functions -e argparse # deletes itself
|
||||
end
|
||||
if contains -- --editor $argv; or contains -- -e $argv
|
||||
set _flag_editor "yes"
|
||||
end
|
||||
if contains -- --preview $argv; or contains -- -p $argv
|
||||
set _flag_preview "yes"
|
||||
end
|
||||
end
|
||||
|
||||
set -l options "e/editor" "p/preview=?"
|
||||
argparse $options -- $argv
|
||||
|
||||
set -l preview_cmd
|
||||
if set -q FZF_ENABLE_OPEN_PREVIEW
|
||||
set preview_cmd "--preview-window=right:wrap --preview='fish -c \"__fzf_complete_preview {}\"'"
|
||||
end
|
||||
|
||||
set -q FZF_OPEN_COMMAND
|
||||
or set -l FZF_OPEN_COMMAND "
|
||||
command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
|
||||
-o -type f -print \
|
||||
-o -type d -print \
|
||||
-o -type l -print 2> /dev/null | sed 's@^\./@@'"
|
||||
|
||||
set -l select (eval "$FZF_OPEN_COMMAND | "(__fzfcmd) $preview_cmd "-m $FZF_DEFAULT_OPTS $FZF_OPEN_OPTS --query \"$fzf_query\"" | string escape)
|
||||
|
||||
# set how to open
|
||||
set -l open_cmd
|
||||
if set -q _flag_editor
|
||||
set open_cmd "$EDITOR"
|
||||
else
|
||||
set open_cmd (__fzf_open_get_open_cmd)
|
||||
if test -z "$open_cmd"
|
||||
echo "Couldn't find appropriate open command to use. Do you have 'xdg-open' or 'open' installed?"; and return 1
|
||||
end
|
||||
end
|
||||
|
||||
set -l open_status 0
|
||||
if not test -z "$select"
|
||||
commandline "$open_cmd $select"; and commandline -f execute
|
||||
set open_status $status
|
||||
end
|
||||
|
||||
commandline -f repaint
|
||||
return $open_status
|
||||
end
|
||||
23
config/fish/functions/__fzf_parse_commandline.fish
Normal file
23
config/fish/functions/__fzf_parse_commandline.fish
Normal file
@@ -0,0 +1,23 @@
|
||||
function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath and rest of token'
|
||||
# eval is used to do shell expansion on paths
|
||||
set -l commandline (eval "printf '%s' "(commandline -t))
|
||||
|
||||
if test -z $commandline
|
||||
# Default to current directory with no --query
|
||||
set dir '.'
|
||||
set fzf_query ''
|
||||
else
|
||||
set dir (__fzf_get_dir $commandline)
|
||||
|
||||
if test "$dir" = "." -a (string sub -l 1 $commandline) != '.'
|
||||
# if $dir is "." but commandline is not a relative path, this means no file path found
|
||||
set fzf_query $commandline
|
||||
else
|
||||
# Also remove trailing slash after dir, to "split" input properly
|
||||
set fzf_query (string replace -r "^$dir/?" '' "$commandline")
|
||||
end
|
||||
end
|
||||
|
||||
echo $dir
|
||||
echo $fzf_query
|
||||
end
|
||||
6
config/fish/functions/__fzf_reverse_isearch.fish
Normal file
6
config/fish/functions/__fzf_reverse_isearch.fish
Normal file
@@ -0,0 +1,6 @@
|
||||
function __fzf_reverse_isearch
|
||||
history merge
|
||||
history -z | eval (__fzfcmd) --read0 --print0 --tiebreak=index --toggle-sort=ctrl-r $FZF_DEFAULT_OPTS $FZF_REVERSE_ISEARCH_OPTS -q '(commandline)' | read -lz result
|
||||
and commandline -- $result
|
||||
commandline -f repaint
|
||||
end
|
||||
9
config/fish/functions/__fzfcmd.fish
Normal file
9
config/fish/functions/__fzfcmd.fish
Normal file
@@ -0,0 +1,9 @@
|
||||
function __fzfcmd
|
||||
set -q FZF_TMUX; or set FZF_TMUX 0
|
||||
set -q FZF_TMUX_HEIGHT; or set FZF_TMUX_HEIGHT 40%
|
||||
if test $FZF_TMUX -eq 1
|
||||
echo "fzf-tmux -d$FZF_TMUX_HEIGHT"
|
||||
else
|
||||
echo "fzf"
|
||||
end
|
||||
end
|
||||
174
config/fish/functions/__z.fish
Normal file
174
config/fish/functions/__z.fish
Normal file
@@ -0,0 +1,174 @@
|
||||
function __z -d "Jump to a recent directory."
|
||||
function __print_help -d "Print z help."
|
||||
printf "Usage: $Z_CMD [-celrth] string1 string2...\n\n"
|
||||
printf " -c --clean Removes directories that no longer exist from $Z_DATA\n"
|
||||
printf " -d --dir Opens matching directory using system file manager.\n"
|
||||
printf " -e --echo Prints best match, no cd\n"
|
||||
printf " -l --list List matches and scores, no cd\n"
|
||||
printf " -p --purge Delete all entries from $Z_DATA\n"
|
||||
printf " -r --rank Search by rank\n"
|
||||
printf " -t --recent Search by recency\n"
|
||||
printf " -x --delete Removes the current directory from $Z_DATA\n"
|
||||
printf " -h --help Print this help\n\n"
|
||||
end
|
||||
function __z_legacy_escape_regex
|
||||
# taken from escape_string_pcre2 in fish
|
||||
# used to provide compatibility with fish 2
|
||||
for c in (string split '' $argv)
|
||||
if contains $c (string split '' '.^$*+()?[{}\\|-]')
|
||||
printf \\
|
||||
end
|
||||
printf '%s' $c
|
||||
end
|
||||
end
|
||||
|
||||
set -l options h/help c/clean e/echo l/list p/purge r/rank t/recent d/directory x/delete
|
||||
|
||||
argparse $options -- $argv
|
||||
|
||||
if set -q _flag_help
|
||||
__print_help
|
||||
return 0
|
||||
else if set -q _flag_clean
|
||||
__z_clean
|
||||
printf "%s cleaned!\n" $Z_DATA
|
||||
return 0
|
||||
else if set -q _flag_purge
|
||||
echo >$Z_DATA
|
||||
printf "%s purged!\n" $Z_DATA
|
||||
return 0
|
||||
else if set -q _flag_delete
|
||||
sed -i -e "\:^$PWD|.*:d" $Z_DATA
|
||||
return 0
|
||||
end
|
||||
|
||||
set -l typ
|
||||
|
||||
if set -q _flag_rank
|
||||
set typ rank
|
||||
else if set -q _flag_recent
|
||||
set typ recent
|
||||
end
|
||||
|
||||
set -l z_script '
|
||||
function frecent(rank, time) {
|
||||
dx = t-time
|
||||
if( dx < 3600 ) return rank*4
|
||||
if( dx < 86400 ) return rank*2
|
||||
if( dx < 604800 ) return rank/2
|
||||
return rank/4
|
||||
}
|
||||
|
||||
function output(matches, best_match, common) {
|
||||
# list or return the desired directory
|
||||
if( list ) {
|
||||
cmd = "sort -nr"
|
||||
for( x in matches ) {
|
||||
if( matches[x] ) {
|
||||
printf "%-10s %s\n", matches[x], x | cmd
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if( common ) best_match = common
|
||||
print best_match
|
||||
}
|
||||
}
|
||||
|
||||
function common(matches) {
|
||||
# find the common root of a list of matches, if it exists
|
||||
for( x in matches ) {
|
||||
if( matches[x] && (!short || length(x) < length(short)) ) {
|
||||
short = x
|
||||
}
|
||||
}
|
||||
if( short == "/" ) return
|
||||
for( x in matches ) if( matches[x] && index(x, short) != 1 ) {
|
||||
return
|
||||
}
|
||||
return short
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
hi_rank = ihi_rank = -9999999999
|
||||
}
|
||||
{
|
||||
if( typ == "rank" ) {
|
||||
rank = $2
|
||||
} else if( typ == "recent" ) {
|
||||
rank = $3 - t
|
||||
} else rank = frecent($2, $3)
|
||||
if( $1 ~ q ) {
|
||||
matches[$1] = rank
|
||||
} else if( tolower($1) ~ tolower(q) ) imatches[$1] = rank
|
||||
if( matches[$1] && matches[$1] > hi_rank ) {
|
||||
best_match = $1
|
||||
hi_rank = matches[$1]
|
||||
} else if( imatches[$1] && imatches[$1] > ihi_rank ) {
|
||||
ibest_match = $1
|
||||
ihi_rank = imatches[$1]
|
||||
}
|
||||
}
|
||||
|
||||
END {
|
||||
# prefer case sensitive
|
||||
if( best_match ) {
|
||||
output(matches, best_match, common(matches))
|
||||
} else if( ibest_match ) {
|
||||
output(imatches, ibest_match, common(imatches))
|
||||
}
|
||||
}
|
||||
'
|
||||
|
||||
set -l qs
|
||||
for arg in $argv
|
||||
set -l escaped $arg
|
||||
if string escape --style=regex '' >/dev/null 2>&1 # use builtin escape if available
|
||||
set escaped (string escape --style=regex $escaped)
|
||||
else
|
||||
set escaped (__z_legacy_escape_regex $escaped)
|
||||
end
|
||||
# Need to escape twice, see https://www.math.utah.edu/docs/info/gawk_5.html#SEC32
|
||||
set escaped (string replace --all \\ \\\\ $escaped)
|
||||
set qs $qs $escaped
|
||||
end
|
||||
set -l q (string join '.*' $qs)
|
||||
|
||||
if set -q _flag_list
|
||||
# Handle list separately as it can print common path information to stderr
|
||||
# which cannot be captured from a subcommand.
|
||||
command awk -v t=(date +%s) -v list="list" -v typ="$typ" -v q="$q" -F "|" $z_script "$Z_DATA"
|
||||
return
|
||||
end
|
||||
|
||||
set target (command awk -v t=(date +%s) -v typ="$typ" -v q="$q" -F "|" $z_script "$Z_DATA")
|
||||
|
||||
if test "$status" -gt 0
|
||||
return
|
||||
end
|
||||
|
||||
if test -z "$target"
|
||||
printf "'%s' did not match any results\n" "$argv"
|
||||
return 1
|
||||
end
|
||||
|
||||
if set -q _flag_echo
|
||||
printf "%s\n" "$target"
|
||||
else if set -q _flag_directory
|
||||
if test -n "$ZO_METHOD"
|
||||
type -q "$ZO_METHOD"; and "$ZO_METHOD" "$target"; and return $status
|
||||
echo "Cannot open with ZO_METHOD set to $ZO_METHOD"; and return 1
|
||||
else if test "$OS" = Windows_NT
|
||||
# Be careful, in msys2, explorer always return 1
|
||||
type -q explorer; and explorer "$target"
|
||||
return 0
|
||||
echo "Cannot open file explorer"
|
||||
return 1
|
||||
else
|
||||
type -q xdg-open; and xdg-open "$target"; and return $status
|
||||
type -q open; and open "$target"; and return $status
|
||||
echo "Not sure how to open file manager"; and return 1
|
||||
end
|
||||
else
|
||||
pushd "$target"
|
||||
end
|
||||
end
|
||||
49
config/fish/functions/__z_add.fish
Normal file
49
config/fish/functions/__z_add.fish
Normal file
@@ -0,0 +1,49 @@
|
||||
function __z_add -d "Add PATH to .z file"
|
||||
test -n "$fish_private_mode"; and return 0
|
||||
|
||||
for i in $Z_EXCLUDE
|
||||
if string match -r $i $PWD >/dev/null
|
||||
return 0 #Path excluded
|
||||
end
|
||||
end
|
||||
|
||||
set -l tmpfile (mktemp $Z_DATA.XXXXXX)
|
||||
|
||||
if test -f $tmpfile
|
||||
set -l path (string replace --all \\ \\\\ $PWD)
|
||||
command awk -v path=$path -v now=(date +%s) -F "|" '
|
||||
BEGIN {
|
||||
rank[path] = 1
|
||||
time[path] = now
|
||||
}
|
||||
$2 >= 1 {
|
||||
if( $1 == path ) {
|
||||
rank[$1] = $2 + 1
|
||||
time[$1] = now
|
||||
}
|
||||
else {
|
||||
rank[$1] = $2
|
||||
time[$1] = $3
|
||||
}
|
||||
count += $2
|
||||
}
|
||||
END {
|
||||
if( count > 1000 ) {
|
||||
for( i in rank ) print i "|" 0.9*rank[i] "|" time[i] # aging
|
||||
}
|
||||
else for( i in rank ) print i "|" rank[i] "|" time[i]
|
||||
}
|
||||
' $Z_DATA 2>/dev/null >$tmpfile
|
||||
|
||||
if test ! -z "$Z_OWNER"
|
||||
chown $Z_OWNER:(id -ng $Z_OWNER) $tmpfile
|
||||
end
|
||||
#
|
||||
# Don't use redirection here as it can lead to a race condition where $Z_DATA is clobbered.
|
||||
# Note: There is a still a possible race condition where an old version of $Z_DATA is
|
||||
# read by one instance of Fish before another instance of Fish writes its copy.
|
||||
#
|
||||
command mv $tmpfile $Z_DATA
|
||||
or command rm $tmpfile
|
||||
end
|
||||
end
|
||||
11
config/fish/functions/__z_clean.fish
Normal file
11
config/fish/functions/__z_clean.fish
Normal file
@@ -0,0 +1,11 @@
|
||||
function __z_clean -d "Clean up .z file to remove paths no longer valid"
|
||||
set -l tmpfile (mktemp $Z_DATA.XXXXXX)
|
||||
|
||||
if test -f $tmpfile
|
||||
while read line
|
||||
set -l path (string split '|' $line)[1]
|
||||
test -d $path; and echo $line
|
||||
end <$Z_DATA >$tmpfile
|
||||
command mv -f $tmpfile $Z_DATA
|
||||
end
|
||||
end
|
||||
13
config/fish/functions/__z_complete.fish
Normal file
13
config/fish/functions/__z_complete.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
function __z_complete -d "add completions"
|
||||
complete -c $Z_CMD -a "(__z -l | string replace -r '^\\S*\\s*' '')" -f -k
|
||||
complete -c $ZO_CMD -a "(__z -l | string replace -r '^\\S*\\s*' '')" -f -k
|
||||
|
||||
complete -c $Z_CMD -s c -l clean -d "Cleans out $Z_DATA"
|
||||
complete -c $Z_CMD -s e -l echo -d "Prints best match, no cd"
|
||||
complete -c $Z_CMD -s l -l list -d "List matches, no cd"
|
||||
complete -c $Z_CMD -s p -l purge -d "Purges $Z_DATA"
|
||||
complete -c $Z_CMD -s r -l rank -d "Searches by rank, cd"
|
||||
complete -c $Z_CMD -s t -l recent -d "Searches by recency, cd"
|
||||
complete -c $Z_CMD -s h -l help -d "Print help"
|
||||
complete -c $Z_CMD -s x -l delete -d "Removes the current directory from $Z_DATA"
|
||||
end
|
||||
9
config/fish/functions/_autopair_backspace.fish
Normal file
9
config/fish/functions/_autopair_backspace.fish
Normal file
@@ -0,0 +1,9 @@
|
||||
function _autopair_backspace
|
||||
set --local index (commandline --cursor)
|
||||
set --local buffer (commandline)
|
||||
|
||||
test $index -ge 1 &&
|
||||
contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
|
||||
commandline --function delete-char
|
||||
commandline --function backward-delete-char
|
||||
end
|
||||
13
config/fish/functions/_autopair_insert_left.fish
Normal file
13
config/fish/functions/_autopair_insert_left.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
function _autopair_insert_left --argument-names left right
|
||||
set --local buffer (commandline)
|
||||
set --local before (commandline --cut-at-cursor)
|
||||
|
||||
commandline --insert -- $left
|
||||
|
||||
switch "$buffer"
|
||||
case "$before"{," "\*,$autopair_right\*}
|
||||
set --local index (commandline --cursor)
|
||||
commandline --insert -- $right
|
||||
commandline --cursor $index
|
||||
end
|
||||
end
|
||||
11
config/fish/functions/_autopair_insert_right.fish
Normal file
11
config/fish/functions/_autopair_insert_right.fish
Normal file
@@ -0,0 +1,11 @@
|
||||
function _autopair_insert_right --argument-names key
|
||||
set --local buffer (commandline)
|
||||
set --local before (commandline --cut-at-cursor)
|
||||
|
||||
switch "$buffer"
|
||||
case "$before$key"\*
|
||||
commandline --cursor (math (commandline --cursor) + 1)
|
||||
case \*
|
||||
commandline --insert -- $key
|
||||
end
|
||||
end
|
||||
20
config/fish/functions/_autopair_insert_same.fish
Normal file
20
config/fish/functions/_autopair_insert_same.fish
Normal file
@@ -0,0 +1,20 @@
|
||||
function _autopair_insert_same --argument-names key
|
||||
set --local buffer (commandline)
|
||||
set --local index (commandline --cursor)
|
||||
set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
|
||||
|
||||
if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
|
||||
test $key = $next && commandline --cursor (math $index + 1) && return
|
||||
|
||||
commandline --insert -- $key
|
||||
|
||||
if test $index -lt 1 ||
|
||||
contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
|
||||
contains -- $next "" " " $autopair_right
|
||||
commandline --insert -- $key
|
||||
commandline --cursor (math $index + 1)
|
||||
end
|
||||
else
|
||||
commandline --insert -- $key
|
||||
end
|
||||
end
|
||||
7
config/fish/functions/_autopair_tab.fish
Normal file
7
config/fish/functions/_autopair_tab.fish
Normal file
@@ -0,0 +1,7 @@
|
||||
function _autopair_tab
|
||||
commandline --paging-mode && down-or-search && return
|
||||
|
||||
string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
|
||||
commandline --function end-of-line --function backward-delete-char
|
||||
commandline --function complete
|
||||
end
|
||||
29
config/fish/functions/bass.fish
Normal file
29
config/fish/functions/bass.fish
Normal file
@@ -0,0 +1,29 @@
|
||||
function bass
|
||||
set -l bash_args $argv
|
||||
set -l bass_debug
|
||||
if test "$bash_args[1]_" = '-d_'
|
||||
set bass_debug true
|
||||
set -e bash_args[1]
|
||||
end
|
||||
|
||||
set -l script_file (mktemp)
|
||||
if command -v python3 >/dev/null 2>&1
|
||||
command python3 -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
||||
else
|
||||
command python -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
||||
end
|
||||
set -l bass_status $status
|
||||
if test $bass_status -ne 0
|
||||
return $bass_status
|
||||
end
|
||||
|
||||
if test -n "$bass_debug"
|
||||
cat $script_file
|
||||
end
|
||||
source $script_file
|
||||
command rm $script_file
|
||||
end
|
||||
|
||||
function __bass_usage
|
||||
echo "Usage: bass [-d] <bash-command>"
|
||||
end
|
||||
7
config/fish/functions/dataUrl.fish
Normal file
7
config/fish/functions/dataUrl.fish
Normal file
@@ -0,0 +1,7 @@
|
||||
function dataUrl --description "Create a data URL from a file"
|
||||
set mimeType (file -b --mime-type $argv)
|
||||
if string match -r '^text/' $mimeType
|
||||
set mimeType "$mimeType;charset=utf-8"
|
||||
end
|
||||
echo "data:$mimeType;base64,(openssl base64 -in $argv | tr -d '\n')"
|
||||
end
|
||||
3
config/fish/functions/deleteNodeModules.fish
Normal file
3
config/fish/functions/deleteNodeModules.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function deleteNodeModules --description "Delete all node_modules folders in a folder and subfolders"
|
||||
find . -name "node_modules" -type d -exec rm -rf '{}' +
|
||||
end
|
||||
3
config/fish/functions/encodeBase64.fish
Normal file
3
config/fish/functions/encodeBase64.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function encodeBase64 --description "Encodes images in Base64"
|
||||
uuencode -m $argv[1] /dev/stdout | sed 1d | sed '$d'
|
||||
end
|
||||
3
config/fish/functions/fcd.fish
Normal file
3
config/fish/functions/fcd.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function fcd --description "cd into directory"
|
||||
cd (find * -type d | fzf --preview 'tree -C {} | head -50')
|
||||
end
|
||||
10
config/fish/functions/fe.fish
Normal file
10
config/fish/functions/fe.fish
Normal file
@@ -0,0 +1,10 @@
|
||||
# fe [FUZZY PATTERN] - Open the selected file with the default editor
|
||||
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||||
# - Exit if there's no match (--exit-0)
|
||||
function fe --description "Open the selected file with the default editor"
|
||||
set files (fzf-tmux --query=$argv --multi --select-1 --exit-0 | string split \n)
|
||||
|
||||
if test -n "$files"
|
||||
$EDITOR $files; and true # This line is added to prevent failure when using "set -e" in shell.
|
||||
end
|
||||
end
|
||||
4
config/fish/functions/fhcd.fish
Normal file
4
config/fish/functions/fhcd.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function fhcd --description "Jump to home directory and search for directories"
|
||||
cd $HOME
|
||||
cd (find * -type d | fzf --preview 'tree -C {} | head -50')
|
||||
end
|
||||
240
config/fish/functions/fisher.fish
Normal file
240
config/fish/functions/fisher.fish
Normal file
@@ -0,0 +1,240 @@
|
||||
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
||||
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
||||
set --local fisher_version 4.4.4
|
||||
set --local fish_plugins $__fish_config_dir/fish_plugins
|
||||
|
||||
switch "$cmd"
|
||||
case -v --version
|
||||
echo "fisher, version $fisher_version"
|
||||
case "" -h --help
|
||||
echo "Usage: fisher install <plugins...> Install plugins"
|
||||
echo " fisher remove <plugins...> Remove installed plugins"
|
||||
echo " fisher update <plugins...> Update installed plugins"
|
||||
echo " fisher update Update all installed plugins"
|
||||
echo " fisher list [<regex>] List installed plugins matching regex"
|
||||
echo "Options:"
|
||||
echo " -v, --version Print version"
|
||||
echo " -h, --help Print this help message"
|
||||
echo "Variables:"
|
||||
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
||||
case ls list
|
||||
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||
case install update remove
|
||||
isatty || read --local --null --array stdin && set --append argv $stdin
|
||||
|
||||
set --local install_plugins
|
||||
set --local update_plugins
|
||||
set --local remove_plugins
|
||||
set --local arg_plugins $argv[2..-1]
|
||||
set --local old_plugins $_fisher_plugins
|
||||
set --local new_plugins
|
||||
|
||||
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
|
||||
|
||||
if ! set --query argv[2]
|
||||
if test "$cmd" != update
|
||||
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||
else if ! set --query file_plugins
|
||||
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
set arg_plugins $file_plugins
|
||||
end
|
||||
|
||||
for plugin in $arg_plugins
|
||||
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
||||
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
||||
end
|
||||
|
||||
if set --query argv[2]
|
||||
for plugin in $new_plugins
|
||||
if contains -- "$plugin" $old_plugins
|
||||
test "$cmd" = remove &&
|
||||
set --append remove_plugins $plugin ||
|
||||
set --append update_plugins $plugin
|
||||
else if test "$cmd" = install
|
||||
set --append install_plugins $plugin
|
||||
else
|
||||
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
else
|
||||
for plugin in $new_plugins
|
||||
contains -- "$plugin" $old_plugins &&
|
||||
set --append update_plugins $plugin ||
|
||||
set --append install_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $old_plugins
|
||||
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
||||
end
|
||||
end
|
||||
|
||||
set --local pid_list
|
||||
set --local source_plugins
|
||||
set --local fetch_plugins $update_plugins $install_plugins
|
||||
set --local fish_path (status fish-path)
|
||||
|
||||
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
set --local source (command mktemp -d)
|
||||
set --append source_plugins $source
|
||||
|
||||
command mkdir -p $source/{completions,conf.d,themes,functions}
|
||||
|
||||
$fish_path --command "
|
||||
if test -e $plugin
|
||||
command cp -Rf $plugin/* $source
|
||||
else
|
||||
set temp (command mktemp -d)
|
||||
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
||||
|
||||
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
||||
set name (string split -- / \$path)[-1]
|
||||
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
||||
else
|
||||
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
||||
end
|
||||
|
||||
echo Fetching (set_color --underline)\$url(set_color normal)
|
||||
|
||||
if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null
|
||||
command cp -Rf \$temp/*/* $source
|
||||
else
|
||||
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||
command rm -rf $source
|
||||
end
|
||||
|
||||
command rm -rf \$temp
|
||||
end
|
||||
|
||||
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
||||
" &
|
||||
|
||||
set --append pid_list (jobs --last --pid)
|
||||
end
|
||||
|
||||
wait $pid_list 2>/dev/null
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||
if set --local index (contains --index -- "$plugin" $install_plugins)
|
||||
set --erase install_plugins[$index]
|
||||
else
|
||||
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $remove_plugins
|
||||
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
if contains -- "$plugin" $remove_plugins
|
||||
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
emit {$name}_uninstall
|
||||
end
|
||||
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
set --erase _fisher_plugins[$index]
|
||||
end
|
||||
|
||||
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
||||
|
||||
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
|
||||
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
complete --erase --command $name
|
||||
end
|
||||
|
||||
set --erase $plugin_files_var
|
||||
end
|
||||
end
|
||||
|
||||
if set --query update_plugins[1] || set --query install_plugins[1]
|
||||
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $install_plugins
|
||||
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||
set --local files $source/{functions,themes,conf.d,completions}/*
|
||||
|
||||
if set --local index (contains --index -- $plugin $install_plugins)
|
||||
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
||||
set --local conflict_files
|
||||
|
||||
for file in (string replace -- $source/ $fisher_path/ $files)
|
||||
contains -- $file $user_files && set --append conflict_files $file
|
||||
end
|
||||
|
||||
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
||||
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
||||
continue
|
||||
end
|
||||
end
|
||||
|
||||
for file in (string replace -- $source/ "" $files)
|
||||
command cp -RLf $source/$file $fisher_path/$file
|
||||
end
|
||||
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
||||
|
||||
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
||||
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
||||
|
||||
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
|
||||
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
||||
source $file
|
||||
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
||||
emit {$name}_$event
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
command rm -rf $source_plugins
|
||||
|
||||
if set --query _fisher_plugins[1]
|
||||
set --local commit_plugins
|
||||
|
||||
for plugin in $file_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $_fisher_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
printf "%s\n" $commit_plugins >$fish_plugins
|
||||
else
|
||||
set --erase _fisher_plugins
|
||||
command rm -f $fish_plugins
|
||||
end
|
||||
|
||||
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||
|
||||
test "$total" != "0 0 0" && echo (string join ", " (
|
||||
test $total[1] = 0 || echo "Installed $total[1]") (
|
||||
test $total[2] = 0 || echo "Updated $total[2]") (
|
||||
test $total[3] = 0 || echo "Removed $total[3]")
|
||||
) plugin/s
|
||||
case \*
|
||||
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
|
||||
if ! set --query _fisher_upgraded_to_4_4
|
||||
set --universal _fisher_upgraded_to_4_4
|
||||
if functions --query _fisher_list
|
||||
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
||||
command rm -rf $XDG_DATA_HOME/fisher
|
||||
functions --erase _fisher_{list,plugin_parse}
|
||||
fisher update >/dev/null 2>/dev/null
|
||||
else
|
||||
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
||||
set $var (string replace -- ~ \~ $$var)
|
||||
end
|
||||
functions --erase _fisher_fish_postexec
|
||||
end
|
||||
end
|
||||
13
config/fish/functions/fs.fish
Normal file
13
config/fish/functions/fs.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
function fs --description "Determine size of a file or total size of a directory"
|
||||
if du -b /dev/null >/dev/null 2>&1
|
||||
set arg -sbh
|
||||
else
|
||||
set arg -sh
|
||||
end
|
||||
|
||||
if test -n "$argv"
|
||||
du $arg -- $argv
|
||||
else
|
||||
du $arg .[^.]* *
|
||||
end
|
||||
end
|
||||
3
config/fish/functions/fwt.fish
Normal file
3
config/fish/functions/fwt.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function fwt --description "Jump to Git worktree directory"
|
||||
cd (git worktree list | awk '{print $1}' | fzf)
|
||||
end
|
||||
4
config/fish/functions/ghpr.fish
Normal file
4
config/fish/functions/ghpr.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function ghpr --description "Search and preview GitHub pull requests"
|
||||
set -l GH_FORCE_TTY 100%
|
||||
gh pr list | fzf --ansi --preview 'GH_FORCE_TTY=100% gh pr view {1}' --preview-window down --header-lines 3 | awk '{print $1}' | xargs gh pr checkout
|
||||
end
|
||||
3
config/fish/functions/server.fish
Normal file
3
config/fish/functions/server.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function server --description "Run a server with browser-sync"
|
||||
browser-sync start --server --files "**"
|
||||
end
|
||||
5
config/fish/functions/unquarantine.fish
Normal file
5
config/fish/functions/unquarantine.fish
Normal file
@@ -0,0 +1,5 @@
|
||||
function unquarantine --description "Manually remove a downloaded app or file from the quarantine"
|
||||
for attribute in com.apple.metadata:kMDItemDownloadedDate com.apple.metadata:kMDItemWhereFroms com.apple.quarantine
|
||||
xattr -r -d "$attribute" $argv
|
||||
end
|
||||
end
|
||||
60
config/gh-dash/config.yml
Normal file
60
config/gh-dash/config.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
prSections:
|
||||
- title: My Pull Requests
|
||||
filters: is:open author:@me
|
||||
- title: Needs My Review
|
||||
filters: is:open review-requested:@me
|
||||
- title: Involved
|
||||
filters: is:open involves:@me -author:@me
|
||||
issuesSections:
|
||||
- title: My Issues
|
||||
filters: is:open author:@me
|
||||
- title: Assigned
|
||||
filters: is:open assignee:@me
|
||||
- title: Involved
|
||||
filters: is:open involves:@me -author:@me
|
||||
defaults:
|
||||
preview:
|
||||
open: true
|
||||
width: 50
|
||||
prsLimit: 20
|
||||
issuesLimit: 20
|
||||
view: prs
|
||||
layout:
|
||||
prs:
|
||||
updatedAt:
|
||||
width: 7
|
||||
repo:
|
||||
width: 15
|
||||
author:
|
||||
width: 15
|
||||
assignees:
|
||||
width: 20
|
||||
hidden: true
|
||||
base:
|
||||
width: 15
|
||||
hidden: true
|
||||
lines:
|
||||
width: 16
|
||||
issues:
|
||||
updatedAt:
|
||||
width: 7
|
||||
repo:
|
||||
width: 15
|
||||
creator:
|
||||
width: 10
|
||||
assignees:
|
||||
width: 20
|
||||
hidden: true
|
||||
refetchIntervalMinutes: 30
|
||||
keybindings:
|
||||
issues: []
|
||||
prs: []
|
||||
repoPaths:
|
||||
kogakure/*: ~/Code/GitHub/*
|
||||
work/*: ~/Code/XING/*
|
||||
theme:
|
||||
ui:
|
||||
table:
|
||||
showSeparator: true
|
||||
pager:
|
||||
diff: ""
|
||||
18
config/gh/config.yml
Normal file
18
config/gh/config.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
# What protocol to use when performing git operations. Supported values: ssh, https
|
||||
git_protocol: https
|
||||
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
|
||||
editor:
|
||||
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
|
||||
prompt: enabled
|
||||
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
|
||||
pager:
|
||||
# Aliases allow you to create nicknames for gh commands
|
||||
aliases:
|
||||
co: pr checkout
|
||||
ds: 'pr list --label="team: design-system"'
|
||||
me: pr list --assignee @me
|
||||
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
|
||||
http_unix_socket:
|
||||
# What web browser gh should use when opening URLs. If blank, will refer to environment.
|
||||
browser:
|
||||
version: "1"
|
||||
10
config/gh/hosts.yml
Normal file
10
config/gh/hosts.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
github.com:
|
||||
user: kogakure
|
||||
git_protocol: ssh
|
||||
users:
|
||||
kogakure:
|
||||
source.xing.com:
|
||||
user: stefan-imhoff
|
||||
git_protocol: ssh
|
||||
users:
|
||||
stefan-imhoff:
|
||||
150
config/git/config
Normal file
150
config/git/config
Normal file
@@ -0,0 +1,150 @@
|
||||
[add "interactive"]
|
||||
useBuildtin = true
|
||||
|
||||
[alias]
|
||||
br = "branch"
|
||||
branches = "for-each-ref --sort=-committerdate --format=\"%(color:blue)%(authordate:relative)\t%(color:red)%(authorname)\t%(color:white)%(color:bold)%(refname:short)\" refs/remotes"
|
||||
ci = "commit"
|
||||
co = "checkout"
|
||||
cp = "cherry-pick"
|
||||
dt = "difftool"
|
||||
hist = "log --color --graph --decorate --abbrev-commit --date=short --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(blue)[%an]%Creset' --abbrev-commit --"
|
||||
hub = "!gh repo view --web"
|
||||
ignored = "ls-files --others --directory"
|
||||
local-branches = "!git branch -vv | cut -c 3- | awk '$3 !~/\\[/ { print $1 }'"
|
||||
ls = "log --pretty=format:\"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]\" --decorate"
|
||||
mainbranch = "!git remote show origin | sed -n '/HEAD branch/s/.*: //p'"
|
||||
merged = "branch --merged"
|
||||
prune = "fetch --prune"
|
||||
pub = "publish"
|
||||
publish = "push origin HEAD --force-with-lease"
|
||||
rb = "rebase"
|
||||
squash = "!git rebase -v -i $(git mainbranch)"
|
||||
st = "status"
|
||||
stash-all = "stash save --include-untracked"
|
||||
stats = "shortlog -sn --all --no-merges"
|
||||
synced = "!git pull origin $(git mainbranch) --rebase"
|
||||
today = "log --since=00:00:00 --all --no-merges --oneline"
|
||||
undo = "reset --soft HEAD^"
|
||||
unmerged = "branch --no-merge"
|
||||
unstage = "reset HEAD --"
|
||||
update = "!git pull origin $(git rev-parse --abbrev-ref HEAD) --rebase"
|
||||
|
||||
[apply]
|
||||
whitespace = "fix"
|
||||
|
||||
[branch]
|
||||
autosetupmerge = true
|
||||
sort = "-authordate"
|
||||
|
||||
[color]
|
||||
branch = "auto"
|
||||
diff = "auto"
|
||||
interactive = "auto"
|
||||
status = "auto"
|
||||
ui = 1
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
[core]
|
||||
editor = code --wait
|
||||
legacyheaders = false
|
||||
pager = delta
|
||||
whitespace = trailing-space,space-before-tab
|
||||
|
||||
[credential "https://gist.github.com"]
|
||||
helper = "gh auth git-credential"
|
||||
|
||||
[credential "https://github.com"]
|
||||
helper = "gh auth git-credential"
|
||||
|
||||
[delta]
|
||||
light = false
|
||||
line-numbers = true
|
||||
navigate = true
|
||||
side-by-side = true
|
||||
syntax-theme = "Dracula"
|
||||
|
||||
[diff]
|
||||
algorithm = "patience"
|
||||
colorMoved = "default"
|
||||
tool = "Kaleidoscope"
|
||||
|
||||
[difftool]
|
||||
prompt = false
|
||||
|
||||
[difftool "Kaleidoscope"]
|
||||
cmd = "ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\""
|
||||
|
||||
[fetch]
|
||||
fsckobjects = false
|
||||
prune = true
|
||||
|
||||
[filter "lfs"]
|
||||
clean = "git-lfs clean -- %f"
|
||||
process = "git-lfs filter-process"
|
||||
required = true
|
||||
smudge = "git-lfs smudge -- %f"
|
||||
|
||||
[help]
|
||||
autocorrect = 1
|
||||
|
||||
[i18n]
|
||||
commitencoding = "UTF-8"
|
||||
logoutputencoding = "UTF-8"
|
||||
|
||||
[interactive]
|
||||
diffFilter = "delta --color-only"
|
||||
|
||||
[merge]
|
||||
conflictstyle = "diff3"
|
||||
tool = "Kaleidoscope"
|
||||
|
||||
[mergetool]
|
||||
keepBackup = false
|
||||
prompt = false
|
||||
|
||||
[mergetool "Kaleidoscope"]
|
||||
cmd = "ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot"
|
||||
trustExitCode = true
|
||||
|
||||
[mergetool "code"]
|
||||
cmd = "\"code $MERGED\""
|
||||
keepBackup = false
|
||||
trustexitcode = true
|
||||
|
||||
[mergetool "nvim"]
|
||||
cmd = "nvim -f -c \"Gdiffsplit!\" \"$MERGED\""
|
||||
|
||||
[pull]
|
||||
ff = "only"
|
||||
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
default = "upstream"
|
||||
followTags = true
|
||||
|
||||
[rebase]
|
||||
autosquash = true
|
||||
|
||||
[repack]
|
||||
usedeltabaseoffset = true
|
||||
|
||||
[rerere]
|
||||
enabled = true
|
||||
|
||||
[status]
|
||||
showUntrackedFiles = "all"
|
||||
|
||||
[transfer]
|
||||
fsckObjects = true
|
||||
|
||||
[user]
|
||||
useConfigOnly = true
|
||||
|
||||
[web]
|
||||
browser = "open"
|
||||
|
||||
[include]
|
||||
path = "~/.gitconfig.local"
|
||||
12
config/git/ignore
Normal file
12
config/git/ignore
Normal file
@@ -0,0 +1,12 @@
|
||||
*.lnk
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.session
|
||||
*.sw[nop]
|
||||
.BridgeSort
|
||||
.DS_Store
|
||||
._*
|
||||
.agignore
|
||||
.bundle/
|
||||
m~
|
||||
tags
|
||||
54
config/lazydocker/config.yml
Normal file
54
config/lazydocker/config.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
gui:
|
||||
scrollHeight: 2
|
||||
language: "auto" # one of 'auto' | 'en' | 'pl' | 'nl' | 'de' | 'tr'
|
||||
theme:
|
||||
activeBorderColor:
|
||||
- green
|
||||
- bold
|
||||
inactiveBorderColor:
|
||||
- white
|
||||
optionsTextColor:
|
||||
- blue
|
||||
returnImmediately: false
|
||||
wrapMainPanel: true
|
||||
# Side panel width as a ratio of the screen's width
|
||||
sidePanelWidth: 0.333
|
||||
# Determines whether we show the bottom line (the one containing keybinding
|
||||
# info and the status of the app).
|
||||
showBottomLine: true
|
||||
# When true, increases vertical space used by focused side panel,
|
||||
# creating an accordion effect
|
||||
expandFocusedSidePanel: false
|
||||
logs:
|
||||
timestamps: false
|
||||
since: "60m" # set to '' to show all logs
|
||||
tail: "" # set to 200 to show last 200 lines of logs
|
||||
commandTemplates:
|
||||
dockerCompose: docker-compose
|
||||
restartService: "{{ .DockerCompose }} restart {{ .Service.Name }}"
|
||||
up: "{{ .DockerCompose }} up -d"
|
||||
down: "{{ .DockerCompose }} down"
|
||||
downWithVolumes: "{{ .DockerCompose }} down --volumes"
|
||||
upService: "{{ .DockerCompose }} up -d {{ .Service.Name }}"
|
||||
startService: "{{ .DockerCompose }} start {{ .Service.Name }}"
|
||||
stopService: "{{ .DockerCompose }} stop {{ .Service.Name }}"
|
||||
serviceLogs: "{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}"
|
||||
viewServiceLogs: "{{ .DockerCompose }} logs --follow {{ .Service.Name }}"
|
||||
rebuildService: "{{ .DockerCompose }} up -d --build {{ .Service.Name }}"
|
||||
recreateService: "{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}"
|
||||
allLogs: "{{ .DockerCompose }} logs --tail=300 --follow"
|
||||
viewAlLogs: "{{ .DockerCompose }} logs"
|
||||
dockerComposeConfig: "{{ .DockerCompose }} config"
|
||||
checkDockerComposeConfig: "{{ .DockerCompose }} config --quiet"
|
||||
serviceTop: "{{ .DockerCompose }} top {{ .Service.Name }}"
|
||||
oS:
|
||||
openCommand: open {{filename}}
|
||||
openLinkCommand: open {{link}}
|
||||
stats:
|
||||
graphs:
|
||||
- caption: CPU (%)
|
||||
statPath: DerivedStats.CPUPercentage
|
||||
color: blue
|
||||
- caption: Memory (%)
|
||||
statPath: DerivedStats.MemoryPercentage
|
||||
color: green
|
||||
16
config/lazygit/config.yml
Normal file
16
config/lazygit/config.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
git:
|
||||
overrideGpg: true
|
||||
paging:
|
||||
colorArg: always
|
||||
pager: delta --dark --paging=never syntax-theme=Dracula
|
||||
customCommands:
|
||||
- key: "C"
|
||||
command: "git cz c"
|
||||
description: "commit with commitizen"
|
||||
context: "files"
|
||||
loadingText: "opening commitizen commit tool"
|
||||
subprocess: true
|
||||
- key: "W"
|
||||
command: git commit --no-verify
|
||||
context: "global"
|
||||
subprocess: true
|
||||
120
config/lf/lfrc
Normal file
120
config/lf/lfrc
Normal file
@@ -0,0 +1,120 @@
|
||||
|
||||
# ██╗ ███████╗
|
||||
# ██║ ██╔════╝
|
||||
# ██║ █████╗
|
||||
# ██║ ██╔══╝
|
||||
# ███████╗██║
|
||||
# ╚══════╝╚═╝
|
||||
# Terminal file manager
|
||||
# https://github.com/gokcehan/lf
|
||||
|
||||
set hidden false
|
||||
set icons
|
||||
set previewer ~/.config/lf/previewer.sh
|
||||
set promptfmt "\033[34;1m%d\033[0m\033[1m%f\033[0m"
|
||||
set shell bash
|
||||
set shellopts '-eu'
|
||||
set ifs "\n"
|
||||
set scrolloff 10
|
||||
|
||||
map <enter> shell
|
||||
|
||||
# execute current file (must be executable)
|
||||
map x $$f
|
||||
map X !$f
|
||||
|
||||
# dedicated keys for file opener actions
|
||||
map o &mimeopen $f
|
||||
map O $mimeopen --ask $f
|
||||
|
||||
# define a custom 'open' command
|
||||
# This command is called when current file is not a directory. You may want to
|
||||
# use either file extensions and/or mime types here. Below uses an editor for
|
||||
# text files and a file opener for the rest.
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
text/*) $EDITOR $fx;;
|
||||
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# make sure trash folder exists
|
||||
# %mkdir -p ~/.trash
|
||||
|
||||
# move current file or selected files to trash folder
|
||||
# (also see 'man mv' for backup/overwrite options)
|
||||
# cmd trash %set -f; mv $fx ~/.trash
|
||||
|
||||
cmd delete ${{
|
||||
set -f
|
||||
printf "$fx\n"
|
||||
printf "delete? [y/n]"
|
||||
read ans
|
||||
[ $ans = "y" ] && rm -rf $fx
|
||||
}}
|
||||
|
||||
map <delete> delete
|
||||
|
||||
# extract the current file with the right command
|
||||
# (xkcd link: https://xkcd.com/1168/)
|
||||
cmd extract ${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) tar xJvf $f;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# compress current file or selected files with tar and gunzip
|
||||
cmd tar ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
# compress current file or selected files with zip
|
||||
cmd zip ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
cmd fzf_jump ${{
|
||||
res="$(find . -maxdepth 1 | fzf-tmux -p --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
||||
if [ -d "$res" ] ; then
|
||||
cmd="cd"
|
||||
elif [ -f "$res" ] ; then
|
||||
cmd="select"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
lf -remote "send $id $cmd \"$res\""
|
||||
}}
|
||||
|
||||
map <c-f> :fzf_jump
|
||||
|
||||
cmd z %{{
|
||||
result="$(zoxide query --exclude "${PWD}" -- "$1")"
|
||||
lf -remote "send ${id} cd '${result}'"
|
||||
}}
|
||||
|
||||
cmd git_branch ${{
|
||||
git branch | fzf-tmux -p --reverse | xargs git checkout
|
||||
pwd_shell=$(pwd)
|
||||
lf -remote "send $id updir"
|
||||
lf -remote "send $id cd \"$pwd_shell\""
|
||||
}}
|
||||
map gb :git_branch
|
||||
map gp ${{clear; git pull --rebase || true; echo "press ENTER"; read ENTER}}
|
||||
map gs ${{clear; git status; echo "press ENTER"; read ENTER}}
|
||||
map gl ${{clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit}}
|
||||
|
||||
map f $nvim $(fzf)
|
||||
6
config/lf/previewer.sh
Executable file
6
config/lf/previewer.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
case "$1" in
|
||||
*) bat --force-colorization --paging=never --style=changes,numbers \
|
||||
--terminal-width $(($2 - 3)) "$1" && false ;;
|
||||
esac
|
||||
8
config/nvim/.gitignore
vendored
Normal file
8
config/nvim/.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
||||
15
config/nvim/.neoconf.json
Normal file
15
config/nvim/.neoconf.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"sumneko_lua": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
202
config/nvim/LICENSE
Normal file
202
config/nvim/LICENSE
Normal file
@@ -0,0 +1,202 @@
|
||||
Apache License
|
||||
Test
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
config/nvim/README.md
Normal file
4
config/nvim/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
532285
config/nvim/dictionary/de_neu.txt
Normal file
532285
config/nvim/dictionary/de_neu.txt
Normal file
File diff suppressed because it is too large
Load Diff
2
config/nvim/dictionary/de_user.txt
Normal file
2
config/nvim/dictionary/de_user.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
kogakure
|
||||
Imhoff
|
||||
118619
config/nvim/dictionary/en_us.txt
Normal file
118619
config/nvim/dictionary/en_us.txt
Normal file
File diff suppressed because it is too large
Load Diff
8
config/nvim/init.lua
Normal file
8
config/nvim/init.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
||||
-- Custom Highlight
|
||||
vim.api.nvim_set_hl(0, "WinSeparator", { fg = "#1F2334" })
|
||||
vim.api.nvim_set_hl(0, "DashboardHeader", { fg = "#A8CD76" })
|
||||
vim.api.nvim_set_hl(0, "DashboardFooter", { fg = "#A8CD76" })
|
||||
vim.api.nvim_set_hl(0, "DashboardIcon", { fg = "#A8CD76" })
|
||||
156
config/nvim/lazy-lock.json
Normal file
156
config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"ChatGPT.nvim": { "branch": "main", "commit": "f081338f07216a46d3915ce46c1fcb083bcb5016" },
|
||||
"CopilotChat.nvim": { "branch": "canary", "commit": "cfdf371cec954fccf5410315884e110d214d38fa" },
|
||||
"LazyVim": { "branch": "main", "commit": "12818a6cb499456f4903c5d8e68af43753ebc869" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "6ba091a30616aadeda531c7f27dfad263303f55d" },
|
||||
"aerial.nvim": { "branch": "master", "commit": "e75a3df2c20b3a98c786f5e61587d74a7a6b61d6" },
|
||||
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
|
||||
"baleia.nvim": { "branch": "main", "commit": "1b25eac3ac03659c3d3af75c7455e179e5f197f7" },
|
||||
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
||||
"base16-vim": { "branch": "master", "commit": "3be3cd82cd31acfcab9a41bad853d9c68d30478d" },
|
||||
"blamer.nvim": { "branch": "master", "commit": "e0d43c11697300eb68f00d69df8b87deb0bf52dc" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
|
||||
"catppuccin": { "branch": "main", "commit": "548b2a25415bb60e05c536b7658aa8ffbfeb3e45" },
|
||||
"chafa.nvim": { "branch": "main", "commit": "792c8f4f0e86b5e27c3602be4614f886f3a12a5a" },
|
||||
"cheatsheet.nvim": { "branch": "master", "commit": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-npm": { "branch": "main", "commit": "2337f109f51a09297596dd6b538b70ccba92b4e4" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"codeium.nvim": { "branch": "main", "commit": "f6a2ef32a9e923cb0104a19d3e426b0e40e49505" },
|
||||
"codewindow.nvim": { "branch": "master", "commit": "dd7017617962943eb1d152fc58940f11c6775a4a" },
|
||||
"committia.vim": { "branch": "master", "commit": "a187b8633694027ab5ef8a834527d33093282f95" },
|
||||
"conform.nvim": { "branch": "master", "commit": "0f4f299dfea09d2adfd7a1da05149a0844ac8eee" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
|
||||
"copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
|
||||
"dial.nvim": { "branch": "master", "commit": "ed4d6a5bbd5e479b4c4a3019d148561a2e6c1490" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
|
||||
"editorconfig-vim": { "branch": "master", "commit": "8b7da79e9daee7a3f3a8d4fe29886b9756305aff" },
|
||||
"emmet-vim": { "branch": "master", "commit": "3fb2f63799e1922f7647ed9ff3b32154031a76ee" },
|
||||
"export-to-vscode.nvim": { "branch": "main", "commit": "7746bb67d03f6a6891cdedc8c760c95a5714fe8c" },
|
||||
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
|
||||
"fm-nvim": { "branch": "master", "commit": "8e6a77049330e7c797eb9e63affd75eb796fe75e" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
||||
"fzf": { "branch": "master", "commit": "c423c496a15b96cfc3c3fbd09135bcdc0c8e6b6e" },
|
||||
"fzf-lua": { "branch": "main", "commit": "2c4f76ac810de3b1ef91f06371ebc3cff55b1b3c" },
|
||||
"fzf.vim": { "branch": "master", "commit": "6f28c8c7bb551161a0315a76488522204f39c1f4" },
|
||||
"gen.nvim": { "branch": "main", "commit": "5c153aae3e3f2c39fe424b992127aa43cf1a0293" },
|
||||
"gh.nvim": { "branch": "main", "commit": "ebbaac254ef7dd6f85b439825fbce82d0dc84515" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "22f1571d2c60883b3fbf05e90f04cabde056fe3e" },
|
||||
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
|
||||
"harpoon-lualine": { "branch": "master", "commit": "d1b873c19b701fd80d60a67d086dbb3bcc4eb00e" },
|
||||
"highlight-undo.nvim": { "branch": "main", "commit": "1ea1c79372d7d93c88fd97543880927b7635e3d2" },
|
||||
"inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "dddb5d21811c319eb6e51a993d8fb44b193aae3f" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" },
|
||||
"legendary.nvim": { "branch": "master", "commit": "c89be94fe96dc5eaba67ad9371263bc1eac75044" },
|
||||
"lf.nvim": { "branch": "master", "commit": "69ab1efcffee6928bf68ac9bd0c016464d9b2c8b" },
|
||||
"litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" },
|
||||
"lsp-progress.nvim": { "branch": "main", "commit": "d5f4d28efe75ce636bfbe271eb45f39689765aab" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" },
|
||||
"lush.nvim": { "branch": "main", "commit": "6a254139d077ad53be7e4f3602c8da0c84447fd9" },
|
||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "62360f061d45177dda8afc1b0fd1327328540301" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" },
|
||||
"mini.animate": { "branch": "main", "commit": "320fb35460238c436407cd779f63abad98e84870" },
|
||||
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
|
||||
"mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
|
||||
"mini.surround": { "branch": "main", "commit": "57caca9525cec0ea771a67326b0ee637d056078a" },
|
||||
"neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
|
||||
"neogit": { "branch": "master", "commit": "2b74a777b963dfdeeabfabf84d5ba611666adab4" },
|
||||
"neotest": { "branch": "master", "commit": "32ff2ac21135a372a42b38ae131e531e64833bd3" },
|
||||
"neotest-golang": { "branch": "main", "commit": "58a174e5526b0edd2cf0829a6cf98efe3d49f209" },
|
||||
"neotest-jest": { "branch": "main", "commit": "514fd4eae7da15fd409133086bb8e029b65ac43f" },
|
||||
"neotest-rspec": { "branch": "main", "commit": "53fc108a06ae43d7f873d42ee5189c2301e33623" },
|
||||
"neotest-vitest": { "branch": "main", "commit": "353364aa05b94b09409cbef21b79c97c5564e2ce" },
|
||||
"night-owl.nvim": { "branch": "main", "commit": "87486a7157d49bc9ed43aab89432672deaf03110" },
|
||||
"noctis.nvim": { "branch": "main", "commit": "0b9336e39c686a7e58de06e4dd38c2bd862a7b33" },
|
||||
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" },
|
||||
"nvim-cursorline": { "branch": "main", "commit": "804f0023692653b2b2368462d67d2a87056947f9" },
|
||||
"nvim-dap": { "branch": "master", "commit": "9b81479813c5b1e79d2c7e2df6dc99aa1580bc19" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "5511788255c92bdd845f8d9690f88e2e0f0ff9f2" },
|
||||
"nvim-dap-ruby": { "branch": "main", "commit": "4176405d186a93ebec38a6344df124b1689cfcfd" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
|
||||
"nvim-lint": { "branch": "master", "commit": "906cd0012be2acbf98de87a3c25154abe7da0478" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "652386deae739e38fa1bcf2f06e3e7de9b3436ba" },
|
||||
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
||||
"nvim-silicon": { "branch": "main", "commit": "feb882f04c992b797daa118101a239fb3bedfc04" },
|
||||
"nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" },
|
||||
"nvim-transparent": { "branch": "main", "commit": "fd35a46f4b7c1b244249266bdcb2da3814f01724" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "3d1f5e7df8d9981ec0bcf4aa635c0cc0a7ee89d9" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ca93cb2c34b67ab22d01976fc90bc95627a3317f" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "dc5e1687ab76ee02e0f11c5ce137f530b36e98b3" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "7dcb8fea3e7b3ccdb50f2c3ae7c248cdf6fe1ae1" },
|
||||
"nvim-various-textobjs": { "branch": "main", "commit": "52343c70e2487095cafd4a5000d0465a2b992b03" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
|
||||
"oatmeal.nvim": { "branch": "master", "commit": "c8cdd0a182cf77f88ea5fa4703229ddb3f47c1f7" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||
"oil.nvim": { "branch": "master", "commit": "fcca212c2e966fc3dec1d4baf888e670631d25d1" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
||||
"rainbow_csv": { "branch": "master", "commit": "3dbbfd7d17536aebfb80f571255548495574c32b" },
|
||||
"remote-nvim.nvim": { "branch": "main", "commit": "66fc20fd259401c7bb6ac5189ecb6283c2eb65d2" },
|
||||
"smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "dbd4d7212d6e9d180ab4197a52cee2ba31b2b749" },
|
||||
"sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" },
|
||||
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" },
|
||||
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
|
||||
"tailwind-sorter.nvim": { "branch": "main", "commit": "1b60096635a1a1bef6b36b6c88a61ff437df5a15" },
|
||||
"tailwind-tools.nvim": { "branch": "master", "commit": "72f01ba654ffaf382c1df996b77cc53ec7860f70" },
|
||||
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "a46780830b576049c675680650f773bedfa8677a" },
|
||||
"telescope-frecency.nvim": { "branch": "master", "commit": "25d01edae8a2d74bcaa706c003b2712bce1e3301" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||
"telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" },
|
||||
"telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" },
|
||||
"telescope-heading.nvim": { "branch": "main", "commit": "e85c0f69cb64048f56e76548dcb2f10277576df9" },
|
||||
"telescope-import.nvim": { "branch": "main", "commit": "baa2d50be46c769a1cc942a9d5be049f314f4206" },
|
||||
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "649b662a8f476fd2c0289570764459e95ebaa3f3" },
|
||||
"telescope-node-modules.nvim": { "branch": "main", "commit": "b846d33ff5763176dc14fc74c30941a2067c82fd" },
|
||||
"telescope-undo.nvim": { "branch": "main", "commit": "51be9ae7c42fc27c0b05505e3a0162e0f05fbb6a" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "3b1600d0fd5172ad9fae00987362ca0ef3d8895d" },
|
||||
"tmux-awesome-manager.nvim": { "branch": "master", "commit": "f266ba588249965a16df77bca3f8e9a241156d37" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "137d06fb103952a0fb567882bb8527e2f92d327d" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" },
|
||||
"vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" },
|
||||
"vim-astro": { "branch": "main", "commit": "9b4674ecfe1dd84b5fb9b4de1653975de6e8e2e1" },
|
||||
"vim-bookmarks": { "branch": "master", "commit": "9cc5fa7ecc23b052bd524d07c85356c64b92aeef" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" },
|
||||
"vim-gh-line": { "branch": "master", "commit": "731751fdfa4f64a061dbc7088cb7b2f12e0828ad" },
|
||||
"vim-grammarous": { "branch": "master", "commit": "db46357465ce587d5325e816235b5e92415f8c05" },
|
||||
"vim-markdown": { "branch": "master", "commit": "a657e697376909c41475a686eeef7fc7a4972d94" },
|
||||
"vim-mundo": { "branch": "master", "commit": "2ceda8c65f7b3f9066820729fc02003a09df91f9" },
|
||||
"vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" },
|
||||
"vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" },
|
||||
"vim-visincr": { "branch": "master", "commit": "57cd943a31b0b5ec36a884b5b5b8758843c74c1a" },
|
||||
"vim-visual-multi": { "branch": "master", "commit": "38b0e8d94a5499ccc17d6159763d32c79f53417b" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "53bba6bb8342de9cbdafc82142a9b5e82008d858" },
|
||||
"vim-xtract": { "branch": "master", "commit": "65e47be935080f112f219b5f0bc1bf411c783f27" },
|
||||
"vimux": { "branch": "master", "commit": "c4ffa0b992798f3362b27642088dccb251aaef1e" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" },
|
||||
"worktrees.nvim": { "branch": "main", "commit": "9b705e702b29297009702e492c28c0277a5bb8fa" },
|
||||
"wrapping.nvim": { "branch": "master", "commit": "3a823200c297885b70515fa8d974e1763c578e26" },
|
||||
"zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" }
|
||||
}
|
||||
15
config/nvim/lazyvim.json
Normal file
15
config/nvim/lazyvim.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.copilot",
|
||||
"lazyvim.plugins.extras.dap.core",
|
||||
"lazyvim.plugins.extras.editor.aerial",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.yaml"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "6520"
|
||||
},
|
||||
"version": 6
|
||||
}
|
||||
55
config/nvim/lua/config/autocmds.lua
Normal file
55
config/nvim/lua/config/autocmds.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
||||
|
||||
-- Reload tmux config on save
|
||||
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||
pattern = { "*tmux.conf" },
|
||||
command = "execute 'silent !tmux source <afile> --silent'",
|
||||
})
|
||||
|
||||
-- Reload gitmux config on save
|
||||
vim.api.nvim_create_autocmd({ "BufRead" }, {
|
||||
pattern = { "gitmux.conf" },
|
||||
callback = function()
|
||||
vim.cmd([[set filetype=sh]])
|
||||
end,
|
||||
})
|
||||
|
||||
-- Restart yabai on config save
|
||||
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||
pattern = { ".yabairc" },
|
||||
command = "!yabai --restart-service",
|
||||
})
|
||||
|
||||
-- Add specific settings for Markdown files
|
||||
vim.api.nvim_create_autocmd({ "BufNewFile", "BufFilePre", "BufRead" }, {
|
||||
pattern = { "*.mdx", "*.md" },
|
||||
callback = function()
|
||||
vim.cmd([[set wrap linebreak nolist]])
|
||||
vim.cmd([[SoftWrapMode]])
|
||||
end,
|
||||
})
|
||||
|
||||
-- Evenly resize windows after resizing
|
||||
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
||||
pattern = { "*" },
|
||||
callback = function()
|
||||
vim.cmd([[tabdo wincmd =]])
|
||||
end,
|
||||
})
|
||||
|
||||
-- Turn off paste mode when leaving insert mode
|
||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
||||
pattern = { "*" },
|
||||
command = "set nopaste",
|
||||
})
|
||||
|
||||
-- Change conceallevel for JSON files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "json", "jsonc" },
|
||||
callback = function()
|
||||
vim.wo.spell = false
|
||||
vim.wo.conceallevel = 0
|
||||
end,
|
||||
})
|
||||
51
config/nvim/lua/config/keymaps.lua
Normal file
51
config/nvim/lua/config/keymaps.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
rawset(_G, "vim", vim or {})
|
||||
|
||||
vim.keymap.set("n", "<leader>j", ":b#<CR>", { desc = "Toggle between buffers", noremap = true, silent = true })
|
||||
vim.keymap.set("n", ";;", "A;<ESC>", { desc = "Add semicolon to the end of the line", noremap = true, silent = true })
|
||||
vim.keymap.set("n", ",,", "A,<ESC>", { desc = "Add comma to the end of the line", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("v", "y", "myy`y", { desc = "Maintain the cursor position when yanking a visual selection", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "+", "<C-a>", { desc = "Increment", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "<leader>bx", ":bufdo bdelete<CR>", { desc = "Delete all buffers", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "<leader>bsd", "<cmd>%bd|e#|bd#<cr>|'<cr>", { desc = "Delete surrounding buffers" })
|
||||
vim.keymap.set("n", "<leader>ut", ":set list!<CR>", { desc = "Toggle list", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "Y", "yg$", { desc = "Copy to the end of the line", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "n", "nzzzv", { desc = "Keep the window centered (next search result)", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep the window centered (previous search result)", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "<expr> j", "(v:count == 0 ? 'gj' : 'j')", { desc = "Move by rows in wrapped mode (down)", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "<expr> k", "(v:count == 0 ? 'gk' : 'k')", { desc = "Move by rows in wrapped mode (up)", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "gP", "`[v`]", { desc = "Visually select of just pasted content", noremap = true, silent = true })
|
||||
vim.keymap.set("n", "gy", "`[v`]y", { desc = "Visually select of just pasted content", noremap = true, silent = true })
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "<leader>wi", ":silent !open -a iA\\ Writer.app '%:p'<CR>", { desc = "Open in iA Writer", noremap = true, silent = true })
|
||||
|
||||
vim.keymap.set("n", "-", "<CMD>foldclose<CR>", { desc = "Close code fold" })
|
||||
vim.keymap.set("n", "+", "<CMD>foldopen<CR>", { desc = "Open code fold" })
|
||||
|
||||
vim.keymap.set("n", "<C-h>", function()
|
||||
require("smart-splits").move_cursor_left()
|
||||
end)
|
||||
vim.keymap.set("n", "<C-j>", function()
|
||||
require("smart-splits").move_cursor_down()
|
||||
end)
|
||||
vim.keymap.set("n", "<C-k>", function()
|
||||
require("smart-splits").move_cursor_up()
|
||||
end)
|
||||
vim.keymap.set("n", "<C-l>", function()
|
||||
require("smart-splits").move_cursor_right()
|
||||
end)
|
||||
|
||||
vim.keymap.set("n", "[b", "<cmd>bprevious<cr>", { desc = "Prev buffer" })
|
||||
vim.keymap.set("n", "]b", "<cmd>bnext<cr>", { desc = "Next buffer" })
|
||||
|
||||
-- Visual Mode
|
||||
vim.keymap.set("v", "<", "<gv", { desc = "Stay in indent mode (left)", noremap = true, silent = true })
|
||||
vim.keymap.set("v", ">", ">gv", { desc = "Stay in indent mode (right)", noremap = true, silent = true })
|
||||
67
config/nvim/lua/config/lazy.lua
Normal file
67
config/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,67 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
vim.cmd([[command! -nargs=0 GoToFile :Telescope find_files]])
|
||||
vim.cmd([[command! -nargs=0 GoToCommand :Telescope commands]])
|
||||
vim.cmd([[command! -nargs=0 Grep :Telescope live_grep]])
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import any extras modules here
|
||||
{ import = "lazyvim.plugins.extras.coding.codeium" },
|
||||
{ import = "lazyvim.plugins.extras.coding.copilot" },
|
||||
{ import = "lazyvim.plugins.extras.coding.mini-surround" },
|
||||
{ import = "lazyvim.plugins.extras.dap.core" },
|
||||
{ import = "lazyvim.plugins.extras.editor.aerial" },
|
||||
{ import = "lazyvim.plugins.extras.editor.harpoon2" },
|
||||
{ import = "lazyvim.plugins.extras.formatting.prettier" },
|
||||
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
{ import = "lazyvim.plugins.extras.lang.ruby" },
|
||||
{ import = "lazyvim.plugins.extras.lang.tailwind" },
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
{ import = "lazyvim.plugins.extras.lang.yaml" },
|
||||
{ import = "lazyvim.plugins.extras.linting.eslint" },
|
||||
{ import = "lazyvim.plugins.extras.test.core" },
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true,
|
||||
notify = false,
|
||||
frequency = 86400,
|
||||
},
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
48
config/nvim/lua/config/options.lua
Normal file
48
config/nvim/lua/config/options.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
vim.opt.autowrite = true
|
||||
vim.opt.backspace = { "indent", "eol", "start" } -- Intuitive backspacing
|
||||
vim.opt.copyindent = true
|
||||
vim.opt.foldlevel = 2
|
||||
vim.opt.fillchars = "fold: "
|
||||
vim.opt.cursorline = false
|
||||
vim.opt.foldlevelstart = 99
|
||||
vim.opt.foldmethod = "indent"
|
||||
vim.opt.foldnestmax = 10
|
||||
vim.opt.grepprg = "rg --vimgrep --no-heading --smart-case"
|
||||
vim.opt.listchars = { tab = "↦ ", trail = "·", nbsp = ".", extends = "❯", precedes = "❮" }
|
||||
vim.opt.showbreak = "↪"
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.title = true
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.virtualedit = "block,insert"
|
||||
vim.opt.conceallevel = 2
|
||||
|
||||
vim.opt.iskeyword:append("-") -- Add dashes to words
|
||||
vim.opt.wildignore:append({ "*/node_modules/*" }) -- Wildignore
|
||||
vim.opt.complete:append({ "i", "k", "s", "kspell" })
|
||||
|
||||
-- Only the project root should be the root
|
||||
vim.g.root_spec = { ".git" }
|
||||
|
||||
-- Undercurl
|
||||
vim.cmd([[let &t_Cs = "\e[4:3m"]])
|
||||
vim.cmd([[let &t_Ce = "\e[4:0m"]])
|
||||
|
||||
-- FIXME: When using "vim.opt.spellfile:append("~/.config/…) the file is not writable"
|
||||
vim.cmd([[
|
||||
" Spell Checker
|
||||
set spellfile+=~/.config/nvim/spell/en.utf-8.add
|
||||
|
||||
" Custom Dictionaries (<C-x> <C-k>)
|
||||
set dictionary+=~/.config/nvim/dictionary/de_user.txt
|
||||
set dictionary+=~/.config/nvim/dictionary/de_neu.txt
|
||||
set dictionary+=~/.config/nvim/dictionary/en_us.txt
|
||||
|
||||
" Custom Thesauri (Synonyms) (<C-x> <C-t>)
|
||||
set thesaurus+=~/.config/nvim/thesaurus/de_user.txt
|
||||
set thesaurus+=~/.config/nvim/thesaurus/de_openthesaurus.txt
|
||||
]])
|
||||
177
config/nvim/lua/lualine/themes/custom.lua
Normal file
177
config/nvim/lua/lualine/themes/custom.lua
Normal file
@@ -0,0 +1,177 @@
|
||||
-- Copyright (c) 2020-2021 shadmansaleh
|
||||
-- MIT license, see LICENSE for more details.
|
||||
local utils = require("lualine.utils.utils")
|
||||
local loader = require("lualine.utils.loader")
|
||||
|
||||
local custom = {
|
||||
A = "#1F2335",
|
||||
B = "#24283B",
|
||||
}
|
||||
|
||||
local color_name = vim.g.colors_name
|
||||
if color_name then
|
||||
-- All base16 colorschemes share the same theme
|
||||
if "base16" == color_name:sub(1, 6) then
|
||||
color_name = "base16"
|
||||
end
|
||||
|
||||
-- Check if there's a theme for current colorscheme
|
||||
-- If there is load that instead of generating a new one
|
||||
local ok, theme = pcall(loader.load_theme, color_name)
|
||||
if ok and theme then
|
||||
return theme
|
||||
end
|
||||
end
|
||||
|
||||
---------------
|
||||
-- Constants --
|
||||
---------------
|
||||
-- fg and bg must have this much contrast range 0 < contrast_threshold < 0.5
|
||||
local contrast_threshold = 0.3
|
||||
-- how much brightness is changed in percentage for light and dark themes
|
||||
local brightness_modifier_parameter = 10
|
||||
|
||||
-- Turns #rrggbb -> { red, green, blue }
|
||||
local function rgb_str2num(rgb_color_str)
|
||||
if rgb_color_str:find("#") == 1 then
|
||||
rgb_color_str = rgb_color_str:sub(2, #rgb_color_str)
|
||||
end
|
||||
local red = tonumber(rgb_color_str:sub(1, 2), 16)
|
||||
local green = tonumber(rgb_color_str:sub(3, 4), 16)
|
||||
local blue = tonumber(rgb_color_str:sub(5, 6), 16)
|
||||
return { red = red, green = green, blue = blue }
|
||||
end
|
||||
|
||||
-- Turns { red, green, blue } -> #rrggbb
|
||||
local function rgb_num2str(rgb_color_num)
|
||||
local rgb_color_str = string.format("#%02x%02x%02x", rgb_color_num.red, rgb_color_num.green, rgb_color_num.blue)
|
||||
return rgb_color_str
|
||||
end
|
||||
|
||||
-- Returns brightness level of color in range 0 to 1
|
||||
-- arbitrary value it's basically an weighted average
|
||||
local function get_color_brightness(rgb_color)
|
||||
local color = rgb_str2num(rgb_color)
|
||||
local brightness = (color.red * 2 + color.green * 3 + color.blue) / 6
|
||||
return brightness / 256
|
||||
end
|
||||
|
||||
-- returns average of colors in range 0 to 1
|
||||
-- used to determine contrast level
|
||||
local function get_color_avg(rgb_color)
|
||||
local color = rgb_str2num(rgb_color)
|
||||
return (color.red + color.green + color.blue) / 3 / 256
|
||||
end
|
||||
|
||||
-- Clamps the val between left and right
|
||||
local function clamp(val, left, right)
|
||||
if val > right then
|
||||
return right
|
||||
end
|
||||
if val < left then
|
||||
return left
|
||||
end
|
||||
return val
|
||||
end
|
||||
|
||||
-- Changes brightness of rgb_color by percentage
|
||||
local function brightness_modifier(rgb_color, parcentage)
|
||||
local color = rgb_str2num(rgb_color)
|
||||
color.red = clamp(color.red + (color.red * parcentage / 100), 0, 255)
|
||||
color.green = clamp(color.green + (color.green * parcentage / 100), 0, 255)
|
||||
color.blue = clamp(color.blue + (color.blue * parcentage / 100), 0, 255)
|
||||
return rgb_num2str(color)
|
||||
end
|
||||
|
||||
-- Changes contrast of rgb_color by amount
|
||||
local function contrast_modifier(rgb_color, amount)
|
||||
local color = rgb_str2num(rgb_color)
|
||||
color.red = clamp(color.red + amount, 0, 255)
|
||||
color.green = clamp(color.green + amount, 0, 255)
|
||||
color.blue = clamp(color.blue + amount, 0, 255)
|
||||
return rgb_num2str(color)
|
||||
end
|
||||
|
||||
-- Changes brightness of foreground color to achieve contrast
|
||||
-- without changing the color
|
||||
local function apply_contrast(highlight)
|
||||
local hightlight_bg_avg = get_color_avg(highlight.bg)
|
||||
local contrast_threshold_config = clamp(contrast_threshold, 0, 0.5)
|
||||
local contranst_change_step = 5
|
||||
if hightlight_bg_avg > 0.5 then
|
||||
contranst_change_step = -contranst_change_step
|
||||
end
|
||||
|
||||
-- Don't waste too much time here max 25 iteration should be more than enough
|
||||
local iteration_count = 1
|
||||
while math.abs(get_color_avg(highlight.fg) - hightlight_bg_avg) < contrast_threshold_config and iteration_count < 25 do
|
||||
highlight.fg = contrast_modifier(highlight.fg, contranst_change_step)
|
||||
iteration_count = iteration_count + 1
|
||||
end
|
||||
end
|
||||
|
||||
-- Get the colors to create theme
|
||||
-- stylua: ignore
|
||||
local colors = {
|
||||
normal = utils.extract_color_from_hllist('bg', { 'PmenuSel', 'PmenuThumb', 'TabLineSel' }, '#000000'),
|
||||
insert = utils.extract_color_from_hllist('fg', { 'String', 'MoreMsg' }, '#000000'),
|
||||
replace = utils.extract_color_from_hllist('fg', { 'Number', 'Type' }, '#000000'),
|
||||
visual = utils.extract_color_from_hllist('fg', { 'Special', 'Boolean', 'Constant' }, '#000000'),
|
||||
command = utils.extract_color_from_hllist('fg', { 'Identifier' }, '#000000'),
|
||||
back1 = utils.extract_color_from_hllist('bg', { 'Normal', 'StatusLineNC' }, '#000000'),
|
||||
fore = utils.extract_color_from_hllist('fg', { 'Normal', 'StatusLine' }, '#000000'),
|
||||
back2 = utils.extract_color_from_hllist('bg', { 'StatusLine' }, '#000000'),
|
||||
}
|
||||
|
||||
-- Change brightness of colors
|
||||
-- Darken if light theme (or) Lighten if dark theme
|
||||
local normal_color = utils.extract_highlight_colors("Normal", "bg")
|
||||
if normal_color ~= nil then
|
||||
if get_color_brightness(normal_color) > 0.5 then
|
||||
brightness_modifier_parameter = -brightness_modifier_parameter
|
||||
end
|
||||
for name, color in pairs(colors) do
|
||||
colors[name] = brightness_modifier(color, brightness_modifier_parameter)
|
||||
end
|
||||
end
|
||||
|
||||
-- Basic theme definition
|
||||
local M = {
|
||||
normal = {
|
||||
a = { bg = colors.normal, fg = colors.back1, gui = "bold" },
|
||||
b = { bg = custom.B, fg = colors.normal },
|
||||
c = { bg = custom.A, fg = colors.fore },
|
||||
},
|
||||
insert = {
|
||||
a = { bg = colors.insert, fg = colors.back1, gui = "bold" },
|
||||
b = { bg = custom.B, fg = colors.insert },
|
||||
c = { bg = colors.back2, fg = colors.fore },
|
||||
},
|
||||
replace = {
|
||||
a = { bg = colors.replace, fg = colors.back1, gui = "bold" },
|
||||
b = { bg = custom.B, fg = colors.replace },
|
||||
c = { bg = colors.back2, fg = colors.fore },
|
||||
},
|
||||
visual = {
|
||||
a = { bg = colors.visual, fg = colors.back1, gui = "bold" },
|
||||
b = { bg = custom.B, fg = colors.visual },
|
||||
c = { bg = colors.back2, fg = colors.fore },
|
||||
},
|
||||
command = {
|
||||
a = { bg = colors.command, fg = colors.back1, gui = "bold" },
|
||||
b = { bg = custom.B, fg = colors.command },
|
||||
c = { bg = colors.back2, fg = colors.fore },
|
||||
},
|
||||
}
|
||||
|
||||
M.terminal = M.command
|
||||
M.inactive = M.normal
|
||||
|
||||
-- Apply proper contrast so text is readable
|
||||
for _, section in pairs(M) do
|
||||
for _, highlight in pairs(section) do
|
||||
apply_contrast(highlight)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
42
config/nvim/lua/lualine/themes/transparent.lua
Normal file
42
config/nvim/lua/lualine/themes/transparent.lua
Normal file
@@ -0,0 +1,42 @@
|
||||
local colors = {
|
||||
white = "#ffffff",
|
||||
blue = "#88A1BB",
|
||||
green = "#b7d670",
|
||||
magenta = "#a889d2",
|
||||
orange = "#fd9f4d",
|
||||
yellow = "#f3fa9b",
|
||||
transparent = "None",
|
||||
}
|
||||
|
||||
return {
|
||||
normal = {
|
||||
a = { bg = colors.transparent, fg = colors.blue, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
insert = {
|
||||
a = { bg = colors.transparent, fg = colors.green, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
visual = {
|
||||
a = { bg = colors.transparent, fg = colors.magenta, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
replace = {
|
||||
a = { bg = colors.transparent, fg = colors.orange, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
command = {
|
||||
a = { bg = colors.transparent, fg = colors.yellow, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
inactive = {
|
||||
a = { bg = colors.transparent, fg = colors.white, gui = "bold" },
|
||||
b = { bg = colors.transparent, fg = colors.white },
|
||||
c = { bg = colors.transparent, fg = colors.white },
|
||||
},
|
||||
}
|
||||
9
config/nvim/lua/plugins/abolish.lua
Normal file
9
config/nvim/lua/plugins/abolish.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Automatically fix spelling mistakes
|
||||
-- https://github.com/tpope/vim-abolish
|
||||
return {
|
||||
"tpope/vim-abolish",
|
||||
config = function()
|
||||
vim.api.nvim_command("Abolish teh the")
|
||||
vim.api.nvim_command("Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or} {despe,sepa}rat{}")
|
||||
end,
|
||||
}
|
||||
22
config/nvim/lua/plugins/aerial.lua
Normal file
22
config/nvim/lua/plugins/aerial.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- aerical.nvim
|
||||
-- https://github.com/stevearc/aerial.nvim
|
||||
return {
|
||||
"stevearc/aerial.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("aerial").setup({
|
||||
on_attach = function(bufnr)
|
||||
-- Jump forwards/backwards with '{' and '}'
|
||||
vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", { buffer = bufnr })
|
||||
vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", { buffer = bufnr })
|
||||
end,
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>A", "<cmd>AerialToggle!<CR>", desc = "Aerial" },
|
||||
},
|
||||
}
|
||||
8
config/nvim/lua/plugins/astro.lua
Normal file
8
config/nvim/lua/plugins/astro.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Astro support
|
||||
-- https://github.com/wuelnerdotexe/vim-astro
|
||||
return {
|
||||
"wuelnerdotexe/vim-astro",
|
||||
config = function()
|
||||
vim.g.astro_typescript = "enable"
|
||||
end,
|
||||
}
|
||||
8
config/nvim/lua/plugins/auto-save.lua
Normal file
8
config/nvim/lua/plugins/auto-save.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- 🧶 Automatically save your changes in NeoVim
|
||||
-- https://github.com/pocco81/auto-save.nvim
|
||||
return {
|
||||
"Pocco81/auto-save.nvim",
|
||||
keys = {
|
||||
{ "<leader>as", "<Cmd>ASToggle<CR>", desc = "Autosave Toggle" },
|
||||
},
|
||||
}
|
||||
10
config/nvim/lua/plugins/autotag.lua
Normal file
10
config/nvim/lua/plugins/autotag.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Use treesitter to auto close and auto rename HTML tags
|
||||
-- https://github.com/windwp/nvim-ts-autotag
|
||||
return {
|
||||
"windwp/nvim-ts-autotag",
|
||||
config = function()
|
||||
require("nvim-ts-autotag").setup({
|
||||
disable_filetype = { "TelescopePrompt", "vim" },
|
||||
})
|
||||
end,
|
||||
}
|
||||
15
config/nvim/lua/plugins/barbecue.lua
Normal file
15
config/nvim/lua/plugins/barbecue.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- barbecue.nvim
|
||||
-- https://github.com/utilyre/barbecue.nvim
|
||||
return {
|
||||
"utilyre/barbecue.nvim",
|
||||
name = "barbecue",
|
||||
version = "*",
|
||||
dependencies = {
|
||||
"SmiteshP/nvim-navic",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("barbecue").setup()
|
||||
require("barbecue.ui").toggle(true)
|
||||
end,
|
||||
}
|
||||
4
config/nvim/lua/plugins/base16.lua
Normal file
4
config/nvim/lua/plugins/base16.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
-- https://github.com/chriskempson/base16-vim
|
||||
return {
|
||||
"chriskempson/base16-vim",
|
||||
}
|
||||
14
config/nvim/lua/plugins/blamer.lua
Normal file
14
config/nvim/lua/plugins/blamer.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Show Git blame inline
|
||||
-- https://github.com/APZelos/blamer.nvim
|
||||
return {
|
||||
"APZelos/blamer.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>gB", "<cmd>BlamerToggle<cr>", desc = "Git Blame" },
|
||||
},
|
||||
config = function()
|
||||
vim.g.blamer_enabled = 0
|
||||
vim.g.blamer_relative_time = 1
|
||||
vim.g.blamer_delay = 200
|
||||
end,
|
||||
}
|
||||
5
config/nvim/lua/plugins/bookmark.lua
Normal file
5
config/nvim/lua/plugins/bookmark.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Vim bookmark plugin
|
||||
-- https://github.com/MattesGroeger/vim-bookmarks
|
||||
return {
|
||||
"MattesGroeger/vim-bookmarks",
|
||||
}
|
||||
17
config/nvim/lua/plugins/bufferline.lua
Normal file
17
config/nvim/lua/plugins/bufferline.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
-- A snazzy bufferline for Neovim
|
||||
-- https://github.com/akinsho/bufferline.nvim
|
||||
return {
|
||||
"akinsho/bufferline.nvim",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
keys = {
|
||||
{ "<Tab>", "<Cmd>BufferLineCycleNext<CR>", desc = "Next tab" },
|
||||
{ "<S-Tab>", "<Cmd>BufferLineCyclePrev<CR>", desc = "Prev tab" },
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
mode = "tabs",
|
||||
show_buffer_close_icons = false,
|
||||
show_close_icon = false,
|
||||
},
|
||||
},
|
||||
}
|
||||
7
config/nvim/lua/plugins/catppuccin.lua
Normal file
7
config/nvim/lua/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
-- https://github.com/catppuccin/nvim
|
||||
return {
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
},
|
||||
}
|
||||
20
config/nvim/lua/plugins/chafa.lua
Normal file
20
config/nvim/lua/plugins/chafa.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- View images in Neovim
|
||||
-- https://github.com/princejoogie/chafa.nvim
|
||||
return {
|
||||
"princejoogie/chafa.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"m00qek/baleia.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("chafa").setup({
|
||||
render = {
|
||||
min_padding = 5,
|
||||
show_label = true,
|
||||
},
|
||||
events = {
|
||||
update_on_nvim_resize = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
29
config/nvim/lua/plugins/chatgpg.lua
Normal file
29
config/nvim/lua/plugins/chatgpg.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- ChatGPT Neovim Plugin
|
||||
-- https://github.com/jackMort/ChatGPT.nvim
|
||||
return {
|
||||
"jackMort/ChatGPT.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
mode = "v",
|
||||
"<leader>e",
|
||||
function()
|
||||
require("chatgpt").edit_with_instructions()
|
||||
end,
|
||||
desc = "Edit with instructions",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local home = vim.fn.expand("$HOME")
|
||||
local file_path = home .. "/.config/nvim/lua/plugins/chatgpg.txt.gpg"
|
||||
require("chatgpt").setup({
|
||||
api_key_cmd = "gpg --decrypt --use-agent " .. file_path,
|
||||
})
|
||||
end,
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
},
|
||||
}
|
||||
BIN
config/nvim/lua/plugins/chatgpg.txt.gpg
Normal file
BIN
config/nvim/lua/plugins/chatgpg.txt.gpg
Normal file
Binary file not shown.
16
config/nvim/lua/plugins/cheatsheet.lua
Normal file
16
config/nvim/lua/plugins/cheatsheet.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
-- Searchable Cheatsheet
|
||||
-- https://github.com/sudormrfbin/cheatsheet.nvim
|
||||
return {
|
||||
"sudormrfbin/cheatsheet.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/popup.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>C", "<cmd>Cheatsheet<cr>", desc = "Cheatsheet" },
|
||||
},
|
||||
config = function()
|
||||
require("cheatsheet").setup()
|
||||
end,
|
||||
}
|
||||
47
config/nvim/lua/plugins/cmp.lua
Normal file
47
config/nvim/lua/plugins/cmp.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
|
||||
"zbirenbaum/copilot-cmp",
|
||||
"David-Kunz/cmp-npm",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, {
|
||||
{ name = "copilot" },
|
||||
{ name = "npm", keyword_length = 4 },
|
||||
}))
|
||||
|
||||
opts.formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(_, item)
|
||||
local icons = require("lazyvim.config").icons.kinds
|
||||
if icons[item.kind] then
|
||||
item.kind = icons[item.kind]
|
||||
end
|
||||
return item
|
||||
end,
|
||||
}
|
||||
|
||||
opts.window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
}
|
||||
|
||||
vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#6CC644" })
|
||||
vim.api.nvim_set_hl(0, "CmpItemAbbrMatch", { fg = "NONE", bg = "#000000" })
|
||||
|
||||
vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]])
|
||||
vim.cmd([[highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080]])
|
||||
vim.cmd([[highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6]])
|
||||
vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]])
|
||||
vim.cmd([[highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE]])
|
||||
vim.cmd([[highlight! link CmpItemKindInterface CmpItemKindVariable]])
|
||||
vim.cmd([[highlight! link CmpItemKindText CmpItemKindVariable]])
|
||||
vim.cmd([[highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0]])
|
||||
vim.cmd([[highlight! link CmpItemKindMethod CmpItemKindFunction]])
|
||||
vim.cmd([[highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4]])
|
||||
vim.cmd([[highlight! link CmpItemKindProperty CmpItemKindKeyword]])
|
||||
vim.cmd([[highlight! link CmpItemKindUnit CmpItemKindKeyword]])
|
||||
end,
|
||||
}
|
||||
12
config/nvim/lua/plugins/codewindow.lua
Normal file
12
config/nvim/lua/plugins/codewindow.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Minimap
|
||||
-- https://github.com/gorbit99/codewindow.nvim
|
||||
return {
|
||||
"gorbit99/codewindow.nvim",
|
||||
config = function()
|
||||
local codewindow = require("codewindow")
|
||||
codewindow.setup({
|
||||
window_border = "none",
|
||||
})
|
||||
codewindow.apply_default_keybinds()
|
||||
end,
|
||||
}
|
||||
29
config/nvim/lua/plugins/colorizer.lua
Normal file
29
config/nvim/lua/plugins/colorizer.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- The fastest Neovim colorizer
|
||||
-- https://github.com/NvChad/nvim-colorizer.lua
|
||||
return {
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
opts = {
|
||||
filetypes = {
|
||||
"css",
|
||||
"html",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"yaml",
|
||||
"conf",
|
||||
"lua",
|
||||
},
|
||||
user_default_options = {
|
||||
RGB = true,
|
||||
RRGGBB = true,
|
||||
names = true,
|
||||
RRGGBBAA = true,
|
||||
rgb_fn = true,
|
||||
hsl_fn = true,
|
||||
css = true,
|
||||
css_fn = true,
|
||||
mode = "background",
|
||||
},
|
||||
},
|
||||
}
|
||||
7
config/nvim/lua/plugins/colorscheme-catppuccin.lua
Normal file
7
config/nvim/lua/plugins/colorscheme-catppuccin.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
-- https://github.com/catppuccin/nvim
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
name = "catppuccin",
|
||||
}
|
||||
10
config/nvim/lua/plugins/colorscheme-night-owl.lua
Normal file
10
config/nvim/lua/plugins/colorscheme-night-owl.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- 🦉 🌌 Night Owl colorscheme implementation for Neovim with support for Treesitter and semantic tokens
|
||||
-- https://github.com/oxfist/night-owl.nvim
|
||||
return {
|
||||
"oxfist/night-owl.nvim",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("night-owl").setup()
|
||||
vim.cmd.colorscheme("night-owl")
|
||||
end,
|
||||
}
|
||||
6
config/nvim/lua/plugins/colorscheme-tokyonight.lua
Normal file
6
config/nvim/lua/plugins/colorscheme-tokyonight.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- https://github.com/folke/tokyonight.nvim
|
||||
return {
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = true,
|
||||
opts = { style = "night" },
|
||||
}
|
||||
9
config/nvim/lua/plugins/colorschemes.lua
Normal file
9
config/nvim/lua/plugins/colorschemes.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Configure LazyVim to load colorscheme
|
||||
return {
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin",
|
||||
},
|
||||
},
|
||||
}
|
||||
5
config/nvim/lua/plugins/committia.lua
Normal file
5
config/nvim/lua/plugins/committia.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- More pleasant editing on commit messages
|
||||
-- https://github.com/rhysd/committia.vim
|
||||
return {
|
||||
"rhysd/committia.vim",
|
||||
}
|
||||
13
config/nvim/lua/plugins/copilot-chat.lua
Normal file
13
config/nvim/lua/plugins/copilot-chat.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
-- Chat with GitHub Copilot in Neovim
|
||||
-- https://github.com/CopilotC-Nvim/CopilotChat.nvim
|
||||
return {
|
||||
{
|
||||
"CopilotC-Nvim/CopilotChat.nvim",
|
||||
branch = "canary",
|
||||
dependencies = {
|
||||
{ "zbirenbaum/copilot.lua" }, -- or github/copilot.vim
|
||||
{ "nvim-lua/plenary.nvim" }, -- for curl, log wrapper
|
||||
},
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
10
config/nvim/lua/plugins/copilot.lua
Normal file
10
config/nvim/lua/plugins/copilot.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Copilot replacement
|
||||
-- https://github.com/zbirenbaum/copilot.lua
|
||||
-- https://github.com/zbirenbaum/copilot-cmp
|
||||
return {
|
||||
"zbirenbaum/copilot-cmp",
|
||||
dependencies = "zbirenbaum/copilot.lua",
|
||||
opts = function()
|
||||
require("copilot").setup()
|
||||
end,
|
||||
}
|
||||
19
config/nvim/lua/plugins/cursorline.lua
Normal file
19
config/nvim/lua/plugins/cursorline.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
-- Highlight cursor words and lines
|
||||
-- https://github.com/yamatsum/nvim-cursorline
|
||||
return {
|
||||
"yamatsum/nvim-cursorline",
|
||||
config = function()
|
||||
require("nvim-cursorline").setup({
|
||||
cursorline = {
|
||||
enable = false,
|
||||
timeout = 1000,
|
||||
number = false,
|
||||
},
|
||||
cursorword = {
|
||||
enable = true,
|
||||
min_length = 3,
|
||||
hl = { underline = true },
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
110
config/nvim/lua/plugins/dashboard.lua
Normal file
110
config/nvim/lua/plugins/dashboard.lua
Normal file
@@ -0,0 +1,110 @@
|
||||
return {
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
opts = function()
|
||||
local logo = "\n"
|
||||
.. " ▖\n"
|
||||
.. "┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄ \n"
|
||||
.. "│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌\n"
|
||||
.. "╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘\n"
|
||||
.. "\n"
|
||||
|
||||
logo = string.rep("\n", 5) .. logo .. "\n\n"
|
||||
|
||||
local opts = {
|
||||
theme = "doom",
|
||||
hide = {
|
||||
statusline = false,
|
||||
},
|
||||
config = {
|
||||
header = vim.split(logo, "\n"),
|
||||
center = {
|
||||
{
|
||||
action = "Telescope find_files",
|
||||
desc = " Find file",
|
||||
icon = " ",
|
||||
key = "f",
|
||||
},
|
||||
{
|
||||
action = "ene | startinsert",
|
||||
desc = " New file",
|
||||
icon = " ",
|
||||
key = "n",
|
||||
},
|
||||
{
|
||||
action = "Telescope oldfiles",
|
||||
desc = " Recent files",
|
||||
icon = " ",
|
||||
key = "r",
|
||||
},
|
||||
{
|
||||
action = "Telescope live_grep",
|
||||
desc = " Find text",
|
||||
icon = " ",
|
||||
key = "g",
|
||||
},
|
||||
{
|
||||
action = "Telescope projects",
|
||||
desc = " Find project",
|
||||
icon = " ",
|
||||
key = "p",
|
||||
},
|
||||
{
|
||||
action = 'lua require("persistence").load()',
|
||||
desc = " Restore Session",
|
||||
icon = " ",
|
||||
key = "s",
|
||||
},
|
||||
{
|
||||
action = "LazyExtras",
|
||||
desc = " Lazy Extras",
|
||||
icon = " ",
|
||||
key = "e",
|
||||
},
|
||||
{
|
||||
action = "Lazy",
|
||||
desc = " Lazy",
|
||||
icon = " ",
|
||||
key = "l",
|
||||
},
|
||||
{
|
||||
action = "Mason",
|
||||
desc = " Mason",
|
||||
icon = " ",
|
||||
key = "m",
|
||||
},
|
||||
{
|
||||
action = "qa",
|
||||
desc = " Quit",
|
||||
icon = " ",
|
||||
key = "q",
|
||||
},
|
||||
},
|
||||
footer = function()
|
||||
local stats = require("lazy").stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
return {
|
||||
"⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms",
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
for _, button in ipairs(opts.config.center) do
|
||||
button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
|
||||
end
|
||||
|
||||
-- close Lazy and re-open when the dashboard is ready
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "DashboardLoaded",
|
||||
callback = function()
|
||||
require("lazy").show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
return opts
|
||||
end,
|
||||
}
|
||||
32
config/nvim/lua/plugins/dial.lua
Normal file
32
config/nvim/lua/plugins/dial.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
-- Enhanced increment/decrement
|
||||
-- https://github.com/monaqa/dial.nvim
|
||||
return {
|
||||
"monaqa/dial.nvim",
|
||||
config = function()
|
||||
local augend = require("dial.augend")
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
require("dial.config").augends:register_group({
|
||||
default = {
|
||||
augend.constant.alias.bool,
|
||||
augend.constant.alias.de_weekday,
|
||||
augend.constant.alias.de_weekday_full,
|
||||
augend.constant.new({ elements = { "before", "after" } }),
|
||||
augend.constant.new({ elements = { "left", "right" } }),
|
||||
augend.constant.new({ elements = { "let", "const" } }),
|
||||
augend.constant.new({ elements = { "start", "end" } }),
|
||||
augend.date.alias["%d.%m.%Y"],
|
||||
augend.hexcolor.new({ case = "lower" }),
|
||||
augend.integer.alias.decimal_int,
|
||||
augend.semver.alias.semver,
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<C-a>", require("dial.map").inc_normal(), opts)
|
||||
vim.keymap.set("n", "<C-x>", require("dial.map").dec_normal(), opts)
|
||||
vim.keymap.set("v", "<C-a>", require("dial.map").inc_visual(), opts)
|
||||
vim.keymap.set("v", "<C-x>", require("dial.map").dec_visual(), opts)
|
||||
vim.keymap.set("v", "g<C-a>", require("dial.map").inc_gvisual(), opts)
|
||||
vim.keymap.set("v", "g<C-x>", require("dial.map").dec_gvisual(), opts)
|
||||
end,
|
||||
}
|
||||
20
config/nvim/lua/plugins/diffview.lua
Normal file
20
config/nvim/lua/plugins/diffview.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Easily cycle through diffs
|
||||
-- https://github.com/sindrets/diffview.nvim
|
||||
return {
|
||||
"sindrets/diffview.nvim",
|
||||
lazy = false,
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
keys = {
|
||||
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Diffview Open" },
|
||||
{ "<leader>gD", "<cmd>DiffviewClose<cr>", desc = "Diffview Close" },
|
||||
},
|
||||
opts = {
|
||||
view = {
|
||||
use_icons = true,
|
||||
default = {
|
||||
layout = "diff2_horizontal",
|
||||
winbar_info = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
5
config/nvim/lua/plugins/editorconfig.lua
Normal file
5
config/nvim/lua/plugins/editorconfig.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Editorconfig
|
||||
-- https://github.com/editorconfig/editorconfig-vim
|
||||
return {
|
||||
"editorconfig/editorconfig-vim",
|
||||
}
|
||||
6
config/nvim/lua/plugins/emmet.lua
Normal file
6
config/nvim/lua/plugins/emmet.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- Emmet
|
||||
-- https://github.com/mattn/emmet-vim
|
||||
-- <c-y>, to extend
|
||||
return {
|
||||
"mattn/emmet-vim",
|
||||
}
|
||||
267
config/nvim/lua/plugins/example.lua
Normal file
267
config/nvim/lua/plugins/example.lua
Normal file
@@ -0,0 +1,267 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under config.plugins will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- add symbols-outline
|
||||
{
|
||||
"simrat39/symbols-outline.nvim",
|
||||
cmd = "SymbolsOutline",
|
||||
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } }))
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add telescope-fzf-native
|
||||
{
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
build = "make",
|
||||
config = function()
|
||||
require("telescope").load_extension("fzf")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"help",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Use <tab> for completion and snippets (supertab)
|
||||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
-- then: setup supertab in cmp
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-emoji",
|
||||
},
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
local cmp = require("cmp")
|
||||
|
||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
|
||||
-- they way you will only jump inside the snippet region
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
9
config/nvim/lua/plugins/export-to-vscode.lua
Normal file
9
config/nvim/lua/plugins/export-to-vscode.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Export active buffers to VS Code
|
||||
-- https://github.com/elijahmanor/export-to-vscode.nvim
|
||||
return {
|
||||
"elijahmanor/export-to-vscode.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>code", function() require("export-to-vscode").launch() end, desc = "Export to VS Code" },
|
||||
},
|
||||
}
|
||||
33
config/nvim/lua/plugins/flash.lua
Normal file
33
config/nvim/lua/plugins/flash.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
-- flash.nvim
|
||||
-- https://github.com/folke/flash.nvim
|
||||
return {
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
keys = {
|
||||
{
|
||||
"s",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").jump()
|
||||
end,
|
||||
desc = "Flash",
|
||||
},
|
||||
{
|
||||
"S",
|
||||
mode = { "n", "o", "x" },
|
||||
function()
|
||||
require("flash").treesitter()
|
||||
end,
|
||||
desc = "Flash Treesitter",
|
||||
},
|
||||
{
|
||||
"r",
|
||||
mode = "o",
|
||||
function()
|
||||
require("flash").remote()
|
||||
end,
|
||||
desc = "Remote Flash",
|
||||
},
|
||||
},
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user