mirror of
https://codeberg.org/hyperreal/dotfiles
synced 2024-11-25 11:53:43 +01:00
Remove all
This commit is contained in:
parent
17e6e2aa89
commit
d43e19e464
@ -1,347 +0,0 @@
|
|||||||
# This is the default config file.
|
|
||||||
# It also shows all the default values, if you don't create the file.
|
|
||||||
|
|
||||||
# All URL values may omit the scheme and/or port, as well as the beginning double slash
|
|
||||||
# Valid URL examples:
|
|
||||||
# gemini://example.com
|
|
||||||
# //example.com
|
|
||||||
# example.com
|
|
||||||
# example.com:123
|
|
||||||
|
|
||||||
|
|
||||||
[a-general]
|
|
||||||
# Press Ctrl-H to access it
|
|
||||||
home = "gemini://hyperreal.coffee"
|
|
||||||
|
|
||||||
# Follow up to 5 Gemini redirects without prompting.
|
|
||||||
# A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
|
|
||||||
# If set to false, a prompt will be shown before following redirects.
|
|
||||||
auto_redirect = false
|
|
||||||
|
|
||||||
# What command to run to open a HTTP(S) URL.
|
|
||||||
# Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
|
|
||||||
# If a command is set, than the URL will be added (in quotes) to the end of the command.
|
|
||||||
# A space will be prepended to the URL.
|
|
||||||
#
|
|
||||||
# The best to define a command is using a string array.
|
|
||||||
# Examples:
|
|
||||||
http = ['firefox']
|
|
||||||
# http = ['custom-browser', '--flag', '--option=2']
|
|
||||||
# http = ['/path/with spaces/in it/firefox']
|
|
||||||
#
|
|
||||||
# Note the use of single quotes, so that backslashes will not be escaped.
|
|
||||||
# Using just a string will also work, but it is deprecated, and will degrade if
|
|
||||||
# you use paths with spaces.
|
|
||||||
|
|
||||||
# Any URL that will accept a query string can be put here
|
|
||||||
search = "gemini://gus.guru/search"
|
|
||||||
|
|
||||||
# Whether colors will be used in the terminal
|
|
||||||
color = true
|
|
||||||
|
|
||||||
# Whether ANSI color codes from the page content should be rendered
|
|
||||||
ansi = true
|
|
||||||
|
|
||||||
# Whether or not to support source code highlighting in preformatted blocks based on alt text
|
|
||||||
highlight_code = true
|
|
||||||
|
|
||||||
# Which highlighting style to use (see https://xyproto.github.io/splash/docs/)
|
|
||||||
highlight_style = "dracula"
|
|
||||||
|
|
||||||
# Whether to replace list asterisks with unicode bullets
|
|
||||||
bullets = true
|
|
||||||
|
|
||||||
# Whether to show link after link text
|
|
||||||
show_link = false
|
|
||||||
|
|
||||||
# A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up.
|
|
||||||
left_margin = 0.15
|
|
||||||
|
|
||||||
# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
|
|
||||||
max_width = 100
|
|
||||||
|
|
||||||
# 'downloads' is the path to a downloads folder.
|
|
||||||
# An empty value means the code will find the default downloads folder for your system.
|
|
||||||
# If the path does not exist it will be created.
|
|
||||||
# Note the use of single quotes, so that backslashes will not be escaped.
|
|
||||||
downloads = '/home/jas/downloads'
|
|
||||||
|
|
||||||
# Max size for displayable content in bytes - after that size a download window pops up
|
|
||||||
page_max_size = 2097152 # 2 MiB
|
|
||||||
# Max time it takes to load a page in seconds - after that a download window pops up
|
|
||||||
page_max_time = 10
|
|
||||||
|
|
||||||
# Whether to replace tab numbers with emoji favicons, which are cached.
|
|
||||||
emoji_favicons = true
|
|
||||||
|
|
||||||
# When a scrollbar appears. "never", "auto", and "always" are the only valid values.
|
|
||||||
# "auto" means the scrollbar only appears when the page is longer than the window.
|
|
||||||
scrollbar = "auto"
|
|
||||||
|
|
||||||
|
|
||||||
[auth]
|
|
||||||
# Authentication settings
|
|
||||||
# Note the use of single quotes for values, so that backslashes will not be escaped.
|
|
||||||
|
|
||||||
[auth.certs]
|
|
||||||
# Client certificates
|
|
||||||
# Set domain name equal to path to client cert
|
|
||||||
# "example.com" = 'mycert.crt'
|
|
||||||
"astrobotany.mozz.us" = "~/.local/share/amfora/astrobotany-cert.pem"
|
|
||||||
|
|
||||||
[auth.keys]
|
|
||||||
# Client certificate keys
|
|
||||||
# Set domain name equal to path to key for the client cert above
|
|
||||||
# "example.com" = 'mycert.key'
|
|
||||||
"astrobotany.mozz.us" = "~/.local/share/amfora/astrobotany-key.pem"
|
|
||||||
|
|
||||||
[keybindings]
|
|
||||||
# If you have a non-US keyboard, use bind_tab1 through bind_tab0 to
|
|
||||||
# setup the shift-number bindings: Eg, for US keyboards (the default):
|
|
||||||
# bind_tab1 = "!"
|
|
||||||
# bind_tab2 = "@"
|
|
||||||
# bind_tab3 = "#"
|
|
||||||
# bind_tab4 = "$"
|
|
||||||
# bind_tab5 = "%"
|
|
||||||
# bind_tab6 = "^"
|
|
||||||
# bind_tab7 = "&"
|
|
||||||
# bind_tab8 = "*"
|
|
||||||
# bind_tab9 = "("
|
|
||||||
# bind_tab0 = ")"
|
|
||||||
|
|
||||||
# Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys.
|
|
||||||
# Multiple keys can be bound to one command, just use a TOML array.
|
|
||||||
# To add the Alt modifier, the binding must start with Alt-, should be reasonably universal
|
|
||||||
# Ctrl- won't work on all keys, see this for a list:
|
|
||||||
# https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83
|
|
||||||
|
|
||||||
# An example of a TOML array for multiple keys being bound to one command is the default
|
|
||||||
# binding for reload:
|
|
||||||
# bind_reload = ["R","Ctrl-R"]
|
|
||||||
# One thing to note here is that "R" is capitalization sensitive, so it means shift-r.
|
|
||||||
# "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on
|
|
||||||
# an ANSI terminal)
|
|
||||||
|
|
||||||
# The default binding for opening the bottom bar for entering a URL or link number is:
|
|
||||||
# bind_bottom = "Space"
|
|
||||||
# This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work.
|
|
||||||
# And, finally, an example of a simple, unmodified character is:
|
|
||||||
# bind_edit = "e"
|
|
||||||
# This binds the "e" key to the command to edit the current URL.
|
|
||||||
|
|
||||||
# The bind_link[1-90] options are for the commands to go to the first 10 links on a page,
|
|
||||||
# typically these are bound to the number keys:
|
|
||||||
# bind_link1 = "1"
|
|
||||||
# bind_link2 = "2"
|
|
||||||
# bind_link3 = "3"
|
|
||||||
# bind_link4 = "4"
|
|
||||||
# bind_link5 = "5"
|
|
||||||
# bind_link6 = "6"
|
|
||||||
# bind_link7 = "7"
|
|
||||||
# bind_link8 = "8"
|
|
||||||
# bind_link9 = "9"
|
|
||||||
# bind_link0 = "0"
|
|
||||||
|
|
||||||
# All keybindings:
|
|
||||||
#
|
|
||||||
# bind_bottom
|
|
||||||
# bind_edit
|
|
||||||
# bind_home
|
|
||||||
# bind_bookmarks
|
|
||||||
# bind_add_bookmark
|
|
||||||
# bind_save
|
|
||||||
# bind_reload
|
|
||||||
# bind_back
|
|
||||||
# bind_forward
|
|
||||||
# bind_pgup
|
|
||||||
# bind_pgdn
|
|
||||||
# bind_new_tab
|
|
||||||
# bind_close_tab
|
|
||||||
# bind_next_tab
|
|
||||||
# bind_prev_tab
|
|
||||||
# bind_quit
|
|
||||||
# bind_help
|
|
||||||
# bind_sub: for viewing the subscriptions page
|
|
||||||
# bind_add_sub
|
|
||||||
|
|
||||||
[url-handlers]
|
|
||||||
# Allows setting the commands to run for various URL schemes.
|
|
||||||
# E.g. to open FTP URLs with FileZilla set the following key:
|
|
||||||
# ftp = 'filezilla'
|
|
||||||
# You can set any scheme to "off" or "" to disable handling it, or
|
|
||||||
# just leave the key unset.
|
|
||||||
#
|
|
||||||
# DO NOT use this for setting the HTTP command.
|
|
||||||
# Use the http setting in the "a-general" section above.
|
|
||||||
#
|
|
||||||
# NOTE: These settings are overrided by the ones in the proxies section.
|
|
||||||
# Note the use of single quotes, so that backslashes will not be escaped.
|
|
||||||
|
|
||||||
# This is a special key that defines the handler for all URL schemes for which
|
|
||||||
# no handler is defined.
|
|
||||||
other = 'off'
|
|
||||||
|
|
||||||
|
|
||||||
# [[mediatype-handlers]] section
|
|
||||||
# ---------------------------------
|
|
||||||
#
|
|
||||||
# Specify what applications will open certain media types.
|
|
||||||
# By default your default application will be used to open the file when you select "Open".
|
|
||||||
# You only need to configure this section if you want to override your default application,
|
|
||||||
# or do special things like streaming.
|
|
||||||
#
|
|
||||||
# Note the use of single quotes for commands, so that backslashes will not be escaped.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# To open jpeg files with the feh command:
|
|
||||||
#
|
|
||||||
# Each command that you specify must come under its own [[mediatype-handlers]]. You may
|
|
||||||
# specify as many [[mediatype-handlers]] as you want to setup multiple commands.
|
|
||||||
#
|
|
||||||
# If the subtype is omitted then the specified command will be used for the
|
|
||||||
# entire type:
|
|
||||||
#
|
|
||||||
# [[mediatype-handlers]]
|
|
||||||
# command = ['vlc', '--flag']
|
|
||||||
# types = ["audio", "video"]
|
|
||||||
#
|
|
||||||
# A catch-all handler can by specified with "*".
|
|
||||||
# Note that there are already catch-all handlers in place for all OSes,
|
|
||||||
# that open the file using your default application. This is only if you
|
|
||||||
# want to override that.
|
|
||||||
#
|
|
||||||
# [[mediatype-handlers]]
|
|
||||||
# cmd = ['some-command']
|
|
||||||
# types = [
|
|
||||||
# "application/pdf",
|
|
||||||
# "*",
|
|
||||||
# ]
|
|
||||||
#
|
|
||||||
# You can also choose to stream the data instead of downloading it all before
|
|
||||||
# opening it. This is especially useful for large video or audio files, as
|
|
||||||
# well as radio streams, which will never complete. You can do this like so:
|
|
||||||
#
|
|
||||||
# [[mediatype-handlers]]
|
|
||||||
# cmd = ['vlc', '-']
|
|
||||||
# types = ["audio", "video"]
|
|
||||||
# stream = true
|
|
||||||
#
|
|
||||||
# This uses vlc to stream all video and audio content.
|
|
||||||
# By default stream is set to off for all handlers
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# If you want to always open a type in its viewer without the download or open
|
|
||||||
# prompt appearing, you can add no_prompt = true
|
|
||||||
#
|
|
||||||
[[mediatype-handlers]]
|
|
||||||
cmd = ['ristretto']
|
|
||||||
types = ["image"]
|
|
||||||
no_prompt = true
|
|
||||||
|
|
||||||
[[mediatype-handlers]]
|
|
||||||
cmd = ['zathura']
|
|
||||||
types = ["application/pdf"]
|
|
||||||
#
|
|
||||||
# Note: Multiple handlers cannot be defined for the same full media type, but
|
|
||||||
# still there needs to be an order for which handlers are used. The following
|
|
||||||
# order applies regardless of the order written in the config:
|
|
||||||
#
|
|
||||||
# 1. Full media type: "image/jpeg"
|
|
||||||
# 2. Just type: "image"
|
|
||||||
# 3. Catch-all: "*"
|
|
||||||
|
|
||||||
|
|
||||||
[cache]
|
|
||||||
# Options for page cache - which is only for text pages
|
|
||||||
# Increase the cache size to speed up browsing at the expense of memory
|
|
||||||
# Zero values mean there is no limit
|
|
||||||
|
|
||||||
max_size = 0 # Size in bytes
|
|
||||||
max_pages = 30 # The maximum number of pages the cache will store
|
|
||||||
|
|
||||||
# How long a page will stay in cache, in seconds.
|
|
||||||
timeout = 1800 # 30 mins
|
|
||||||
|
|
||||||
[proxies]
|
|
||||||
# Allows setting a Gemini proxy for different schemes.
|
|
||||||
# The settings are similar to the url-handlers section above.
|
|
||||||
# E.g. to open a gopher page by connecting to a Gemini proxy server:
|
|
||||||
# gopher = "example.com:123"
|
|
||||||
#
|
|
||||||
# Port 1965 is assumed if no port is specified.
|
|
||||||
#
|
|
||||||
# NOTE: These settings override any external handlers specified in
|
|
||||||
# the url-handlers section.
|
|
||||||
#
|
|
||||||
# Note that HTTP and HTTPS are treated as separate protocols here.
|
|
||||||
|
|
||||||
|
|
||||||
[subscriptions]
|
|
||||||
# For tracking feeds and pages
|
|
||||||
|
|
||||||
# Whether a pop-up appears when viewing a potential feed
|
|
||||||
popup = true
|
|
||||||
|
|
||||||
# How often to check for updates to subscriptions in the background, in seconds.
|
|
||||||
# Set it to 0 to disable this feature. You can still update individual feeds
|
|
||||||
# manually, or restart the browser.
|
|
||||||
#
|
|
||||||
# Note Amfora will check for updates on browser start no matter what this setting is.
|
|
||||||
update_interval = 1800 # 30 mins
|
|
||||||
|
|
||||||
# How many subscriptions can be checked at the same time when updating.
|
|
||||||
# If you have many subscriptions you may want to increase this for faster
|
|
||||||
# update times. Any value below 1 will be corrected to 1.
|
|
||||||
workers = 3
|
|
||||||
|
|
||||||
# The number of subscription updates displayed per page.
|
|
||||||
entries_per_page = 20
|
|
||||||
|
|
||||||
# Catppuccin Mocha
|
|
||||||
[theme]
|
|
||||||
bg = "#1E1E2E"
|
|
||||||
tab_num = "#cba6f7"
|
|
||||||
tab_divider = "#a6adc8"
|
|
||||||
bottombar_text = "#94e2d5"
|
|
||||||
bottombar_bg = "#45475a"
|
|
||||||
scrollbar = "#45475a"
|
|
||||||
|
|
||||||
hdg_1 = "#cba6f7"
|
|
||||||
hdg_2 = "#cba6f7"
|
|
||||||
hdg_3 = "#cba6f7"
|
|
||||||
amfora_link = "#f38ba8"
|
|
||||||
foreign_link = "#fab387"
|
|
||||||
link_number = "#94e2d5"
|
|
||||||
regular_text = "#cdd6f4"
|
|
||||||
quote_text = "#f9e2af"
|
|
||||||
preformatted_text = "#fab387"
|
|
||||||
list_text = "#cdd6f4"
|
|
||||||
|
|
||||||
btn_bg = "#45475a"
|
|
||||||
btn_text = "#cdd6f4"
|
|
||||||
|
|
||||||
dl_choice_modal_bg = "#45475a"
|
|
||||||
dl_choice_modal_text = "#cdd6f4"
|
|
||||||
dl_modal_bg = "#45475a"
|
|
||||||
dl_modal_text = "#cdd6f4"
|
|
||||||
info_modal_bg = "#45475a"
|
|
||||||
info_modal_text = "#cdd6f4"
|
|
||||||
error_modal_bg = "#f38ba8"
|
|
||||||
error_modal_text = "#181825"
|
|
||||||
yesno_modal_bg = "#45475a"
|
|
||||||
yesno_modal_text = "#cdd6f4"
|
|
||||||
tofu_modal_bg = "#45475a"
|
|
||||||
tofu_modal_text = "#cdd6f4"
|
|
||||||
subscription_modal_bg = "#45475a"
|
|
||||||
subscription_modal_text = "#cdd6f4"
|
|
||||||
|
|
||||||
input_modal_bg = "#45475a"
|
|
||||||
input_modal_text = "#cdd6f4"
|
|
||||||
input_modal_field_bg = "#313244"
|
|
||||||
input_modal_field_text = "#cdd6f4"
|
|
||||||
|
|
||||||
bkmk_modal_bg = "#45475a"
|
|
||||||
bkmk_modal_text = "#cdd6f4"
|
|
||||||
bkmk_modal_label = "#cdd6f4"
|
|
||||||
bkmk_modal_field_bg = "#313244"
|
|
||||||
bkmk_modal_field_text = "#cdd6f4"
|
|
@ -1,10 +0,0 @@
|
|||||||
# Welcome to Gemini!
|
|
||||||
|
|
||||||
## Internal pages
|
|
||||||
=> about:bookmarks Bookmarks
|
|
||||||
=> about:subscriptions Subscriptions
|
|
||||||
|
|
||||||
## Geminispace
|
|
||||||
=> gemini://hyperreal.coffee hyperreal.coffee
|
|
||||||
=> gemini://makeworld.space/amfora-wiki/ Amfora Wiki
|
|
||||||
=> gemini://gemini.circumlunar.space/ Project Gemini
|
|
@ -1,959 +0,0 @@
|
|||||||
<?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>
|
|
@ -1,106 +0,0 @@
|
|||||||
configuration{
|
|
||||||
modi: "drun,filebrowser,window,Bookmarks:/home/jas/.config/rofi/rofi-json.sh /home/jas/Nextcloud/documents/bookmarks.json,Emoji:/run/current-system/sw/bin/rofimoji -a copy";
|
|
||||||
lines: 5;
|
|
||||||
font: "JetBrainsMono Nerd Font Mono 14";
|
|
||||||
show-icons: true;
|
|
||||||
icon-theme: "Papirus-Dark";
|
|
||||||
terminal: "gnome-terminal";
|
|
||||||
drun-display-format: "{icon} {name}";
|
|
||||||
location: 0;
|
|
||||||
disable-history: false;
|
|
||||||
hide-scrollbar: true;
|
|
||||||
display-drun: " Apps ";
|
|
||||||
display-run: " Run ";
|
|
||||||
display-window: " Windows ";
|
|
||||||
display-Network: " Network ";
|
|
||||||
display-filebrowser: " 📁 Files ";
|
|
||||||
display-Bookmarks: " Bookmarks ";
|
|
||||||
display-Emoji: " 😀 Emoji";
|
|
||||||
sidebar-mode: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@theme "catppuccin"
|
|
||||||
|
|
||||||
element-text, element-icon , mode-switcher {
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
height: 800px;
|
|
||||||
width: 1000px;
|
|
||||||
border: 3px;
|
|
||||||
border-color: @border-col;
|
|
||||||
background-color: @bg-col;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @bg-col;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [prompt,entry];
|
|
||||||
background-color: @bg-col;
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
background-color: @blue;
|
|
||||||
padding: 6px;
|
|
||||||
text-color: @bg-col;
|
|
||||||
border-radius: 3px;
|
|
||||||
margin: 20px 0px 0px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-colon {
|
|
||||||
expand: false;
|
|
||||||
str: ":";
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
padding: 3px;
|
|
||||||
margin: 20px 0px 0px 10px;
|
|
||||||
text-color: @fg-col;
|
|
||||||
background-color: @bg-col;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
border: 0px 0px 0px;
|
|
||||||
padding: 3px 0px 0px;
|
|
||||||
margin: 10px 0px 0px 20px;
|
|
||||||
columns: 2;
|
|
||||||
background-color: @bg-col;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
padding: 3px;
|
|
||||||
background-color: @bg-col;
|
|
||||||
text-color: @fg-col ;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
size: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @selected-col ;
|
|
||||||
text-color: @fg-col2 ;
|
|
||||||
}
|
|
||||||
|
|
||||||
mode-switcher {
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
padding: 8px;
|
|
||||||
background-color: @bg-col-light;
|
|
||||||
text-color: @grey;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
horizontal-align: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
button selected {
|
|
||||||
background-color: @bg-col;
|
|
||||||
text-color: @blue;
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
user_file="$(eval echo ${1})"
|
|
||||||
|
|
||||||
if [[ "$user_file" = /* ]]
|
|
||||||
then
|
|
||||||
config_file="$user_file"
|
|
||||||
else
|
|
||||||
cwd=$(dirname $0)
|
|
||||||
config_file="${cwd}/${user_file}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
json=$(cat ${config_file})
|
|
||||||
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
echo $json | jq -cr '.[] | "\(.name)|\(.command)|\(.icon)"' |
|
|
||||||
while IFS="|" read -r name command icon
|
|
||||||
do
|
|
||||||
if [[ $name == "null" ]]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
if [[ $icon == "null" ]]; then
|
|
||||||
icon="system-run"
|
|
||||||
fi
|
|
||||||
echo -en "${name}\0icon\x1f${icon}\n"
|
|
||||||
done
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $# -eq 2 ]; then
|
|
||||||
|
|
||||||
selected=$2
|
|
||||||
task=$(echo $json | jq ".[] | select(.name == \"$selected\")")
|
|
||||||
|
|
||||||
if [[ $task == "" ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
command=$(echo $task | jq -j ".command")
|
|
||||||
|
|
||||||
if [[ $command == "null" ]]; then
|
|
||||||
command=$(echo $task | jq -j ".name")
|
|
||||||
fi
|
|
||||||
|
|
||||||
coproc bash -c "$command"
|
|
||||||
exit
|
|
||||||
|
|
||||||
fi
|
|
@ -1,113 +0,0 @@
|
|||||||
# Sets user-defined palette
|
|
||||||
palette = "catppuccin_mocha"
|
|
||||||
|
|
||||||
format = """$time$container$directory$all$line_break$username$hostname$character"""
|
|
||||||
right_format = """$cmd_duration $jobs $status"""
|
|
||||||
|
|
||||||
[time]
|
|
||||||
disabled = false
|
|
||||||
format = '[\[ $time \]]($style) '
|
|
||||||
time_format = "%T"
|
|
||||||
style = "bold peach"
|
|
||||||
|
|
||||||
[username]
|
|
||||||
format = "[$user]($style)@"
|
|
||||||
style_user = "red"
|
|
||||||
style_root = "bold red"
|
|
||||||
show_always = true
|
|
||||||
|
|
||||||
# Second param
|
|
||||||
[hostname]
|
|
||||||
format = "[$hostname]($style)"
|
|
||||||
style = "lavender"
|
|
||||||
trim_at = ".local"
|
|
||||||
ssh_only = false
|
|
||||||
disabled = false
|
|
||||||
|
|
||||||
# Third param
|
|
||||||
[directory]
|
|
||||||
style = "subtext0"
|
|
||||||
truncation_length = 8
|
|
||||||
truncate_to_repo = true
|
|
||||||
truncation_symbol = "repo: "
|
|
||||||
|
|
||||||
# Before all the version info (python, nodejs, php, etc.)
|
|
||||||
[git_status]
|
|
||||||
style = "text"
|
|
||||||
ahead = "⇡${count}"
|
|
||||||
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
|
|
||||||
behind = "⇣${count}"
|
|
||||||
deleted = "x"
|
|
||||||
|
|
||||||
[container]
|
|
||||||
style = "bold pink"
|
|
||||||
format = "[$symbol \\[ $name \\]]($style) "
|
|
||||||
|
|
||||||
# Last param in the first line/row
|
|
||||||
[cmd_duration]
|
|
||||||
min_time = 1
|
|
||||||
style = "yellow"
|
|
||||||
format = "duration: [$duration]($style)"
|
|
||||||
disabled = false
|
|
||||||
|
|
||||||
# Prompt: param 2
|
|
||||||
[character]
|
|
||||||
format = "$symbol "
|
|
||||||
success_symbol = ' [%](teal)'
|
|
||||||
error_symbol = ' [%](red)'
|
|
||||||
vicmd_symbol = " [<](teal)"
|
|
||||||
|
|
||||||
# SYMBOLS
|
|
||||||
[status]
|
|
||||||
format = 'exit status: [$status_common_meaning$status_signal_name$status]($style)'
|
|
||||||
disabled = false
|
|
||||||
style = "bold red"
|
|
||||||
|
|
||||||
[docker_context]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[golang]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[nodejs]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[package]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[python]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[rust]
|
|
||||||
symbol = " "
|
|
||||||
|
|
||||||
[palettes.catppuccin_mocha]
|
|
||||||
rosewater = "#f5e0dc"
|
|
||||||
flamingo = "#f2cdcd"
|
|
||||||
pink = "#f5c2e7"
|
|
||||||
mauve = "#cba6f7"
|
|
||||||
red = "#f38ba8"
|
|
||||||
maroon = "#eba0ac"
|
|
||||||
peach = "#fab387"
|
|
||||||
yellow = "#f9e2af"
|
|
||||||
green = "#a6e3a1"
|
|
||||||
teal = "#94e2d5"
|
|
||||||
sky = "#89dceb"
|
|
||||||
sapphire = "#74c7ec"
|
|
||||||
blue = "#89b4fa"
|
|
||||||
lavender = "#b4befe"
|
|
||||||
text = "#cdd6f4"
|
|
||||||
subtext1 = "#bac2de"
|
|
||||||
subtext0 = "#a6adc8"
|
|
||||||
overlay2 = "#9399b2"
|
|
||||||
overlay1 = "#7f849c"
|
|
||||||
overlay0 = "#6c7086"
|
|
||||||
surface2 = "#585b70"
|
|
||||||
surface1 = "#45475a"
|
|
||||||
surface0 = "#313244"
|
|
||||||
base = "#1e1e2e"
|
|
||||||
mantle = "#181825"
|
|
||||||
crust = "#11111b"
|
|
@ -1,315 +0,0 @@
|
|||||||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
|
||||||
keybinds {
|
|
||||||
normal {
|
|
||||||
// uncomment this and adjust key if using copy_on_select=false
|
|
||||||
// bind "Alt c" { Copy; }
|
|
||||||
}
|
|
||||||
locked {
|
|
||||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
|
||||||
}
|
|
||||||
resize {
|
|
||||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
|
||||||
bind "h" "Left" { Resize "Increase Left"; }
|
|
||||||
bind "j" "Down" { Resize "Increase Down"; }
|
|
||||||
bind "k" "Up" { Resize "Increase Up"; }
|
|
||||||
bind "l" "Right" { Resize "Increase Right"; }
|
|
||||||
bind "H" { Resize "Decrease Left"; }
|
|
||||||
bind "J" { Resize "Decrease Down"; }
|
|
||||||
bind "K" { Resize "Decrease Up"; }
|
|
||||||
bind "L" { Resize "Decrease Right"; }
|
|
||||||
bind "=" "+" { Resize "Increase"; }
|
|
||||||
bind "-" { Resize "Decrease"; }
|
|
||||||
}
|
|
||||||
pane {
|
|
||||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
|
||||||
bind "h" "Left" { MoveFocus "Left"; }
|
|
||||||
bind "l" "Right" { MoveFocus "Right"; }
|
|
||||||
bind "j" "Down" { MoveFocus "Down"; }
|
|
||||||
bind "k" "Up" { MoveFocus "Up"; }
|
|
||||||
bind "p" { SwitchFocus; }
|
|
||||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
|
||||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
|
||||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
|
||||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
|
||||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
|
||||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
|
||||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
|
||||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
|
||||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
|
||||||
}
|
|
||||||
move {
|
|
||||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
|
||||||
bind "n" "Tab" { MovePane; }
|
|
||||||
bind "h" "Left" { MovePane "Left"; }
|
|
||||||
bind "j" "Down" { MovePane "Down"; }
|
|
||||||
bind "k" "Up" { MovePane "Up"; }
|
|
||||||
bind "l" "Right" { MovePane "Right"; }
|
|
||||||
}
|
|
||||||
tab {
|
|
||||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
|
||||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
|
||||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
|
||||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
|
||||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
|
||||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
|
||||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
|
||||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
|
||||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
|
||||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
|
||||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
|
||||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
|
||||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
|
||||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
|
||||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
|
||||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
|
||||||
bind "Tab" { ToggleTab; }
|
|
||||||
}
|
|
||||||
scroll {
|
|
||||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
|
||||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
|
||||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
|
||||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
|
||||||
bind "j" "Down" { ScrollDown; }
|
|
||||||
bind "k" "Up" { ScrollUp; }
|
|
||||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
|
||||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
|
||||||
bind "d" { HalfPageScrollDown; }
|
|
||||||
bind "u" { HalfPageScrollUp; }
|
|
||||||
// uncomment this and adjust key if using copy_on_select=false
|
|
||||||
// bind "Alt c" { Copy; }
|
|
||||||
}
|
|
||||||
search {
|
|
||||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
|
||||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
|
||||||
bind "j" "Down" { ScrollDown; }
|
|
||||||
bind "k" "Up" { ScrollUp; }
|
|
||||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
|
||||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
|
||||||
bind "d" { HalfPageScrollDown; }
|
|
||||||
bind "u" { HalfPageScrollUp; }
|
|
||||||
bind "n" { Search "down"; }
|
|
||||||
bind "p" { Search "up"; }
|
|
||||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
|
||||||
bind "w" { SearchToggleOption "Wrap"; }
|
|
||||||
bind "o" { SearchToggleOption "WholeWord"; }
|
|
||||||
}
|
|
||||||
entersearch {
|
|
||||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
|
||||||
bind "Enter" { SwitchToMode "Search"; }
|
|
||||||
}
|
|
||||||
renametab {
|
|
||||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
|
||||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
|
||||||
}
|
|
||||||
renamepane {
|
|
||||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
|
||||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
|
||||||
}
|
|
||||||
session {
|
|
||||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
|
||||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
|
||||||
bind "d" { Detach; }
|
|
||||||
}
|
|
||||||
tmux {
|
|
||||||
bind "[" { SwitchToMode "Scroll"; }
|
|
||||||
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
|
||||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
|
||||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
|
||||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
|
||||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
|
||||||
bind "," { SwitchToMode "RenameTab"; }
|
|
||||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
|
||||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
|
||||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
|
||||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
|
||||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
|
||||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
|
||||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
|
||||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
|
||||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
|
||||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
|
||||||
bind "o" { FocusNextPane; }
|
|
||||||
bind "d" { Detach; }
|
|
||||||
}
|
|
||||||
shared_except "locked" {
|
|
||||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
|
||||||
bind "Ctrl q" { Quit; }
|
|
||||||
bind "Alt n" { NewPane; }
|
|
||||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
|
||||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
|
||||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
|
||||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
|
||||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
|
||||||
bind "Alt -" { Resize "Decrease"; }
|
|
||||||
}
|
|
||||||
shared_except "normal" "locked" {
|
|
||||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
|
||||||
}
|
|
||||||
shared_except "pane" "locked" {
|
|
||||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
|
||||||
}
|
|
||||||
shared_except "resize" "locked" {
|
|
||||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
|
||||||
}
|
|
||||||
shared_except "scroll" "locked" {
|
|
||||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
|
||||||
}
|
|
||||||
shared_except "session" "locked" {
|
|
||||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
|
||||||
}
|
|
||||||
shared_except "tab" "locked" {
|
|
||||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
|
||||||
}
|
|
||||||
shared_except "move" "locked" {
|
|
||||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
|
||||||
}
|
|
||||||
shared_except "tmux" "locked" {
|
|
||||||
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
tab-bar { path "tab-bar"; }
|
|
||||||
status-bar { path "status-bar"; }
|
|
||||||
strider { path "strider"; }
|
|
||||||
// compact-bar { path "compact-bar"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
|
||||||
// eg. when terminal window with an active zellij session is closed
|
|
||||||
// Options:
|
|
||||||
// - detach (Default)
|
|
||||||
// - quit
|
|
||||||
//
|
|
||||||
// on_force_close "quit"
|
|
||||||
|
|
||||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
|
||||||
// Options:
|
|
||||||
// - true
|
|
||||||
// - false (Default)
|
|
||||||
//
|
|
||||||
// simplified_ui true
|
|
||||||
|
|
||||||
// Choose the path to the default shell that zellij will use for opening new panes
|
|
||||||
// Default: $SHELL
|
|
||||||
//
|
|
||||||
// default_shell "fish"
|
|
||||||
|
|
||||||
// Toggle between having pane frames around the panes
|
|
||||||
// Options:
|
|
||||||
// - true (default)
|
|
||||||
// - false
|
|
||||||
//
|
|
||||||
// pane_frames true
|
|
||||||
|
|
||||||
// Define color themes for Zellij
|
|
||||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
|
||||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
|
||||||
//
|
|
||||||
// themes {
|
|
||||||
// dracula {
|
|
||||||
// fg 248 248 242
|
|
||||||
// bg 40 42 54
|
|
||||||
// red 255 85 85
|
|
||||||
// green 80 250 123
|
|
||||||
// yellow 241 250 140
|
|
||||||
// blue 98 114 164
|
|
||||||
// magenta 255 121 198
|
|
||||||
// orange 255 184 108
|
|
||||||
// cyan 139 233 253
|
|
||||||
// black 0 0 0
|
|
||||||
// white 255 255 255
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
themes {
|
|
||||||
catppuccin-mocha {
|
|
||||||
bg "#585b70"
|
|
||||||
fg "#cdd6f4"
|
|
||||||
red "#f38ba8"
|
|
||||||
green "#a6e3a1"
|
|
||||||
blue "#89b4fa"
|
|
||||||
yellow "#f9e2af"
|
|
||||||
magenta "#f5c2e7"
|
|
||||||
orange "#fab387"
|
|
||||||
cyan "#89dceb"
|
|
||||||
black "#181825"
|
|
||||||
white "#cdd6f4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Choose the theme that is specified in the themes section.
|
|
||||||
// Default: default
|
|
||||||
//
|
|
||||||
theme "catppuccin-mocha"
|
|
||||||
|
|
||||||
// The name of the default layout to load on startup
|
|
||||||
// Default: "default"
|
|
||||||
//
|
|
||||||
default_layout "default"
|
|
||||||
|
|
||||||
// Choose the mode that zellij uses when starting up.
|
|
||||||
// Default: normal
|
|
||||||
//
|
|
||||||
// default_mode "locked"
|
|
||||||
|
|
||||||
// Toggle enabling the mouse mode.
|
|
||||||
// On certain configurations, or terminals this could
|
|
||||||
// potentially interfere with copying text.
|
|
||||||
// Options:
|
|
||||||
// - true (default)
|
|
||||||
// - false
|
|
||||||
//
|
|
||||||
// mouse_mode false
|
|
||||||
|
|
||||||
// Configure the scroll back buffer size
|
|
||||||
// This is the number of lines zellij stores for each pane in the scroll back
|
|
||||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
|
||||||
// Valid values: positive integers
|
|
||||||
// Default value: 10000
|
|
||||||
//
|
|
||||||
// scroll_buffer_size 10000
|
|
||||||
|
|
||||||
// Provide a command to execute when copying text. The text will be piped to
|
|
||||||
// the stdin of the program to perform the copy. This can be used with
|
|
||||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
|
||||||
// that will be used by default if this option is not set.
|
|
||||||
// Examples:
|
|
||||||
//
|
|
||||||
copy_command "xclip -selection clipboard" // x11
|
|
||||||
// copy_command "wl-copy" // wayland
|
|
||||||
// copy_command "pbcopy" // osx
|
|
||||||
|
|
||||||
// Choose the destination for copied text
|
|
||||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
|
||||||
// Does not apply when using copy_command.
|
|
||||||
// Options:
|
|
||||||
// - system (default)
|
|
||||||
// - primary
|
|
||||||
//
|
|
||||||
copy_clipboard "primary"
|
|
||||||
|
|
||||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
|
||||||
// Default: true
|
|
||||||
//
|
|
||||||
copy_on_select true
|
|
||||||
|
|
||||||
// Path to the default editor to use to edit pane scrollbuffer
|
|
||||||
// Default: $EDITOR or $VISUAL
|
|
||||||
//
|
|
||||||
scrollback_editor "/bin/emacs -nw"
|
|
||||||
|
|
||||||
// When attaching to an existing session with other users,
|
|
||||||
// should the session be mirrored (true)
|
|
||||||
// or should each user have their own cursor (false)
|
|
||||||
// Default: false
|
|
||||||
//
|
|
||||||
// mirror_session true
|
|
||||||
|
|
||||||
// The folder in which Zellij will look for layouts
|
|
||||||
//
|
|
||||||
layout_dir "/home/jas/.config/zellij/layouts"
|
|
||||||
|
|
||||||
// The folder in which Zellij will look for themes
|
|
||||||
//
|
|
||||||
// theme_dir "/path/to/my/theme_dir"
|
|
@ -1,22 +0,0 @@
|
|||||||
layout {
|
|
||||||
default_tab_template {
|
|
||||||
pane size=1 borderless=true {
|
|
||||||
plugin location="zellij:tab-bar"
|
|
||||||
}
|
|
||||||
children
|
|
||||||
pane size=2 borderless=true {
|
|
||||||
plugin location="zellij:status-bar"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tab name="journald" {
|
|
||||||
pane command="sudo" {
|
|
||||||
args "journalctl" "-f"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tab name="fowarded logs" {
|
|
||||||
pane command="ssh" {
|
|
||||||
args "jas@logs.local"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tab
|
|
||||||
}
|
|
@ -1,152 +0,0 @@
|
|||||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
|
||||||
;; clients, file templates and snippets. It is optional.
|
|
||||||
(setq user-full-name "Jeffrey Serio"
|
|
||||||
user-mail-address "hyperreal@fedoraproject.org")
|
|
||||||
|
|
||||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
|
||||||
;; accept. For example:
|
|
||||||
(setq doom-font (font-spec :family "JetBrains Mono Nerd Font Mono" :size 18)
|
|
||||||
doom-variable-pitch-font (font-spec :family "Rubik")
|
|
||||||
doom-unicode-font (font-spec :family "JetBrains Mono Nerd Font Mono" :size 18)
|
|
||||||
doom-big-font (font-spec :family "JetBrains Mono Nerd Font Mono" :size 18))
|
|
||||||
|
|
||||||
;; Use catppuccin-mocha theme
|
|
||||||
(setq doom-theme 'catppuccin)
|
|
||||||
(setq catppuccin-flavor 'mocha)
|
|
||||||
|
|
||||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
|
||||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
|
||||||
(setq display-line-numbers-type 'relative)
|
|
||||||
|
|
||||||
;; If you use `org' and don't want your org files in the default location below,
|
|
||||||
;; change `org-directory'. It must be set before org loads!
|
|
||||||
(setq org-directory "~/Nextcloud/org/")
|
|
||||||
|
|
||||||
;; Set bpython as Python shell interpreter
|
|
||||||
(add-hook! python-mode-hook
|
|
||||||
(setq python-shell-interpreter "bpython"))
|
|
||||||
|
|
||||||
;; Make vterm open in another window
|
|
||||||
(setq vterm-other-window 1)
|
|
||||||
|
|
||||||
;; Keybinding to kill-whole-line
|
|
||||||
(global-set-key (kbd "M-9") 'kill-whole-line)
|
|
||||||
|
|
||||||
;; Popup rule for yasnippet
|
|
||||||
(defun yas-popup-isearch-prompt (prompt choices &optional display-fn)
|
|
||||||
(when (featurep 'popup)
|
|
||||||
(popup-menu*
|
|
||||||
(mapcar
|
|
||||||
(lambda (choice)
|
|
||||||
(popup-make-item
|
|
||||||
(or (and display-fn (funcall display-fn choice))
|
|
||||||
choice)
|
|
||||||
:value choice))
|
|
||||||
choices)
|
|
||||||
:prompt prompt
|
|
||||||
;; start isearch mode immediately
|
|
||||||
:isearch t
|
|
||||||
)))
|
|
||||||
(setq yas-prompt-functions '(yas-popup-isearch-prompt yas-maybe-ido-prompt yas-completing-prompt yas-no-prompt))
|
|
||||||
|
|
||||||
;; Copy all or text selection
|
|
||||||
(defun xah-copy-all-or-region ()
|
|
||||||
"Put the whole buffer content to `kill-ring', or text selection if there's one.
|
|
||||||
Respects `narrow-to-region'.
|
|
||||||
URL `https://ergomacs.org/emacs/emacs_copy_cut_all_or_region.html'
|
|
||||||
Version 2015-08-22"
|
|
||||||
(interactive)
|
|
||||||
(if (use-region-p)
|
|
||||||
(progn
|
|
||||||
(kill-new (buffer-substring (region-beginning) (region-end)))
|
|
||||||
(message "Text selection copied."))
|
|
||||||
(progn
|
|
||||||
(kill-new (buffer-string))
|
|
||||||
(message "Buffer content copied."))))
|
|
||||||
|
|
||||||
;; Cut all or text selection
|
|
||||||
(defun xah-cut-all-or-region ()
|
|
||||||
"Cut the whole buffer content to `kill-ring', or text selection if there's one.
|
|
||||||
Respects `narrow-to-region'.
|
|
||||||
URL `https://ergomacs.org/emacs/emacs_copy_cut_all_or_region.html'
|
|
||||||
Version 2015-08-22"
|
|
||||||
(interactive)
|
|
||||||
(if (use-region-p)
|
|
||||||
(progn
|
|
||||||
(kill-new (buffer-substring (region-beginning) (region-end)))
|
|
||||||
(delete-region (region-beginning) (region-end)))
|
|
||||||
(progn
|
|
||||||
(kill-new (buffer-string))
|
|
||||||
(delete-region (point-min) (point-max)))))
|
|
||||||
|
|
||||||
;; open URL in Firefox
|
|
||||||
(defun browse-host-firefox (url &rest ignored)
|
|
||||||
"Browse URL with the host's Firefox using distrobox-exec."
|
|
||||||
(interactive "sURL: ")
|
|
||||||
(shell-command (concat "firefox " url)))
|
|
||||||
|
|
||||||
(setq browse-url-browser-function 'browse-host-firefox)
|
|
||||||
|
|
||||||
;; after copy Ctrl+c in Linux X11, you can paste by `yank' in emacs
|
|
||||||
(setq select-enable-clipboard t)
|
|
||||||
|
|
||||||
;; after mouse selection copy in X11, you can paste by `yank' in emacs
|
|
||||||
(setq select-enable-primary t)
|
|
||||||
|
|
||||||
;; set keybinding for paste
|
|
||||||
(global-set-key (kbd "C-S-V") #'clipboard-yank)
|
|
||||||
|
|
||||||
;; Smart home key
|
|
||||||
(defun smart-beginning-of-line ()
|
|
||||||
"Move point to first non-whitespace character or beginning-of-line.
|
|
||||||
|
|
||||||
Move point to the first non-whitespace character on this line.
|
|
||||||
If point was already at that position, move point to beginning of line."
|
|
||||||
(interactive "^")
|
|
||||||
(let ((oldpos (point)))
|
|
||||||
(back-to-indentation)
|
|
||||||
(and (= oldpos (point))
|
|
||||||
(beginning-of-line))))
|
|
||||||
|
|
||||||
(global-set-key (kbd "<home>") 'smart-beginning-of-line)
|
|
||||||
(global-set-key (kbd "<end>") 'end-of-line)
|
|
||||||
|
|
||||||
;; Autoformat on save
|
|
||||||
(setq +format-on-save-enabled-modes
|
|
||||||
'(emacs-lisp-mode
|
|
||||||
python-mode))
|
|
||||||
|
|
||||||
(setq-hook! 'python-mode-hook +format-with 'black)
|
|
||||||
|
|
||||||
;; org-mode, close items with timestamp
|
|
||||||
(setq org-log-done 'time)
|
|
||||||
|
|
||||||
;; open Emacs in a maxmimized window
|
|
||||||
;(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
|
||||||
|
|
||||||
;; mastodon
|
|
||||||
(setq mastodon-instance-url "https://mastodon.hyperreal.coffee"
|
|
||||||
mastodon-active-user "hyperreal")
|
|
||||||
|
|
||||||
;; keybinds for evil-nerd-commenter
|
|
||||||
(global-set-key (kbd "M-;") 'evilnc-comment-or-uncomment-lines)
|
|
||||||
(global-set-key (kbd "C-c l") 'evilnc-quick-comment-or-uncomment-to-the-line)
|
|
||||||
(global-set-key (kbd "C-c c") 'evilnc-copy-and-comment-lines)
|
|
||||||
(global-set-key (kbd "C-c p") 'evilnc-comment-or-uncomment-paragraphs)
|
|
||||||
|
|
||||||
;; completion for GoLang
|
|
||||||
(add-hook 'completion-at-point-functions 'go-complete-at-point)
|
|
||||||
|
|
||||||
;; Go - lsp-mode
|
|
||||||
(defun lsp-go-install-save-hooks ()
|
|
||||||
(add-hook 'before-save-hook #'lsp-format-buffer t t)
|
|
||||||
(add-hook 'before-save-hook #'lsp-organize-imports t t))
|
|
||||||
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)
|
|
||||||
|
|
||||||
;; Start LSP Mode
|
|
||||||
(add-hook 'go-mode-hook #'lsp-deferred)
|
|
||||||
|
|
||||||
;; EPUB - nov.el and nov-xwidget
|
|
||||||
(setq nov-variable-pitch nil)
|
|
@ -1,194 +0,0 @@
|
|||||||
;;; init.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; This file controls what Doom modules are enabled and what order they load
|
|
||||||
;; in. Remember to run 'doom sync' after modifying it!
|
|
||||||
|
|
||||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
|
||||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
|
||||||
;; of our modules are listed, including what flags they support.
|
|
||||||
|
|
||||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
|
||||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
|
||||||
;; flags as well (those symbols that start with a plus).
|
|
||||||
;;
|
|
||||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
|
||||||
;; directory (for easy access to its source code).
|
|
||||||
|
|
||||||
(doom! :input
|
|
||||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
|
||||||
;;chinese
|
|
||||||
;;japanese
|
|
||||||
;;layout ; auie,ctsrnm is the superior home row
|
|
||||||
|
|
||||||
:completion
|
|
||||||
company ; the ultimate code completion backend
|
|
||||||
;;helm ; the *other* search engine for love and life
|
|
||||||
;;ido ; the other *other* search engine...
|
|
||||||
;;ivy ; a search engine for love and life
|
|
||||||
vertico ; the search engine of the future
|
|
||||||
|
|
||||||
:ui
|
|
||||||
;;deft ; notational velocity for Emacs
|
|
||||||
doom ; what makes DOOM look the way it does
|
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
|
||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
|
||||||
(emoji +unicode) ; 🙂
|
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
|
||||||
;;hydra
|
|
||||||
;;indent-guides ; highlighted indent columns
|
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
|
||||||
;;minimap ; show a map of the code on the side
|
|
||||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
|
||||||
;;nav-flash ; blink cursor line after big motions
|
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
|
||||||
ophints ; highlight the region an operation acts on
|
|
||||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
|
||||||
;;tabs ; a tab bar for Emacs
|
|
||||||
;;treemacs ; a project drawer, like neotree but cooler
|
|
||||||
;;unicode ; extended unicode support for various languages
|
|
||||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
|
||||||
;;window-select ; visually switch windows
|
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
|
||||||
;;zen ; distraction-free coding or writing
|
|
||||||
|
|
||||||
:editor
|
|
||||||
;;(evil +everywhere); come to the dark side, we have cookies
|
|
||||||
file-templates ; auto-snippets for empty files
|
|
||||||
fold ; (nigh) universal code folding
|
|
||||||
(format +onsave) ; automated prettiness
|
|
||||||
;;god ; run Emacs commands without modifier keys
|
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
|
||||||
;;multiple-cursors ; editing in many places at once
|
|
||||||
;;objed ; text object editing for the innocent
|
|
||||||
;;parinfer ; turn lisp into python, sort of
|
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
|
||||||
snippets ; my elves. They type so I don't have to
|
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
|
||||||
|
|
||||||
:emacs
|
|
||||||
dired ; making dired pretty [functional]
|
|
||||||
electric ; smarter, keyword-based electric-indent
|
|
||||||
;;ibuffer ; interactive buffer management
|
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
|
||||||
|
|
||||||
:term
|
|
||||||
eshell ; the elisp shell that works everywhere
|
|
||||||
;;shell ; simple shell REPL for Emacs
|
|
||||||
;;term ; basic terminal emulator for Emacs
|
|
||||||
vterm ; the best terminal emulation in Emacs
|
|
||||||
|
|
||||||
:checkers
|
|
||||||
syntax ; tasing you for every semicolon you forget
|
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
|
||||||
;;grammar ; tasing grammar mistake every you make
|
|
||||||
|
|
||||||
:tools
|
|
||||||
ansible
|
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
|
||||||
;;direnv
|
|
||||||
docker
|
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
|
||||||
gist ; interacting with github gists
|
|
||||||
lookup ; navigate your code and its documentation
|
|
||||||
lsp ; M-x vscode
|
|
||||||
magit ; a git porcelain for Emacs
|
|
||||||
make ; run make tasks from Emacs
|
|
||||||
pass ; password manager for nerds
|
|
||||||
pdf ; pdf enhancements
|
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
|
||||||
;;rgb ; creating color strings
|
|
||||||
;;taskrunner ; taskrunner for all your projects
|
|
||||||
;;terraform ; infrastructure as code
|
|
||||||
;;tmux ; an API for interacting with tmux
|
|
||||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
|
||||||
;;upload ; map local to remote projects via ssh/ftp
|
|
||||||
|
|
||||||
:os
|
|
||||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
|
||||||
;;tty ; improve the terminal Emacs experience
|
|
||||||
|
|
||||||
:lang
|
|
||||||
;;agda ; types of types of types of types...
|
|
||||||
;;beancount ; mind the GAAP
|
|
||||||
;;(cc +lsp) ; C > C++ == 1
|
|
||||||
;;clojure ; java with a lisp
|
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
|
||||||
;;coq ; proofs-as-programs
|
|
||||||
;;crystal ; ruby at the speed of c
|
|
||||||
;;csharp ; unity, .NET, and mono shenanigans
|
|
||||||
data ; config/data formats
|
|
||||||
;;(dart +flutter) ; paint ui and not much else
|
|
||||||
;;dhall
|
|
||||||
;;elixir ; erlang done right
|
|
||||||
;;elm ; care for a cup of TEA?
|
|
||||||
emacs-lisp ; drown in parentheses
|
|
||||||
;;erlang ; an elegant language for a more civilized age
|
|
||||||
;;ess ; emacs speaks statistics
|
|
||||||
;;factor
|
|
||||||
;;faust ; dsp, but you get to keep your soul
|
|
||||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
|
||||||
;;gdscript ; the language you waited for
|
|
||||||
(go +lsp) ; the hipster dialect
|
|
||||||
;;(graphql +lsp) ; Give queries a REST
|
|
||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
|
||||||
;;hy ; readability of scheme w/ speed of python
|
|
||||||
;;idris ; a language you can depend on
|
|
||||||
json ; At least it ain't XML
|
|
||||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
|
||||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
|
||||||
;;julia ; a better, faster MATLAB
|
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
|
||||||
;;lean ; for folks with too much to prove
|
|
||||||
;;ledger ; be audit you can be
|
|
||||||
lua ; one-based indices? one-based indices
|
|
||||||
markdown ; writing docs for people to ignore
|
|
||||||
;;nim ; python + lisp at the speed of c
|
|
||||||
;;nix ; I hereby declare "nix geht mehr!"
|
|
||||||
;;ocaml ; an objective camel
|
|
||||||
(org +pretty) ; organize your plain life in plain text
|
|
||||||
;;php ; perl's insecure younger brother
|
|
||||||
;;plantuml ; diagrams for confusing people more
|
|
||||||
;;purescript ; javascript, but functional
|
|
||||||
python ; beautiful is better than ugly
|
|
||||||
;;qt ; the 'cutest' gui framework ever
|
|
||||||
;;racket ; a DSL for DSLs
|
|
||||||
;;raku ; the artist formerly known as perl6
|
|
||||||
rest ; Emacs as a REST client
|
|
||||||
;;rst ; ReST in peace
|
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
|
||||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
|
||||||
;;scala ; java, but good
|
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
|
||||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
|
||||||
;;sml
|
|
||||||
;;solidity ; do you need a blockchain? No.
|
|
||||||
;;swift ; who asked for emoji variables?
|
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
|
||||||
;;web ; the tubes
|
|
||||||
yaml ; JSON, but readable
|
|
||||||
;;zig ; C, but simpler
|
|
||||||
|
|
||||||
:email
|
|
||||||
;; (mu4e +org)
|
|
||||||
;;notmuch
|
|
||||||
;;(wanderlust +gmail)
|
|
||||||
|
|
||||||
:app
|
|
||||||
;;calendar
|
|
||||||
;;emms
|
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
|
||||||
;;irc ; how neckbeards socialize
|
|
||||||
;;rss ; emacs as an RSS reader
|
|
||||||
;;twitter ; twitter client https://twitter.com/vnought
|
|
||||||
|
|
||||||
:config
|
|
||||||
;;literate
|
|
||||||
(default +bindings +smartparens))
|
|
@ -1,68 +0,0 @@
|
|||||||
;; -*- no-byte-compile: t; -*-
|
|
||||||
;;; $DOOMDIR/packages.el
|
|
||||||
|
|
||||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
|
||||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
|
||||||
;; use 'M-x doom/reload'.
|
|
||||||
|
|
||||||
|
|
||||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
|
||||||
;(package! some-package)
|
|
||||||
(package! autothemer)
|
|
||||||
(package! catppuccin-theme)
|
|
||||||
(package! elpher)
|
|
||||||
(package! gemini :recipe
|
|
||||||
(:host nil :repo "https://git.carcosa.net/jmcbray/gemini.el"))
|
|
||||||
(package! python-docstring)
|
|
||||||
(package! importmagic)
|
|
||||||
(package! systemd)
|
|
||||||
(package! license-templates)
|
|
||||||
(package! shell-pop)
|
|
||||||
(package! fzf)
|
|
||||||
(package! mastodon)
|
|
||||||
(package! evil-nerd-commenter)
|
|
||||||
(package! just-mode)
|
|
||||||
(package! justl)
|
|
||||||
(package! go-complete)
|
|
||||||
(package! nov)
|
|
||||||
(package! nix-mode)
|
|
||||||
|
|
||||||
;; To install a package directly from a remote git repo, you must specify a
|
|
||||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
|
||||||
;; https://github.com/radian-software/straight.el#the-recipe-format
|
|
||||||
;(package! another-package
|
|
||||||
; :recipe (:host github :repo "username/repo"))
|
|
||||||
|
|
||||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
|
||||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
|
||||||
;; `:files' in the `:recipe':
|
|
||||||
;(package! this-package
|
|
||||||
; :recipe (:host github :repo "username/repo"
|
|
||||||
; :files ("some-file.el" "src/lisp/*.el")))
|
|
||||||
|
|
||||||
;; If you'd like to disable a package included with Doom, you can do so here
|
|
||||||
;; with the `:disable' property:
|
|
||||||
;(package! builtin-package :disable t)
|
|
||||||
|
|
||||||
;; You can override the recipe of a built in package without having to specify
|
|
||||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
|
||||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
|
||||||
;(package! builtin-package :recipe (:nonrecursive t))
|
|
||||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
|
||||||
|
|
||||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
|
||||||
;; This is required for some packages whose default branch isn't 'master' (which
|
|
||||||
;; our package manager can't deal with; see radian-software/straight.el#279)
|
|
||||||
;(package! builtin-package :recipe (:branch "develop"))
|
|
||||||
|
|
||||||
;; Use `:pin' to specify a particular commit to install.
|
|
||||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
|
||||||
|
|
||||||
|
|
||||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
|
||||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
|
||||||
;(unpin! pinned-package)
|
|
||||||
;; ...or multiple packages
|
|
||||||
;(unpin! pinned-package another-pinned-package)
|
|
||||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
|
||||||
;(unpin! t)
|
|
@ -1,41 +0,0 @@
|
|||||||
# Filename: $HOME/.gitconfig
|
|
||||||
# Purpose: config for git(1)
|
|
||||||
# Author: Jeffrey Serio <hyperreal@fedoraproject.org>
|
|
||||||
# License: GPL v3
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
[format]
|
|
||||||
numbered = auto
|
|
||||||
|
|
||||||
[color]
|
|
||||||
branch = yes
|
|
||||||
diff = auto
|
|
||||||
pager = yes
|
|
||||||
status = auto
|
|
||||||
[color "branch"]
|
|
||||||
current = green
|
|
||||||
local = yellow
|
|
||||||
remote = cyan
|
|
||||||
[color "diff"]
|
|
||||||
meta = yellow
|
|
||||||
frag = magenta
|
|
||||||
old = red
|
|
||||||
new = green
|
|
||||||
[color "status"]
|
|
||||||
header = magenta
|
|
||||||
added = green
|
|
||||||
changed = yellow
|
|
||||||
untracked = cyan
|
|
||||||
[commit]
|
|
||||||
[core]
|
|
||||||
editor = nvim
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
[pull]
|
|
||||||
rebase = true
|
|
||||||
[user]
|
|
||||||
email = 23226432+hyperreal64@users.noreply.github.com
|
|
||||||
name = Jeffrey Serio
|
|
||||||
[global]
|
|
||||||
|
|
||||||
# vim:ft=gitconfig ai et sw=4 ts=4:
|
|
@ -1,4 +0,0 @@
|
|||||||
enable-ssh-support
|
|
||||||
|
|
||||||
default-cache-ttl 60
|
|
||||||
max-cache-ttl 120
|
|
@ -1,96 +0,0 @@
|
|||||||
#
|
|
||||||
# This is an implementation of the Riseup OpenPGP Best Practices
|
|
||||||
# https://help.riseup.net/en/security/message-security/openpgp/best-practices
|
|
||||||
#
|
|
||||||
|
|
||||||
#-----------------------------
|
|
||||||
# default key
|
|
||||||
#-----------------------------
|
|
||||||
|
|
||||||
# The default key to sign with. If this option is not used, the default key is
|
|
||||||
# the first key found in the secret keyring
|
|
||||||
|
|
||||||
default-key 9129BD07C3509CED
|
|
||||||
|
|
||||||
#-----------------------------
|
|
||||||
# behavior
|
|
||||||
#-----------------------------
|
|
||||||
|
|
||||||
# Disable inclusion of the version string in ASCII armored output
|
|
||||||
no-emit-version
|
|
||||||
|
|
||||||
# Disable comment string in clear text signatures and ASCII armored messages
|
|
||||||
no-comments
|
|
||||||
|
|
||||||
# Display long key IDs
|
|
||||||
keyid-format 0xlong
|
|
||||||
|
|
||||||
# List all keys (or the specified ones) along with their fingerprints
|
|
||||||
with-fingerprint
|
|
||||||
|
|
||||||
# Display the calculated validity of user IDs during key listings
|
|
||||||
list-options show-uid-validity
|
|
||||||
verify-options show-uid-validity
|
|
||||||
|
|
||||||
# Try to use the GnuPG-Agent. With this option, GnuPG first tries to connect to
|
|
||||||
# the agent before it asks for a passphrase.
|
|
||||||
use-agent
|
|
||||||
|
|
||||||
charset utf-8
|
|
||||||
fixed-list-mode
|
|
||||||
|
|
||||||
#-----------------------------
|
|
||||||
# keyserver
|
|
||||||
#-----------------------------
|
|
||||||
|
|
||||||
# This is the server that --recv-keys, --send-keys, and --search-keys will
|
|
||||||
# communicate with to receive keys from, send keys to, and search for keys on
|
|
||||||
#keyserver hkps://hkps.pool.sks-keyservers.net
|
|
||||||
keyserver pgp.mit.edu
|
|
||||||
|
|
||||||
# Provide a certificate store to override the system default
|
|
||||||
# Get this from https://sks-keyservers.net/sks-keyservers.netCA.pem
|
|
||||||
#keyserver-options ca-cert-file=/usr/local/etc/ssl/certs/hkps.pool.sks-keyservers.net.pem
|
|
||||||
|
|
||||||
# Set the proxy to use for HTTP and HKP keyservers - default to the standard
|
|
||||||
# local Tor socks proxy
|
|
||||||
# It is encouraged to use Tor for improved anonymity. Preferrably use either a
|
|
||||||
# dedicated SOCKSPort for GnuPG and/or enable IsolateDestPort and
|
|
||||||
# IsolateDestAddr
|
|
||||||
#
|
|
||||||
# I run my tor socks proxy in a container, see .dockerfunc and
|
|
||||||
# github.com/jfrazelle/dockerfiles
|
|
||||||
#keyserver-options http-proxy=socks5-hostname://torproxy:9050
|
|
||||||
|
|
||||||
# Don't leak DNS, see https://trac.torproject.org/projects/tor/ticket/2846
|
|
||||||
#keyserver-options no-try-dns-srv
|
|
||||||
|
|
||||||
# When using --refresh-keys, if the key in question has a preferred keyserver
|
|
||||||
# URL, then disable use of that preferred keyserver to refresh the key from
|
|
||||||
keyserver-options no-honor-keyserver-url
|
|
||||||
|
|
||||||
# When searching for a key with --search-keys, include keys that are marked on
|
|
||||||
# the keyserver as revoked
|
|
||||||
keyserver-options include-revoked
|
|
||||||
|
|
||||||
#-----------------------------
|
|
||||||
# algorithm and ciphers
|
|
||||||
#-----------------------------
|
|
||||||
|
|
||||||
# list of personal digest preferences. When multiple digests are supported by
|
|
||||||
# all recipients, choose the strongest one
|
|
||||||
personal-cipher-preferences AES256 AES192 AES CAST5
|
|
||||||
|
|
||||||
# list of personal digest preferences. When multiple ciphers are supported by
|
|
||||||
# all recipients, choose the strongest one
|
|
||||||
personal-digest-preferences SHA512 SHA384 SHA256 SHA224
|
|
||||||
|
|
||||||
# message digest algorithm used when signing a key
|
|
||||||
cert-digest-algo SHA512
|
|
||||||
s2k-cipher-algo AES256
|
|
||||||
s2k-digest-algo SHA512
|
|
||||||
|
|
||||||
# This preference list is used for new keys and becomes the default for
|
|
||||||
# "setpref" in the edit menu
|
|
||||||
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
* {
|
|
||||||
bg-col: #1e1e2e;
|
|
||||||
bg-col-light: #313244;
|
|
||||||
border-col: #43465a;
|
|
||||||
selected-col: #181825;
|
|
||||||
blue: #f38ba8;
|
|
||||||
fg-col: #c6d0f5;
|
|
||||||
fg-col2: #cba6f7;
|
|
||||||
grey: #696d86;
|
|
||||||
width: 600;
|
|
||||||
}
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
|||||||
text/html; w3m -dump -o document_charset=%{charset} '%s'; nametemplate=%s.html; copiousoutput
|
|
@ -1,81 +0,0 @@
|
|||||||
# .notmuch-config - Configuration file for the notmuch mail system
|
|
||||||
#
|
|
||||||
# For more information about notmuch, see https://notmuchmail.org
|
|
||||||
|
|
||||||
# Database configuration
|
|
||||||
#
|
|
||||||
# The only value supported here is 'path' which should be the top-level
|
|
||||||
# directory where your mail currently exists and to where mail will be
|
|
||||||
# delivered in the future. Files should be individual email messages.
|
|
||||||
# Notmuch will store its database within a sub-directory of the path
|
|
||||||
# configured here named ".notmuch".
|
|
||||||
#
|
|
||||||
[database]
|
|
||||||
|
|
||||||
# User configuration
|
|
||||||
#
|
|
||||||
# Here is where you can let notmuch know how you would like to be
|
|
||||||
# addressed. Valid settings are
|
|
||||||
#
|
|
||||||
# name Your full name.
|
|
||||||
# primary_email Your primary email address.
|
|
||||||
# other_email A list (separated by ';') of other email addresses
|
|
||||||
# at which you receive email.
|
|
||||||
#
|
|
||||||
# Notmuch will use the various email addresses configured here when
|
|
||||||
# formatting replies. It will avoid including your own addresses in the
|
|
||||||
# recipient list of replies, and will set the From address based on the
|
|
||||||
# address to which the original email was addressed.
|
|
||||||
#
|
|
||||||
[user]
|
|
||||||
primary_email=hyperreal64@pm.me
|
|
||||||
|
|
||||||
# Configuration for "notmuch new"
|
|
||||||
#
|
|
||||||
# The following options are supported here:
|
|
||||||
#
|
|
||||||
# tags A list (separated by ';') of the tags that will be
|
|
||||||
# added to all messages incorporated by "notmuch new".
|
|
||||||
#
|
|
||||||
# ignore A list (separated by ';') of file and directory names
|
|
||||||
# that will not be searched for messages by "notmuch new".
|
|
||||||
#
|
|
||||||
# NOTE: *Every* file/directory that goes by one of those
|
|
||||||
# names will be ignored, independent of its depth/location
|
|
||||||
# in the mail store.
|
|
||||||
#
|
|
||||||
[new]
|
|
||||||
|
|
||||||
# Search configuration
|
|
||||||
#
|
|
||||||
# The following option is supported here:
|
|
||||||
#
|
|
||||||
# exclude_tags
|
|
||||||
# A ;-separated list of tags that will be excluded from
|
|
||||||
# search results by default. Using an excluded tag in a
|
|
||||||
# query will override that exclusion.
|
|
||||||
#
|
|
||||||
[search]
|
|
||||||
|
|
||||||
# Maildir compatibility configuration
|
|
||||||
#
|
|
||||||
# The following option is supported here:
|
|
||||||
#
|
|
||||||
# synchronize_flags Valid values are true and false.
|
|
||||||
#
|
|
||||||
# If true, then the following maildir flags (in message filenames)
|
|
||||||
# will be synchronized with the corresponding notmuch tags:
|
|
||||||
#
|
|
||||||
# Flag Tag
|
|
||||||
# ---- -------
|
|
||||||
# D draft
|
|
||||||
# F flagged
|
|
||||||
# P passed
|
|
||||||
# R replied
|
|
||||||
# S unread (added when 'S' flag is not present)
|
|
||||||
#
|
|
||||||
# The "notmuch new" command will notice flag changes in filenames
|
|
||||||
# and update tags, while the "notmuch tag" and "notmuch restore"
|
|
||||||
# commands will notice tag changes and update flags in filenames
|
|
||||||
#
|
|
||||||
[maildir]
|
|
@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
from subprocess import check_output
|
|
||||||
|
|
||||||
def get_pass():
|
|
||||||
return check_output("pass mail/proton-mail", shell=True).splitlines()[0]
|
|
@ -1,26 +0,0 @@
|
|||||||
[general]
|
|
||||||
accounts = protonmail
|
|
||||||
metadata = /home/jas/.offlineimap-metadata
|
|
||||||
pythonfile = /home/jas/.offlineimap.py
|
|
||||||
|
|
||||||
[Account protonmail]
|
|
||||||
localrepository = protonmail-local
|
|
||||||
remoterepository = protonmail-remote
|
|
||||||
autorefresh = 1
|
|
||||||
postsynchook = notmuch new
|
|
||||||
|
|
||||||
[Repository protonmail-local]
|
|
||||||
type = Maildir
|
|
||||||
localfolders = /home/jas/mail
|
|
||||||
sync_deletes = no
|
|
||||||
|
|
||||||
[Repository protonmail-remote]
|
|
||||||
type = IMAP
|
|
||||||
remoteuser = hyperreal64@pm.me
|
|
||||||
remotepasseval = get_pass()
|
|
||||||
remotehost = 127.0.0.1
|
|
||||||
remoteport = 1143
|
|
||||||
ssl = no
|
|
||||||
starttls = no
|
|
||||||
expunge = yes
|
|
||||||
readonly = True
|
|
@ -1,7 +0,0 @@
|
|||||||
/home/jas/downloads
|
|
||||||
/home/jas/Nextcloud
|
|
||||||
/home/jas/bin
|
|
||||||
/home/jas/Nextcloud/sites
|
|
||||||
/home/jas/repos/github.com/hyperreal64
|
|
||||||
/home/jas/Nextcloud/devel/silverblue
|
|
||||||
/home/jas/Nextcloud/devel/ansible
|
|
@ -1,28 +0,0 @@
|
|||||||
# PATH variable declaration as array
|
|
||||||
# -U means unique, which tells the shell not to add anything to the array if it's
|
|
||||||
# already there.
|
|
||||||
typeset -U PATH path
|
|
||||||
|
|
||||||
# Add /usr/local dirs to PATH
|
|
||||||
path=("/usr/local/bin" "/usr/local/sbin")
|
|
||||||
path+=("/bin" "/sbin" "/usr/bin" "/usr/sbin")
|
|
||||||
|
|
||||||
# Set Go path if it exists
|
|
||||||
[ -d "${HOME}/go" ] && GOPATH="${HOME}/go" && path+=("${GOPATH}/bin")
|
|
||||||
|
|
||||||
# Set Cargo path for Rust binaries
|
|
||||||
[ -d "${HOME}/.cargo/bin" ] && path+=("${HOME}/.cargo/bin")
|
|
||||||
|
|
||||||
# Add ~/bin to PATH
|
|
||||||
[ -d "${HOME}/bin" ] && path+=("${HOME}/bin")
|
|
||||||
|
|
||||||
# Add ~/.local/bin to PATH
|
|
||||||
[ -d "${HOME}/.local/bin" ] && path+=("${HOME}/.local/bin")
|
|
||||||
|
|
||||||
# Add /snap/bin to PATH
|
|
||||||
[ -d "/snap/bin" ] && path+=("/snap/bin")
|
|
||||||
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
# Automatically remove duplicates from these arrays
|
|
||||||
typeset -gU path cdpath manpath fpath
|
|
@ -1,23 +0,0 @@
|
|||||||
#
|
|
||||||
# Generic .zshenv file for zsh
|
|
||||||
#
|
|
||||||
# .zshenv is sourced on ALL invocations of the shell, unless the -f option is
|
|
||||||
# set. It should NOT normally contain commands to set the command search path,
|
|
||||||
# or other common environment variables unless you really know what you're
|
|
||||||
# doing. E.g. running "PATH=/custom/path gdb program" sources this file (when
|
|
||||||
# gdb runs the program via $SHELL), so you want to be sure not to override a
|
|
||||||
# custom environment in such cases. Note also that .zshenv should not contain
|
|
||||||
# commands that produce output or assume the shell is attached to a tty.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Some people insist on setting their PATH here to affect things like ssh.
|
|
||||||
# Those that do should probably use $SHLVL to ensure that this only happens
|
|
||||||
# the first time the shell is started (to avoid overriding a customized
|
|
||||||
# environment). Also, the various profile/rc/login files all get sourced
|
|
||||||
# *after* this file, so they will override this value. One solution is to
|
|
||||||
# put your path-setting code into a file named .zpath, and source it from
|
|
||||||
# both here (if we're not a login shell) and from the .zprofile file (which
|
|
||||||
# is only sourced if we are a login shell).
|
|
||||||
if [[ $SHLVL == 1 ]]; then
|
|
||||||
source ~/.zpath
|
|
||||||
fi
|
|
@ -1,162 +0,0 @@
|
|||||||
# Filename : ~/.zshrc
|
|
||||||
# Purpose : setup file for zsh
|
|
||||||
# Author : Jeffrey Serio <hyperreal@fedoraproject.org>
|
|
||||||
# Homepage : https://hyperreal.coffee
|
|
||||||
#
|
|
||||||
# Zsh Manual - https://zsh-manual.netlify.app
|
|
||||||
# Zsh Guide - https://zsh-guide.netlify.app
|
|
||||||
#
|
|
||||||
# ,----[ man -k zsh ]
|
|
||||||
# |
|
|
||||||
# | zsh (1) - the Z shell
|
|
||||||
# | zshall (1) - the Z shell meta-man page
|
|
||||||
# | zshbuiltins (1) - zsh builtin commands
|
|
||||||
# | zshcalsys (1) - zsh calendar system
|
|
||||||
# | zshcompctl (1) - zsh programmable completion
|
|
||||||
# | zshcompsys (1) - zsh completion system
|
|
||||||
# | zshcompwid (1) - zsh completion widgets
|
|
||||||
# | zshcontrib (1) - user contributions to zsh
|
|
||||||
# | zshexpn (1) - zsh expansion and substitution
|
|
||||||
# | zshmisc (1) - everything and then some
|
|
||||||
# | zshmodules (1) - zsh loadable modules
|
|
||||||
# | zshoptions (1) - zsh options
|
|
||||||
# | zshparam (1) - zsh parameters
|
|
||||||
# | zshroadmap (1) - informal introduction to the zsh manual
|
|
||||||
# | zshtcpsys (1) - zsh tcp system
|
|
||||||
# | zshzftpsys (1) - zftp function front-end
|
|
||||||
# | zshzle (1) - zsh command line editor
|
|
||||||
# `----
|
|
||||||
#
|
|
||||||
# Zsh startup sequence
|
|
||||||
# 1) /etc/zshenv -> Always run for every zsh. (login + interactive + other)
|
|
||||||
# 2) ~/.zshenv -> Usually run for every zsh. (login + interactive + other)
|
|
||||||
# 3) /etc/zprofile -> Run for login shells. (login)
|
|
||||||
# 4) ~/.zprofile -> Run for login shells. (login)
|
|
||||||
# 5) /etc/zshrc -> Run for interactive shells. (login + interactive)
|
|
||||||
# 6) ~/.zshrc -> Run for interactive shells. (login + interactive)
|
|
||||||
# 7) /etc/zlogin -> Run for login shells. (login)
|
|
||||||
# 8) ~/.zlogin -> Run for login shells. (login)
|
|
||||||
#
|
|
||||||
# This file is based on Christian Schneider's zsh configuration
|
|
||||||
# https://www.strcat.de/dotfiles
|
|
||||||
|
|
||||||
# Plugins
|
|
||||||
if ! test -f ~/.zplug/init.zsh; then
|
|
||||||
export ZPLUG_HOME=~/.zplug
|
|
||||||
git clone https://github.com/zplug/zplug $ZPLUG_HOME
|
|
||||||
fi
|
|
||||||
|
|
||||||
source ~/.zplug/init.zsh
|
|
||||||
|
|
||||||
# Use autosuggestions when typing commands
|
|
||||||
zplug "zsh-users/zsh-autosuggestions"
|
|
||||||
|
|
||||||
# Use a keybinding to complete parts of command from the history file
|
|
||||||
zplug "zsh-users/zsh-history-substring-search"
|
|
||||||
|
|
||||||
# Use syntax highlighting when typing commands
|
|
||||||
zplug "zsh-users/zsh-syntax-highlighting", defer:2
|
|
||||||
|
|
||||||
# Press escape twice to prepend `sudo` to the command line
|
|
||||||
zplug "plugins/sudo", from:oh-my-zsh
|
|
||||||
|
|
||||||
# extract archives
|
|
||||||
zplug "plugins/extract", from:oh-my-zsh
|
|
||||||
|
|
||||||
# LXD completions
|
|
||||||
zplug "plugins/lxd", from:oh-my-zsh
|
|
||||||
|
|
||||||
# systemd aliases
|
|
||||||
zplug "plugins/systemd", from:oh-my-zsh
|
|
||||||
|
|
||||||
# Load file from ~/.zshrc.d
|
|
||||||
zplug "~/.zshrc.d", from:local, use:'*'
|
|
||||||
|
|
||||||
# starship.rs
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
|
|
||||||
if ! zplug check; then
|
|
||||||
zplug install;
|
|
||||||
exec $SHELL $SHELL_ARGS "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
zplug load
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# ENVIRONMENT VARS
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
export LS_COLORS=$(cat ~/.lscolors.sh)
|
|
||||||
export PAGER="less -X"
|
|
||||||
export MANWIDTH="88"
|
|
||||||
export MANROFFOPT="-c"
|
|
||||||
export MANPAGER="less -X"
|
|
||||||
|
|
||||||
export EDITOR="vim"
|
|
||||||
|
|
||||||
# Have less display colours
|
|
||||||
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
|
|
||||||
export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold
|
|
||||||
export LESS_TERMCAP_md=$'\e[1;34m' # begin blink
|
|
||||||
export LESS_TERMCAP_so=$'\e[01;0;33m' # begin reverse video
|
|
||||||
export LESS_TERMCAP_us=$'\e[01;31m' # begin underline
|
|
||||||
export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink
|
|
||||||
export LESS_TERMCAP_se=$'\e[0m' # reset reverse video
|
|
||||||
export LESS_TERMCAP_ue=$'\e[0m' # reset underline
|
|
||||||
export GROFF_NO_SGR=1 # for konsole and gnome-terminal
|
|
||||||
|
|
||||||
# Cargo/Rust
|
|
||||||
[[ -f "${HOME}/.cargo/env" ]] && source "${HOME}/.cargo/env"
|
|
||||||
|
|
||||||
# Format of process time reports with 'time'
|
|
||||||
# %% A '%'
|
|
||||||
# %U CPU seconds spent in user mode
|
|
||||||
# %S CPU seconds spent in kernel mode
|
|
||||||
# %E Elapsed time in seconds
|
|
||||||
# %P CPU percentage, computed as (%U+%S)/%E
|
|
||||||
# %J The name of this job
|
|
||||||
# Default is:
|
|
||||||
# %E real %U user %S system %P %J
|
|
||||||
TIMEFMT="\
|
|
||||||
|
|
||||||
The name of this job : %J
|
|
||||||
CPU seconds spent in user mode : %U
|
|
||||||
CPU seconds spent in kernel mode : %S
|
|
||||||
Elapsed time in seconds : %E
|
|
||||||
CPU percentage : %P"
|
|
||||||
|
|
||||||
# HISTSIZE is the number of lines of history that is kept within any given
|
|
||||||
# running zsh instance. SAVEHIST is the number of lines of history that is
|
|
||||||
# written out to the HISTFILE when that event occurs. If you use the
|
|
||||||
# HIST_EXPIRE_DUPS_FIRST option, setting this value larger than the SAVEHIST
|
|
||||||
# size will give you the difference as a cushion for saving duplicated history
|
|
||||||
# events.
|
|
||||||
HISTSIZE=100000
|
|
||||||
SAVEHIST=65536
|
|
||||||
|
|
||||||
# Name of the file used to store command history
|
|
||||||
HISTFILE=~/.zsh_history
|
|
||||||
|
|
||||||
# If nonnegative, commands whose combined user and system execution times
|
|
||||||
# (measured in seconds) are greater than this value have timing stats printed
|
|
||||||
# for them.
|
|
||||||
REPORTTIME=10
|
|
||||||
|
|
||||||
# reply-to email address
|
|
||||||
export REPLYTO="hyperreal@fedoraproject.org"
|
|
||||||
|
|
||||||
# Language
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
|
|
||||||
# Manpages
|
|
||||||
export MANPATH="${MANPATH:-/usr/share/man:/usr/local/share/man}"
|
|
||||||
|
|
||||||
if [ -d "${HOME}/.fzf/man" ]; then
|
|
||||||
export MANPATH="${MANPATH}:${HOME}/.fzf/man"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Bat theme
|
|
||||||
export BAT_THEME="Catppuccin-mocha"
|
|
||||||
|
|
||||||
# Automatically remove duplicates from these arrays
|
|
||||||
typeset -gU path cdpath manpath fpath
|
|
@ -1,145 +0,0 @@
|
|||||||
# Get top 10 shell commands
|
|
||||||
alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
|
|
||||||
|
|
||||||
# history mechanism
|
|
||||||
alias h='history'
|
|
||||||
|
|
||||||
# Aliases for APT
|
|
||||||
if [ -e "/etc/debian_version" ]; then
|
|
||||||
alias acs="sudo apt-cache search"
|
|
||||||
alias acp="sudo apt-cache policy"
|
|
||||||
alias afs="sudo apt-file search"
|
|
||||||
alias afu="sudo apt-file update"
|
|
||||||
alias aac="sudo apt autoclean"
|
|
||||||
alias agc="sudo apt clean"
|
|
||||||
alias agi="sudo apt install"
|
|
||||||
alias agli="sudo apt list --installed"
|
|
||||||
alias agp="sudo apt purge"
|
|
||||||
alias agr="sudo apt remove"
|
|
||||||
alias agu="sudo apt update"
|
|
||||||
alias agud="sudo apt update && sudo apt dist-upgrade"
|
|
||||||
alias agar="sudo apt autoremove"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "/etc/redhat-release" ]; then
|
|
||||||
alias dnfc='sudo dnf clean all'
|
|
||||||
alias dnfgi='sudo dnf groupinstall'
|
|
||||||
alias dnfgl='dnf grouplist'
|
|
||||||
alias dnfgr='sudo dnf groupremove'
|
|
||||||
alias dnfi='sudo dnf install'
|
|
||||||
alias dnfl='dnf list'
|
|
||||||
alias dnfli='dnf list installed'
|
|
||||||
alias dnfmc='dnf makecache'
|
|
||||||
alias dnfp='dnf info'
|
|
||||||
alias dnfr='sudo dnf remove'
|
|
||||||
alias dnfs='dnf search'
|
|
||||||
alias dnfu='sudo dnf update'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert UPPER to lower (or back)
|
|
||||||
alias UP2low='for i in *(.); mv $i ${i:l}'
|
|
||||||
alias low2UP='for i in *(.); mv $i ${i:u}'
|
|
||||||
|
|
||||||
# The ls family
|
|
||||||
if test -x "$(command -v exa)"; then
|
|
||||||
alias ls='exa'
|
|
||||||
else
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias l='ls -lFhg'
|
|
||||||
alias la='ls -a'
|
|
||||||
alias ll='ls -l'
|
|
||||||
alias lal='ls -al'
|
|
||||||
alias ldot='ls -gld .*'
|
|
||||||
alias lse='/bin/ls -lZ'
|
|
||||||
|
|
||||||
# greps
|
|
||||||
alias grep='grep --color'
|
|
||||||
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS}'
|
|
||||||
|
|
||||||
# Copy SSH public key to clipboard (requires xclip or xsel)
|
|
||||||
if test -x "$(command -v xclip)"; then
|
|
||||||
alias pubkey='more ~/.ssh/id_ed25519.pub | xclip -selection clipboard | echo "SSH public key copied"'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prompt user before overwriting files
|
|
||||||
alias cp='cp -i'
|
|
||||||
alias mv='mv -i'
|
|
||||||
alias rm='trash'
|
|
||||||
alias del='rm -i'
|
|
||||||
|
|
||||||
# Display zsh functions with bat
|
|
||||||
alias zfun='functions | bat -l zsh'
|
|
||||||
|
|
||||||
# Assorted global aliases
|
|
||||||
alias -g H='| head'
|
|
||||||
alias -g T='| tail'
|
|
||||||
alias -g G='| grep'
|
|
||||||
alias -g L='| less -X'
|
|
||||||
alias -g B='| bat'
|
|
||||||
alias -g LL='2>&1 | less'
|
|
||||||
alias -g NE='2> /dev/null'
|
|
||||||
alias -g NUL='> /dev/null 2>&1'
|
|
||||||
alias -g P='2>&1| pygmentize -l pytb'
|
|
||||||
alias -g J='| jq'
|
|
||||||
alias -g CC='| xclip -selection clipboard'
|
|
||||||
alias -g C='| wc -l'
|
|
||||||
alias -g SS='| sort'
|
|
||||||
alias -g Su='| sort -u'
|
|
||||||
alias -g Sn='| sort -n'
|
|
||||||
alias -g Snr='| sort -nr'
|
|
||||||
|
|
||||||
# Get public IP address
|
|
||||||
alias pubip='curl ipinfo.io'
|
|
||||||
|
|
||||||
# List apps with network connections
|
|
||||||
alias netCons='lsof -i'
|
|
||||||
|
|
||||||
# List ports
|
|
||||||
alias tulp='ss -tulp'
|
|
||||||
|
|
||||||
# List open ports
|
|
||||||
alias openPorts='sudo lsof -i | grep LISTEN'
|
|
||||||
|
|
||||||
# Ping google.com
|
|
||||||
alias pong='ping -c 3 www.google.com'
|
|
||||||
|
|
||||||
# List sockets in use
|
|
||||||
alias lsock='sudo lsof -i -P'
|
|
||||||
|
|
||||||
# List UDP sockets in use
|
|
||||||
alias lsockU='sudo lsof -nP | grep UDP'
|
|
||||||
|
|
||||||
# List TCP sockets in use
|
|
||||||
alias lsockT='sudo lsof -nP | grep TCP'
|
|
||||||
|
|
||||||
# Reboot / Poweroff
|
|
||||||
alias rbt='sudo systemctl reboot'
|
|
||||||
alias shut='sudo systemctl poweroff'
|
|
||||||
|
|
||||||
# GPG
|
|
||||||
alias gpgs='gpg --search-keys'
|
|
||||||
alias gpgl='gpg --list-keys --with-fingerprint'
|
|
||||||
|
|
||||||
# firewalld
|
|
||||||
if test -x "$(command -v firewall-cmd)"; then
|
|
||||||
alias fw='sudo firewall-cmd'
|
|
||||||
alias fwp='sudo firewall-cmd --permanent'
|
|
||||||
alias fwr='sudo firewall-cmd --reload'
|
|
||||||
alias fwrp='sudo firewall-cmd --runtime-to-permanent'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# git
|
|
||||||
alias ga='git add'
|
|
||||||
alias gcl='git clone'
|
|
||||||
alias gcmsg='git commit -m'
|
|
||||||
alias gd='git diff'
|
|
||||||
alias gl='git pull'
|
|
||||||
alias gp='git push'
|
|
||||||
alias gr='git remote'
|
|
||||||
alias grbi='git rebase -i'
|
|
||||||
alias grm='git rm'
|
|
||||||
alias grv='git remote -v'
|
|
||||||
alias gst='git status'
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
typeset -g -A key
|
|
||||||
|
|
||||||
key[Home]="${terminfo[khome]}"
|
|
||||||
key[End]="${terminfo[kend]}"
|
|
||||||
|
|
||||||
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
|
|
||||||
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
|
|
||||||
|
|
||||||
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
|
||||||
autoload -Uz add-zle-hook-widget
|
|
||||||
function zle_application_mode_start { echoti smkx }
|
|
||||||
function zle_application_mode_stop { echoti rmkx }
|
|
||||||
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
|
|
||||||
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
|
|
||||||
fi
|
|
||||||
|
|
||||||
## keybinding for convenient viewing of man pages
|
|
||||||
if test -x "${HOME}/bin/split_man"; then
|
|
||||||
split_man-widget() { "${HOME}/bin/split_man"}
|
|
||||||
zle -N split_man-widget
|
|
||||||
|
|
||||||
bindkey '^[m' split_man-widget
|
|
||||||
fi
|
|
||||||
|
|
||||||
## gumssh
|
|
||||||
if test -x "${HOME}/bin/gumssh"; then
|
|
||||||
bindkey -s '^[s' 'gumssh^M'
|
|
||||||
fi
|
|
||||||
|
|
||||||
## history substring search
|
|
||||||
bindkey '^[[1;5A' history-substring-search-up
|
|
||||||
bindkey '^[[1;5B' history-substring-search-down
|
|
@ -1,74 +0,0 @@
|
|||||||
# Catppuccin Mocha Theme (for zsh-syntax-highlighting)
|
|
||||||
#
|
|
||||||
# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting
|
|
||||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor)
|
|
||||||
typeset -gA ZSH_HIGHLIGHT_STYLES
|
|
||||||
|
|
||||||
# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md
|
|
||||||
#
|
|
||||||
## General
|
|
||||||
### Diffs
|
|
||||||
### Markup
|
|
||||||
## Classes
|
|
||||||
## Comments
|
|
||||||
ZSH_HIGHLIGHT_STYLES[comment]='fg=#585b70'
|
|
||||||
## Constants
|
|
||||||
## Entitites
|
|
||||||
## Functions/methods
|
|
||||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[precommand]='fg=#a6e3a1,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#fab387,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#cba6f7'
|
|
||||||
## Keywords
|
|
||||||
## Built ins
|
|
||||||
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#a6e3a1'
|
|
||||||
## Punctuation
|
|
||||||
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#f38ba8'
|
|
||||||
## Serializable / Configuration Languages
|
|
||||||
## Storage
|
|
||||||
## Strings
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#f9e2af'
|
|
||||||
## Variables
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[assign]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#cdd6f4'
|
|
||||||
## No category relevant in spec
|
|
||||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#cba6f7'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[arg0]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[default]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[cursor]='fg=#cdd6f4'
|
|
@ -1,127 +0,0 @@
|
|||||||
# Create a bookmark.
|
|
||||||
function mark() {
|
|
||||||
|
|
||||||
if ! test -f "${HOME}/.shellmarks"; then
|
|
||||||
touch "${HOME}/.shellmarks"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mark_to_add="$(pwd)"
|
|
||||||
|
|
||||||
if grep -qxFe "${mark_to_add}" "${HOME}/.shellmarks"; then
|
|
||||||
gum style \
|
|
||||||
--foreground 210 \
|
|
||||||
--margin "1 2" \
|
|
||||||
"This bookmark already exists: ${mark_to_add}"
|
|
||||||
else
|
|
||||||
echo "${mark_to_add}" >> "${HOME}/.shellmarks"
|
|
||||||
gum style \
|
|
||||||
--foreground "#73F59F" \
|
|
||||||
--margin "1 2" \
|
|
||||||
"${mark_to_add} added to shellmarks file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove bookmarks.
|
|
||||||
function delmark() {
|
|
||||||
selection=$(cat "${HOME}/.shellmarks" | gum choose --no-limit)
|
|
||||||
|
|
||||||
if test -n "${selection}"; then
|
|
||||||
while read -r line; do
|
|
||||||
perl -n -i -e "print unless /^\\Q${line//\//\\/}\\E\$/" "${HOME}/.shellmarks"
|
|
||||||
done <<< "${selection}"
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
gum format -t markdown -- \
|
|
||||||
"# The following bookmarks were deleted:" \
|
|
||||||
"$(printf "%s\n" "${selection}")"
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Goto a bookmark.
|
|
||||||
function gotomark() {
|
|
||||||
if ! test -f "${HOME}/.shellmarks"; then
|
|
||||||
echo "No bookmarks exist yet. Add some!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
builtin cd $(cat "${HOME}/.shellmarks" | gum choose --limit=1)
|
|
||||||
|
|
||||||
local precmd
|
|
||||||
for precmd in $precmd_functions; do
|
|
||||||
$precmd
|
|
||||||
done
|
|
||||||
zle && zle reset-prompt
|
|
||||||
}
|
|
||||||
zle -N gotomark
|
|
||||||
bindkey '^[g' gotomark
|
|
||||||
|
|
||||||
# Choose a directory from the directory stack.
|
|
||||||
function dstack() {
|
|
||||||
echo "# Choose a directory" | gum format -t markdown
|
|
||||||
selection=$(dirs -lp | gum choose --limit=1)
|
|
||||||
cd $selection
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print timestamp as %Y-%m-%d %H:%M:%S.
|
|
||||||
function tstamp() {
|
|
||||||
emulate -L zsh
|
|
||||||
date '+%Y-%m-%d %H:%M:%S'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print timestamp as %Y-%m-%dT%H:%M:%S%:z
|
|
||||||
function tstampz() {
|
|
||||||
emulate -L zsh
|
|
||||||
date '+%Y-%m-%dT%H:%M:%S%:z'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create a /overview/ of all available function()'s; the description for
|
|
||||||
# each funtion() *must* be the first line above the string `function'!
|
|
||||||
# Otherwise it wont work.
|
|
||||||
# Display all function()'s with their descriptions.
|
|
||||||
function funlist() {
|
|
||||||
grep -B 1 "^function" $HOME/.zshrc.d/functions.zsh | \
|
|
||||||
grep -v "^\-\-$" | \
|
|
||||||
awk '{ if(/^#/) { gsub(/^#[:space:]*/, ""); ht=$0 }; getline; gsub(/ ?\(\)/, ":"); printf("-> %-20s %s\n", $2, ht); }' | \
|
|
||||||
sort -u -k 3
|
|
||||||
}
|
|
||||||
|
|
||||||
# zrmcomp() remove *.zwc files.
|
|
||||||
function zrmcomp() {
|
|
||||||
local i
|
|
||||||
for i in ${HOME}/*.zwc(N); do
|
|
||||||
printf "Removing $i\n"
|
|
||||||
command rm -f $i
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Invoke this every time you change .zshrc to recompile it.
|
|
||||||
function src() {
|
|
||||||
autoload -U zrecompile
|
|
||||||
[ -f ~/.zshrc ] && zrecompile -p ~/.zshrc
|
|
||||||
[ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
|
|
||||||
[ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
|
|
||||||
[ -f ~/.zshrc.zwc.old ] && command rm -f ~/.zshrc.zwc.old
|
|
||||||
[ -f ~/.zcompdump.zwc.old ] && command rm -f ~/.zcompdump.zwc.old
|
|
||||||
source ~/.zshrc
|
|
||||||
}
|
|
||||||
|
|
||||||
# Do an ls after cd.
|
|
||||||
function cd() { builtin cd "$@" && ls; }
|
|
||||||
|
|
||||||
# Create new directory and enter it.
|
|
||||||
function mkd() { mkdir -p "$@" && cd "$_"; }
|
|
||||||
|
|
||||||
# Display pids of commands.
|
|
||||||
function pids() { pgrep -a "$@"; }
|
|
||||||
|
|
||||||
# Restart zsh.
|
|
||||||
function restart() { exec $SHELL $SHELL_ARGS "$@"; }
|
|
||||||
|
|
||||||
# cd to ~, clear screen, and restart zsh.
|
|
||||||
function rsrc() { cd && clear && restart; }
|
|
@ -1,12 +0,0 @@
|
|||||||
# ~/.zshrc.d/fzf.zsh
|
|
||||||
|
|
||||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
|
||||||
|
|
||||||
## default opts uses Catppuccin (mocha) color palette
|
|
||||||
export FZF_DEFAULT_OPTS='--color=bg+:#302D41,bg:#1E1E2E,spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD'
|
|
||||||
|
|
||||||
## completion trigger
|
|
||||||
export FZF_COMPLETION_TRIGGER="~~"
|
|
||||||
|
|
||||||
## default source for fzf
|
|
||||||
export FZF_DEFAULT_COMMAND="fd --type f --hidden --follow --exclude .git"
|
|
@ -1,151 +0,0 @@
|
|||||||
## General shell options
|
|
||||||
# See https://zsh-manual.netlify.app/options
|
|
||||||
|
|
||||||
# This is a multiple move based on zsh pattern matching (like "mmv").
|
|
||||||
# Read ``less ${^fpath}/zmv(N)'' for more details.
|
|
||||||
autoload zmv
|
|
||||||
|
|
||||||
# A builtin that can clone a running shell onto another terminal.
|
|
||||||
zmodload -e zsh/clone
|
|
||||||
|
|
||||||
# When listing options (by 'setopt', 'unsetopt', 'set -o', or 'set +o'),
|
|
||||||
# those turned on by default appear in the list prefixed with 'no'.
|
|
||||||
# Hence (unless KSH_OPTION_PRINT is set), 'setopt' shows all options whose
|
|
||||||
# settings are changed from default.
|
|
||||||
#
|
|
||||||
# Report the status of background jobs immediately, rather than waiting until
|
|
||||||
# just before printing a prompt.
|
|
||||||
setopt notify
|
|
||||||
|
|
||||||
# Allow comments even in interactive shells.
|
|
||||||
setopt interactivecomments
|
|
||||||
|
|
||||||
# Send *not* a HUP signal to running jobs when the shell exits.
|
|
||||||
setopt nohup
|
|
||||||
|
|
||||||
# If a pattern for filename generation has no matches, delete the pattern from
|
|
||||||
# the argument list instead of reporting an error.
|
|
||||||
# Overrides NOMATCH
|
|
||||||
setopt nullglob
|
|
||||||
|
|
||||||
# Perform =filename access
|
|
||||||
# $ setopt EQUALS
|
|
||||||
# $ echo =ls
|
|
||||||
# /bin/ls
|
|
||||||
# $ unsetopt EQUALS
|
|
||||||
# $ echo =ls
|
|
||||||
# =ls
|
|
||||||
# NOTE: It's not really needed because zsh sets the per default.
|
|
||||||
setopt equals
|
|
||||||
|
|
||||||
# Try to make completion list smaller by printing the matches in columns with
|
|
||||||
# different widths.
|
|
||||||
setopt list_packed
|
|
||||||
|
|
||||||
# Expands single letters and ranges of letters between braces
|
|
||||||
# $ print 1{abw-z}2
|
|
||||||
# $ 1a2 1b2 1w2 1y2 1z2
|
|
||||||
setopt braceccl
|
|
||||||
|
|
||||||
# If the argument to a cd command (or an implied cd with the AUTO_CD option
|
|
||||||
# set) is not a directory, and does not begin with a slash, try to expand the
|
|
||||||
# expression as if it were preceded by a '~' (See section 14.7 Filename
|
|
||||||
# Expansion).
|
|
||||||
setopt cdablevars
|
|
||||||
|
|
||||||
# Report the status of background and suspended jobs before exiting a shell
|
|
||||||
# with job control; a second attempt to exit the shell will succeed.
|
|
||||||
setopt checkjobs
|
|
||||||
|
|
||||||
# Make cd push the old directory onto the directory stack.
|
|
||||||
setopt autopushd
|
|
||||||
|
|
||||||
# Change to directory without cd
|
|
||||||
setopt autocd
|
|
||||||
|
|
||||||
# Query the user before executing 'rm *' or 'rm path/*'
|
|
||||||
setopt normstarsilent
|
|
||||||
setopt no_rm_star_wait
|
|
||||||
|
|
||||||
# Shaddapa you face
|
|
||||||
setopt nobeep
|
|
||||||
|
|
||||||
# When writing out the history file, older commands that duplicate newer ones
|
|
||||||
# are omitted.
|
|
||||||
set histsavenodups
|
|
||||||
|
|
||||||
# When searching for history entries in the line editor, do not display
|
|
||||||
# duplicates of a line previously found, even if the duplicates are not
|
|
||||||
# contiguous.
|
|
||||||
setopt histfindnodups
|
|
||||||
|
|
||||||
# If the internal history needs to be trimmed to add the current command line,
|
|
||||||
# setting this option will cause the oldest history event that has a duplicate
|
|
||||||
# to be lost before losing a unique event from the list.
|
|
||||||
setopt hist_expire_dups_first
|
|
||||||
|
|
||||||
# If a new command line being added to the history list duplicates an older
|
|
||||||
# one, the older command is removed from the list (even if it is not the
|
|
||||||
# previous event).
|
|
||||||
setopt hist_ignore_all_dups
|
|
||||||
|
|
||||||
# Do not enter command lines into the history list if they are duplicates of
|
|
||||||
# the previous event.
|
|
||||||
setopt hist_ignore_dups
|
|
||||||
|
|
||||||
# Remove superfluous blanks from each command line being added to history.
|
|
||||||
setopt hist_reduce_blanks
|
|
||||||
|
|
||||||
# Whenever the user enters a line with history expansion, don't execute the
|
|
||||||
# line directly; instead, perform history expansion and reload the line into
|
|
||||||
# the editing buffer.
|
|
||||||
setopt hist_verify
|
|
||||||
|
|
||||||
# Do not remove function definitions from the history list.
|
|
||||||
unsetopt hist_no_functions
|
|
||||||
|
|
||||||
# Remove the history (fc -l) command from the history list when invoked.
|
|
||||||
# Note that the command lingers in the internal history until the next command
|
|
||||||
# is entered before it vanishes, allowing you to briefly reuse or edit the
|
|
||||||
# line.
|
|
||||||
setopt hist_no_store
|
|
||||||
|
|
||||||
# If this is set, zsh sessions will append their history list to the history
|
|
||||||
# file, rather than overwrite it. Thus, multiple parallel zsh sessions will all
|
|
||||||
# have their history lists added to the history file, in the order they are
|
|
||||||
# killed.
|
|
||||||
setopt appendhistory
|
|
||||||
|
|
||||||
# If unset, the cursor is set to the end of the word if completion is started.
|
|
||||||
# Otherwise, it stays there and completion is done from both ends.
|
|
||||||
unsetopt completeinword
|
|
||||||
|
|
||||||
# When listing files that are possible completions, show the type of each file
|
|
||||||
# with a trailing identifying mark.
|
|
||||||
setopt listtypes
|
|
||||||
|
|
||||||
# Do not require a leading '.' in a filename to be matched explicitly.
|
|
||||||
setopt globdots
|
|
||||||
|
|
||||||
# List jobs in long format by default
|
|
||||||
setopt longlistjobs
|
|
||||||
|
|
||||||
# Don't push multiple copies of the same directory onto the directory staack.
|
|
||||||
setopt pushdignoredups
|
|
||||||
|
|
||||||
# This option both imports new commands from the history file, and also causes
|
|
||||||
# your typed commands to be appended to the history file (the latter is like
|
|
||||||
# specifying INC_APPEND_HISTORY).
|
|
||||||
# The history lines are also output with timestamps ala EXTENDED_HISTORY
|
|
||||||
# (which makes it easier to find the spot where we left off reading the file
|
|
||||||
# after it gets re-written).
|
|
||||||
setopt sharehistory
|
|
||||||
|
|
||||||
# Save each command's beginning timestamp (in seconds since the epoch)
|
|
||||||
# and the duration (in seconds) to the history file. The format of this
|
|
||||||
# prefixed data is:
|
|
||||||
# ':<beginning time>:<elapsed seconds>;<command>'
|
|
||||||
setopt extendedhistory
|
|
||||||
|
|
||||||
# Do *not* run all background jobs at a lower nice priority
|
|
||||||
unsetopt bgnice
|
|
28
zsh/.zpath
28
zsh/.zpath
@ -1,28 +0,0 @@
|
|||||||
# PATH variable declaration as array
|
|
||||||
# -U means unique, which tells the shell not to add anything to the array if it's
|
|
||||||
# already there.
|
|
||||||
typeset -U PATH path
|
|
||||||
|
|
||||||
# Set Go path if it exists
|
|
||||||
[ -d "${HOME}/go" ] && GOPATH="${HOME}/go" && path+=("${GOPATH}/bin")
|
|
||||||
|
|
||||||
# Set Cargo path for Rust binaries
|
|
||||||
[ -d "${HOME}/.cargo/bin" ] && path+=("${HOME}/.cargo/bin")
|
|
||||||
|
|
||||||
# Add ~/bin to PATH
|
|
||||||
[ -d "${HOME}/bin" ] && path+=("${HOME}/bin")
|
|
||||||
|
|
||||||
# Add ~/.local/bin to PATH
|
|
||||||
[ -d "${HOME}/.local/bin" ] && path+=("${HOME}/.local/bin")
|
|
||||||
|
|
||||||
# Add nixos paths
|
|
||||||
path+=("/run/current-system/sw/bin")
|
|
||||||
path+=("/run/current-system/sw/sbin")
|
|
||||||
path+=("/home/jas/.nix-profile/bin")
|
|
||||||
path+=("/home/jas/.nix-profile/sbin")
|
|
||||||
path+=("/home/jas/.npm-global/bin")
|
|
||||||
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
# Automatically remove duplicates from these arrays
|
|
||||||
typeset -gU path cdpath manpath fpath
|
|
23
zsh/.zshenv
23
zsh/.zshenv
@ -1,23 +0,0 @@
|
|||||||
#
|
|
||||||
# Generic .zshenv file for zsh
|
|
||||||
#
|
|
||||||
# .zshenv is sourced on ALL invocations of the shell, unless the -f option is
|
|
||||||
# set. It should NOT normally contain commands to set the command search path,
|
|
||||||
# or other common environment variables unless you really know what you're
|
|
||||||
# doing. E.g. running "PATH=/custom/path gdb program" sources this file (when
|
|
||||||
# gdb runs the program via $SHELL), so you want to be sure not to override a
|
|
||||||
# custom environment in such cases. Note also that .zshenv should not contain
|
|
||||||
# commands that produce output or assume the shell is attached to a tty.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Some people insist on setting their PATH here to affect things like ssh.
|
|
||||||
# Those that do should probably use $SHLVL to ensure that this only happens
|
|
||||||
# the first time the shell is started (to avoid overriding a customized
|
|
||||||
# environment). Also, the various profile/rc/login files all get sourced
|
|
||||||
# *after* this file, so they will override this value. One solution is to
|
|
||||||
# put your path-setting code into a file named .zpath, and source it from
|
|
||||||
# both here (if we're not a login shell) and from the .zprofile file (which
|
|
||||||
# is only sourced if we are a login shell).
|
|
||||||
if [[ $SHLVL == 1 ]]; then
|
|
||||||
source ~/.zpath
|
|
||||||
fi
|
|
162
zsh/.zshrc
162
zsh/.zshrc
@ -1,162 +0,0 @@
|
|||||||
# Filename : ~/.zshrc
|
|
||||||
# Purpose : setup file for zsh
|
|
||||||
# Author : Jeffrey Serio <hyperreal@fedoraproject.org>
|
|
||||||
# Homepage : https://hyperreal.coffee
|
|
||||||
#
|
|
||||||
# Zsh Manual - https://zsh-manual.netlify.app
|
|
||||||
# Zsh Guide - https://zsh-guide.netlify.app
|
|
||||||
#
|
|
||||||
# ,----[ man -k zsh ]
|
|
||||||
# |
|
|
||||||
# | zsh (1) - the Z shell
|
|
||||||
# | zshall (1) - the Z shell meta-man page
|
|
||||||
# | zshbuiltins (1) - zsh builtin commands
|
|
||||||
# | zshcalsys (1) - zsh calendar system
|
|
||||||
# | zshcompctl (1) - zsh programmable completion
|
|
||||||
# | zshcompsys (1) - zsh completion system
|
|
||||||
# | zshcompwid (1) - zsh completion widgets
|
|
||||||
# | zshcontrib (1) - user contributions to zsh
|
|
||||||
# | zshexpn (1) - zsh expansion and substitution
|
|
||||||
# | zshmisc (1) - everything and then some
|
|
||||||
# | zshmodules (1) - zsh loadable modules
|
|
||||||
# | zshoptions (1) - zsh options
|
|
||||||
# | zshparam (1) - zsh parameters
|
|
||||||
# | zshroadmap (1) - informal introduction to the zsh manual
|
|
||||||
# | zshtcpsys (1) - zsh tcp system
|
|
||||||
# | zshzftpsys (1) - zftp function front-end
|
|
||||||
# | zshzle (1) - zsh command line editor
|
|
||||||
# `----
|
|
||||||
#
|
|
||||||
# Zsh startup sequence
|
|
||||||
# 1) /etc/zshenv -> Always run for every zsh. (login + interactive + other)
|
|
||||||
# 2) ~/.zshenv -> Usually run for every zsh. (login + interactive + other)
|
|
||||||
# 3) /etc/zprofile -> Run for login shells. (login)
|
|
||||||
# 4) ~/.zprofile -> Run for login shells. (login)
|
|
||||||
# 5) /etc/zshrc -> Run for interactive shells. (login + interactive)
|
|
||||||
# 6) ~/.zshrc -> Run for interactive shells. (login + interactive)
|
|
||||||
# 7) /etc/zlogin -> Run for login shells. (login)
|
|
||||||
# 8) ~/.zlogin -> Run for login shells. (login)
|
|
||||||
#
|
|
||||||
# This file is based on Christian Schneider's zsh configuration
|
|
||||||
# https://www.strcat.de/dotfiles
|
|
||||||
|
|
||||||
# Plugins
|
|
||||||
if ! test -f ~/.zplug/init.zsh; then
|
|
||||||
export ZPLUG_HOME=~/.zplug
|
|
||||||
git clone https://github.com/zplug/zplug $ZPLUG_HOME
|
|
||||||
fi
|
|
||||||
|
|
||||||
source ~/.zplug/init.zsh
|
|
||||||
|
|
||||||
# Use autosuggestions when typing commands
|
|
||||||
zplug "zsh-users/zsh-autosuggestions"
|
|
||||||
|
|
||||||
# Use a keybinding to complete parts of command from the history file
|
|
||||||
zplug "zsh-users/zsh-history-substring-search"
|
|
||||||
|
|
||||||
# Use syntax highlighting when typing commands
|
|
||||||
zplug "zsh-users/zsh-syntax-highlighting", defer:2
|
|
||||||
|
|
||||||
# Press escape twice to prepend `sudo` to the command line
|
|
||||||
zplug "plugins/sudo", from:oh-my-zsh
|
|
||||||
|
|
||||||
# extract archives
|
|
||||||
zplug "plugins/extract", from:oh-my-zsh
|
|
||||||
|
|
||||||
# systemd aliases
|
|
||||||
zplug "plugins/systemd", from:oh-my-zsh
|
|
||||||
|
|
||||||
# Load file from ~/.zshrc.d
|
|
||||||
zplug "~/.zshrc.d", from:local, use:'*'
|
|
||||||
|
|
||||||
# starship.rs
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
|
|
||||||
if ! zplug check; then
|
|
||||||
zplug install;
|
|
||||||
exec $SHELL $SHELL_ARGS "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
zplug load
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# ENVIRONMENT VARS
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
export LS_COLORS=$(cat ~/.lscolors.sh)
|
|
||||||
export PAGER="less -X"
|
|
||||||
export MANWIDTH="88"
|
|
||||||
export MANROFFOPT="-c"
|
|
||||||
export MANPAGER="less -X"
|
|
||||||
|
|
||||||
if test -x "$(command -v emacS)"; then
|
|
||||||
EDITOR="emacs"
|
|
||||||
else
|
|
||||||
EDITOR="nvim"
|
|
||||||
fi
|
|
||||||
export EDITOR
|
|
||||||
|
|
||||||
# Have less display colours
|
|
||||||
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
|
|
||||||
export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold
|
|
||||||
export LESS_TERMCAP_md=$'\e[1;34m' # begin blink
|
|
||||||
export LESS_TERMCAP_so=$'\e[01;0;33m' # begin reverse video
|
|
||||||
export LESS_TERMCAP_us=$'\e[01;31m' # begin underline
|
|
||||||
export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink
|
|
||||||
export LESS_TERMCAP_se=$'\e[0m' # reset reverse video
|
|
||||||
export LESS_TERMCAP_ue=$'\e[0m' # reset underline
|
|
||||||
export GROFF_NO_SGR=1 # for konsole and gnome-terminal
|
|
||||||
|
|
||||||
# Cargo/Rust
|
|
||||||
[[ -f "${HOME}/.cargo/env" ]] && source "${HOME}/.cargo/env"
|
|
||||||
|
|
||||||
# Format of process time reports with 'time'
|
|
||||||
# %% A '%'
|
|
||||||
# %U CPU seconds spent in user mode
|
|
||||||
# %S CPU seconds spent in kernel mode
|
|
||||||
# %E Elapsed time in seconds
|
|
||||||
# %P CPU percentage, computed as (%U+%S)/%E
|
|
||||||
# %J The name of this job
|
|
||||||
# Default is:
|
|
||||||
# %E real %U user %S system %P %J
|
|
||||||
TIMEFMT="\
|
|
||||||
|
|
||||||
The name of this job : %J
|
|
||||||
CPU seconds spent in user mode : %U
|
|
||||||
CPU seconds spent in kernel mode : %S
|
|
||||||
Elapsed time in seconds : %E
|
|
||||||
CPU percentage : %P"
|
|
||||||
|
|
||||||
# HISTSIZE is the number of lines of history that is kept within any given
|
|
||||||
# running zsh instance. SAVEHIST is the number of lines of history that is
|
|
||||||
# written out to the HISTFILE when that event occurs. If you use the
|
|
||||||
# HIST_EXPIRE_DUPS_FIRST option, setting this value larger than the SAVEHIST
|
|
||||||
# size will give you the difference as a cushion for saving duplicated history
|
|
||||||
# events.
|
|
||||||
HISTSIZE=100000
|
|
||||||
SAVEHIST=65536
|
|
||||||
|
|
||||||
# Name of the file used to store command history
|
|
||||||
HISTFILE=~/.zsh_history
|
|
||||||
|
|
||||||
# If nonnegative, commands whose combined user and system execution times
|
|
||||||
# (measured in seconds) are greater than this value have timing stats printed
|
|
||||||
# for them.
|
|
||||||
REPORTTIME=10
|
|
||||||
|
|
||||||
# Language
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
|
|
||||||
# Manpages
|
|
||||||
export MANPATH="${MANPATH:-/usr/share/man:/usr/local/share/man}"
|
|
||||||
|
|
||||||
if [ -d "${HOME}/.fzf/man" ]; then
|
|
||||||
export MANPATH="${MANPATH}:${HOME}/.fzf/man"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Bat theme
|
|
||||||
export BAT_THEME="Catppuccin-mocha"
|
|
||||||
|
|
||||||
# Automatically remove duplicates from these arrays
|
|
||||||
typeset -gU path cdpath manpath fpath
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
|||||||
# Get top 10 shell commands
|
|
||||||
alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
|
|
||||||
|
|
||||||
# history mechanism
|
|
||||||
alias h='history'
|
|
||||||
|
|
||||||
# Aliases for APT
|
|
||||||
if [ -e "/etc/debian_version" ]; then
|
|
||||||
alias acs="sudo apt-cache search"
|
|
||||||
alias acp="sudo apt-cache policy"
|
|
||||||
alias afs="sudo apt-file search"
|
|
||||||
alias afu="sudo apt-file update"
|
|
||||||
alias aac="sudo apt autoclean"
|
|
||||||
alias agc="sudo apt clean"
|
|
||||||
alias agi="sudo apt install"
|
|
||||||
alias agli="sudo apt list --installed"
|
|
||||||
alias agp="sudo apt purge"
|
|
||||||
alias agr="sudo apt remove"
|
|
||||||
alias agu="sudo apt update"
|
|
||||||
alias agud="sudo apt update && sudo apt dist-upgrade"
|
|
||||||
alias agar="sudo apt autoremove"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "/etc/redhat-release" ]; then
|
|
||||||
alias dnfc='sudo dnf clean all'
|
|
||||||
alias dnfgi='sudo dnf groupinstall'
|
|
||||||
alias dnfgl='dnf grouplist'
|
|
||||||
alias dnfgr='sudo dnf groupremove'
|
|
||||||
alias dnfi='sudo dnf install'
|
|
||||||
alias dnfl='dnf list'
|
|
||||||
alias dnfli='dnf list installed'
|
|
||||||
alias dnfmc='dnf makecache'
|
|
||||||
alias dnfp='dnf info'
|
|
||||||
alias dnfr='sudo dnf remove'
|
|
||||||
alias dnfs='dnf search'
|
|
||||||
alias dnfu='sudo dnf update'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert UPPER to lower (or back)
|
|
||||||
alias UP2low='for i in *(.); mv $i ${i:l}'
|
|
||||||
alias low2UP='for i in *(.); mv $i ${i:u}'
|
|
||||||
|
|
||||||
# The ls family
|
|
||||||
if test -x "$(command -v exa)"; then
|
|
||||||
alias ls='exa'
|
|
||||||
else
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias l='ls -lFhg'
|
|
||||||
alias la='ls -a'
|
|
||||||
alias ll='ls -l'
|
|
||||||
alias lal='ls -al'
|
|
||||||
alias ldot='ls -gld .*'
|
|
||||||
alias lse='/bin/ls -lZ'
|
|
||||||
|
|
||||||
# greps
|
|
||||||
alias grep='grep --color'
|
|
||||||
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS}'
|
|
||||||
|
|
||||||
# Copy SSH public key to clipboard (requires xclip or xsel)
|
|
||||||
if test -x "$(command -v xclip)"; then
|
|
||||||
alias pubkey='more ~/.ssh/id_ed25519.pub | xclip -selection clipboard | echo "SSH public key copied"'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prompt user before overwriting files
|
|
||||||
alias cp='cp -i'
|
|
||||||
alias mv='mv -i'
|
|
||||||
alias rm='trash'
|
|
||||||
alias del='rm -i'
|
|
||||||
|
|
||||||
# Display zsh functions with bat
|
|
||||||
alias zfun='functions | bat -l zsh'
|
|
||||||
|
|
||||||
# Assorted global aliases
|
|
||||||
alias -g H='| head'
|
|
||||||
alias -g T='| tail'
|
|
||||||
alias -g G='| grep'
|
|
||||||
alias -g L='| less -X'
|
|
||||||
alias -g B='| bat'
|
|
||||||
alias -g LL='2>&1 | less'
|
|
||||||
alias -g NE='2> /dev/null'
|
|
||||||
alias -g NUL='> /dev/null 2>&1'
|
|
||||||
alias -g P='2>&1| pygmentize -l pytb'
|
|
||||||
alias -g J='| jq'
|
|
||||||
alias -g CC='| xclip -selection clipboard'
|
|
||||||
alias -g C='| wc -l'
|
|
||||||
alias -g SS='| sort'
|
|
||||||
alias -g Su='| sort -u'
|
|
||||||
alias -g Sn='| sort -n'
|
|
||||||
alias -g Snr='| sort -nr'
|
|
||||||
|
|
||||||
# Get public IP address
|
|
||||||
alias pubip='curl ipinfo.io'
|
|
||||||
|
|
||||||
# List apps with network connections
|
|
||||||
alias netCons='lsof -i'
|
|
||||||
|
|
||||||
# List ports
|
|
||||||
alias tulp='ss -tulp'
|
|
||||||
|
|
||||||
# List open ports
|
|
||||||
alias openPorts='sudo lsof -i | grep LISTEN'
|
|
||||||
|
|
||||||
# Ping google.com
|
|
||||||
alias pong='ping -c 3 www.google.com'
|
|
||||||
|
|
||||||
# List sockets in use
|
|
||||||
alias lsock='sudo lsof -i -P'
|
|
||||||
|
|
||||||
# List UDP sockets in use
|
|
||||||
alias lsockU='sudo lsof -nP | grep UDP'
|
|
||||||
|
|
||||||
# List TCP sockets in use
|
|
||||||
alias lsockT='sudo lsof -nP | grep TCP'
|
|
||||||
|
|
||||||
# Reboot / Poweroff
|
|
||||||
alias rbt='sudo systemctl reboot'
|
|
||||||
alias shut='sudo systemctl poweroff'
|
|
||||||
|
|
||||||
# GPG
|
|
||||||
alias gpgs='gpg --search-keys'
|
|
||||||
alias gpgl='gpg --list-keys --with-fingerprint'
|
|
||||||
|
|
||||||
# firewalld
|
|
||||||
if test -x "$(command -v firewall-cmd)"; then
|
|
||||||
alias fw='sudo firewall-cmd'
|
|
||||||
alias fwp='sudo firewall-cmd --permanent'
|
|
||||||
alias fwr='sudo firewall-cmd --reload'
|
|
||||||
alias fwrp='sudo firewall-cmd --runtime-to-permanent'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# git
|
|
||||||
alias ga='git add'
|
|
||||||
alias gcl='git clone'
|
|
||||||
alias gcmsg='git commit -m'
|
|
||||||
alias gd='git diff'
|
|
||||||
alias gl='git pull'
|
|
||||||
alias gp='git push'
|
|
||||||
alias gr='git remote'
|
|
||||||
alias grbi='git rebase -i'
|
|
||||||
alias grm='git rm'
|
|
||||||
alias grv='git remote -v'
|
|
||||||
alias gst='git status'
|
|
||||||
|
|
||||||
# doom emacs
|
|
||||||
alias doomdoc="~/.config/emacs/bin/doom doctor"
|
|
||||||
alias dsync="~/.config/emacs/bin/doom sync"
|
|
||||||
alias dclean="~/.config/emacs/bin/doom clean"
|
|
||||||
alias dcomp="~/.config/emacs/bin/doom compile"
|
|
||||||
alias dpurge="~/.config/emacs/bin/doom purge"
|
|
||||||
alias denv="~/.config/emacs/bin/doom env"
|
|
||||||
alias dupgrade="~/.config/emacs/bin/doom upgrade"
|
|
@ -1,32 +0,0 @@
|
|||||||
typeset -g -A key
|
|
||||||
|
|
||||||
key[Home]="${terminfo[khome]}"
|
|
||||||
key[End]="${terminfo[kend]}"
|
|
||||||
|
|
||||||
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
|
|
||||||
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
|
|
||||||
|
|
||||||
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
|
||||||
autoload -Uz add-zle-hook-widget
|
|
||||||
function zle_application_mode_start { echoti smkx }
|
|
||||||
function zle_application_mode_stop { echoti rmkx }
|
|
||||||
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
|
|
||||||
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
|
|
||||||
fi
|
|
||||||
|
|
||||||
## keybinding for convenient viewing of man pages
|
|
||||||
if test -x "${HOME}/bin/split_man"; then
|
|
||||||
split_man-widget() { "${HOME}/bin/split_man"}
|
|
||||||
zle -N split_man-widget
|
|
||||||
|
|
||||||
bindkey '^[m' split_man-widget
|
|
||||||
fi
|
|
||||||
|
|
||||||
## gumssh
|
|
||||||
if test -x "${HOME}/bin/gumssh"; then
|
|
||||||
bindkey -s '^[s' 'gumssh^M'
|
|
||||||
fi
|
|
||||||
|
|
||||||
## history substring search
|
|
||||||
bindkey '^[[1;5A' history-substring-search-up
|
|
||||||
bindkey '^[[1;5B' history-substring-search-down
|
|
@ -1,74 +0,0 @@
|
|||||||
# Catppuccin Mocha Theme (for zsh-syntax-highlighting)
|
|
||||||
#
|
|
||||||
# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting
|
|
||||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor)
|
|
||||||
typeset -gA ZSH_HIGHLIGHT_STYLES
|
|
||||||
|
|
||||||
# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md
|
|
||||||
#
|
|
||||||
## General
|
|
||||||
### Diffs
|
|
||||||
### Markup
|
|
||||||
## Classes
|
|
||||||
## Comments
|
|
||||||
ZSH_HIGHLIGHT_STYLES[comment]='fg=#585b70'
|
|
||||||
## Constants
|
|
||||||
## Entitites
|
|
||||||
## Functions/methods
|
|
||||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[precommand]='fg=#a6e3a1,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#fab387,italic'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#fab387'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#cba6f7'
|
|
||||||
## Keywords
|
|
||||||
## Built ins
|
|
||||||
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#a6e3a1'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#a6e3a1'
|
|
||||||
## Punctuation
|
|
||||||
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#f38ba8'
|
|
||||||
## Serializable / Configuration Languages
|
|
||||||
## Storage
|
|
||||||
## Strings
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f9e2af'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#f9e2af'
|
|
||||||
## Variables
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[assign]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#cdd6f4'
|
|
||||||
## No category relevant in spec
|
|
||||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#cdd6f4,underline'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#f38ba8'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#cba6f7'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?'
|
|
||||||
#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#e64553'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[arg0]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[default]='fg=#cdd6f4'
|
|
||||||
ZSH_HIGHLIGHT_STYLES[cursor]='fg=#cdd6f4'
|
|
@ -1,134 +0,0 @@
|
|||||||
# Commit, lock, and nixos-rebuild
|
|
||||||
function flake-rebuild() {
|
|
||||||
sudo git -C /etc/nixos commit -asm "$1" ;
|
|
||||||
sudo nix flake update --commit-lock-file "git+file:///etc/nixos" --extra-experimental-features nix-command --extra-experimental-features flakes ;
|
|
||||||
sudo nixos-rebuild --flake /etc/nixos/#$(hostname) switch
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create a bookmark.
|
|
||||||
function mark() {
|
|
||||||
|
|
||||||
if ! test -f "${HOME}/.shellmarks"; then
|
|
||||||
touch "${HOME}/.shellmarks"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mark_to_add="$(pwd)"
|
|
||||||
|
|
||||||
if grep -qxFe "${mark_to_add}" "${HOME}/.shellmarks"; then
|
|
||||||
gum style \
|
|
||||||
--foreground 210 \
|
|
||||||
--margin "1 2" \
|
|
||||||
"This bookmark already exists: ${mark_to_add}"
|
|
||||||
else
|
|
||||||
echo "${mark_to_add}" >> "${HOME}/.shellmarks"
|
|
||||||
gum style \
|
|
||||||
--foreground "#73F59F" \
|
|
||||||
--margin "1 2" \
|
|
||||||
"${mark_to_add} added to shellmarks file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove bookmarks.
|
|
||||||
function delmark() {
|
|
||||||
selection=$(cat "${HOME}/.shellmarks" | gum choose --no-limit)
|
|
||||||
|
|
||||||
if test -n "${selection}"; then
|
|
||||||
while read -r line; do
|
|
||||||
perl -n -i -e "print unless /^\\Q${line//\//\\/}\\E\$/" "${HOME}/.shellmarks"
|
|
||||||
done <<< "${selection}"
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
gum format -t markdown -- \
|
|
||||||
"# The following bookmarks were deleted:" \
|
|
||||||
"$(printf "%s\n" "${selection}")"
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Goto a bookmark.
|
|
||||||
function gotomark() {
|
|
||||||
if ! test -f "${HOME}/.shellmarks"; then
|
|
||||||
echo "No bookmarks exist yet. Add some!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
builtin cd $(cat "${HOME}/.shellmarks" | gum choose --limit=1)
|
|
||||||
|
|
||||||
local precmd
|
|
||||||
for precmd in $precmd_functions; do
|
|
||||||
$precmd
|
|
||||||
done
|
|
||||||
zle && zle reset-prompt
|
|
||||||
}
|
|
||||||
zle -N gotomark
|
|
||||||
bindkey '^[g' gotomark
|
|
||||||
|
|
||||||
# Choose a directory from the directory stack.
|
|
||||||
function dstack() {
|
|
||||||
echo "# Choose a directory" | gum format -t markdown
|
|
||||||
selection=$(dirs -lp | gum choose --limit=1)
|
|
||||||
cd $selection
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print timestamp as %Y-%m-%d %H:%M:%S.
|
|
||||||
function tstamp() {
|
|
||||||
emulate -L zsh
|
|
||||||
date '+%Y-%m-%d %H:%M:%S'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print timestamp as %Y-%m-%dT%H:%M:%S%:z
|
|
||||||
function tstampz() {
|
|
||||||
emulate -L zsh
|
|
||||||
date '+%Y-%m-%dT%H:%M:%S%:z'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create a /overview/ of all available function()'s; the description for
|
|
||||||
# each funtion() *must* be the first line above the string `function'!
|
|
||||||
# Otherwise it wont work.
|
|
||||||
# Display all function()'s with their descriptions.
|
|
||||||
function funlist() {
|
|
||||||
grep -B 1 "^function" $HOME/.zshrc.d/functions.zsh | \
|
|
||||||
grep -v "^\-\-$" | \
|
|
||||||
awk '{ if(/^#/) { gsub(/^#[:space:]*/, ""); ht=$0 }; getline; gsub(/ ?\(\)/, ":"); printf("-> %-20s %s\n", $2, ht); }' | \
|
|
||||||
sort -u -k 3
|
|
||||||
}
|
|
||||||
|
|
||||||
# zrmcomp() remove *.zwc files.
|
|
||||||
function zrmcomp() {
|
|
||||||
local i
|
|
||||||
for i in ${HOME}/*.zwc(N); do
|
|
||||||
printf "Removing $i\n"
|
|
||||||
command rm -f $i
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Invoke this every time you change .zshrc to recompile it.
|
|
||||||
function src() {
|
|
||||||
autoload -U zrecompile
|
|
||||||
[ -f ~/.zshrc ] && zrecompile -p ~/.zshrc
|
|
||||||
[ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
|
|
||||||
[ -f ~/.zcompdump ] && zrecompile -p ~/.zcompdump
|
|
||||||
[ -f ~/.zshrc.zwc.old ] && command rm -f ~/.zshrc.zwc.old
|
|
||||||
[ -f ~/.zcompdump.zwc.old ] && command rm -f ~/.zcompdump.zwc.old
|
|
||||||
source ~/.zshrc
|
|
||||||
}
|
|
||||||
|
|
||||||
# Do an ls after cd.
|
|
||||||
function cd() { builtin cd "$@" && ls; }
|
|
||||||
|
|
||||||
# Create new directory and enter it.
|
|
||||||
function mkd() { mkdir -p "$@" && cd "$_"; }
|
|
||||||
|
|
||||||
# Display pids of commands.
|
|
||||||
function pids() { pgrep -a "$@"; }
|
|
||||||
|
|
||||||
# Restart zsh.
|
|
||||||
function restart() { exec $SHELL $SHELL_ARGS "$@"; }
|
|
||||||
|
|
||||||
# cd to ~, clear screen, and restart zsh.
|
|
||||||
function rsrc() { cd && clear && restart; }
|
|
@ -1,12 +0,0 @@
|
|||||||
# ~/.zshrc.d/fzf.zsh
|
|
||||||
|
|
||||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
|
||||||
|
|
||||||
## default opts uses Catppuccin (mocha) color palette
|
|
||||||
export FZF_DEFAULT_OPTS='--color=bg+:#302D41,bg:#1E1E2E,spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD'
|
|
||||||
|
|
||||||
## completion trigger
|
|
||||||
export FZF_COMPLETION_TRIGGER="~~"
|
|
||||||
|
|
||||||
## default source for fzf
|
|
||||||
export FZF_DEFAULT_COMMAND="fd --type f --hidden --follow --exclude .git"
|
|
@ -1,151 +0,0 @@
|
|||||||
## General shell options
|
|
||||||
# See https://zsh-manual.netlify.app/options
|
|
||||||
|
|
||||||
# This is a multiple move based on zsh pattern matching (like "mmv").
|
|
||||||
# Read ``less ${^fpath}/zmv(N)'' for more details.
|
|
||||||
autoload zmv
|
|
||||||
|
|
||||||
# A builtin that can clone a running shell onto another terminal.
|
|
||||||
zmodload -e zsh/clone
|
|
||||||
|
|
||||||
# When listing options (by 'setopt', 'unsetopt', 'set -o', or 'set +o'),
|
|
||||||
# those turned on by default appear in the list prefixed with 'no'.
|
|
||||||
# Hence (unless KSH_OPTION_PRINT is set), 'setopt' shows all options whose
|
|
||||||
# settings are changed from default.
|
|
||||||
#
|
|
||||||
# Report the status of background jobs immediately, rather than waiting until
|
|
||||||
# just before printing a prompt.
|
|
||||||
setopt notify
|
|
||||||
|
|
||||||
# Allow comments even in interactive shells.
|
|
||||||
setopt interactivecomments
|
|
||||||
|
|
||||||
# Send *not* a HUP signal to running jobs when the shell exits.
|
|
||||||
setopt nohup
|
|
||||||
|
|
||||||
# If a pattern for filename generation has no matches, delete the pattern from
|
|
||||||
# the argument list instead of reporting an error.
|
|
||||||
# Overrides NOMATCH
|
|
||||||
setopt nullglob
|
|
||||||
|
|
||||||
# Perform =filename access
|
|
||||||
# $ setopt EQUALS
|
|
||||||
# $ echo =ls
|
|
||||||
# /bin/ls
|
|
||||||
# $ unsetopt EQUALS
|
|
||||||
# $ echo =ls
|
|
||||||
# =ls
|
|
||||||
# NOTE: It's not really needed because zsh sets the per default.
|
|
||||||
setopt equals
|
|
||||||
|
|
||||||
# Try to make completion list smaller by printing the matches in columns with
|
|
||||||
# different widths.
|
|
||||||
setopt list_packed
|
|
||||||
|
|
||||||
# Expands single letters and ranges of letters between braces
|
|
||||||
# $ print 1{abw-z}2
|
|
||||||
# $ 1a2 1b2 1w2 1y2 1z2
|
|
||||||
setopt braceccl
|
|
||||||
|
|
||||||
# If the argument to a cd command (or an implied cd with the AUTO_CD option
|
|
||||||
# set) is not a directory, and does not begin with a slash, try to expand the
|
|
||||||
# expression as if it were preceded by a '~' (See section 14.7 Filename
|
|
||||||
# Expansion).
|
|
||||||
setopt cdablevars
|
|
||||||
|
|
||||||
# Report the status of background and suspended jobs before exiting a shell
|
|
||||||
# with job control; a second attempt to exit the shell will succeed.
|
|
||||||
setopt checkjobs
|
|
||||||
|
|
||||||
# Make cd push the old directory onto the directory stack.
|
|
||||||
setopt autopushd
|
|
||||||
|
|
||||||
# Change to directory without cd
|
|
||||||
setopt autocd
|
|
||||||
|
|
||||||
# Query the user before executing 'rm *' or 'rm path/*'
|
|
||||||
setopt normstarsilent
|
|
||||||
setopt no_rm_star_wait
|
|
||||||
|
|
||||||
# Shaddapa you face
|
|
||||||
setopt nobeep
|
|
||||||
|
|
||||||
# When writing out the history file, older commands that duplicate newer ones
|
|
||||||
# are omitted.
|
|
||||||
set histsavenodups
|
|
||||||
|
|
||||||
# When searching for history entries in the line editor, do not display
|
|
||||||
# duplicates of a line previously found, even if the duplicates are not
|
|
||||||
# contiguous.
|
|
||||||
setopt histfindnodups
|
|
||||||
|
|
||||||
# If the internal history needs to be trimmed to add the current command line,
|
|
||||||
# setting this option will cause the oldest history event that has a duplicate
|
|
||||||
# to be lost before losing a unique event from the list.
|
|
||||||
setopt hist_expire_dups_first
|
|
||||||
|
|
||||||
# If a new command line being added to the history list duplicates an older
|
|
||||||
# one, the older command is removed from the list (even if it is not the
|
|
||||||
# previous event).
|
|
||||||
setopt hist_ignore_all_dups
|
|
||||||
|
|
||||||
# Do not enter command lines into the history list if they are duplicates of
|
|
||||||
# the previous event.
|
|
||||||
setopt hist_ignore_dups
|
|
||||||
|
|
||||||
# Remove superfluous blanks from each command line being added to history.
|
|
||||||
setopt hist_reduce_blanks
|
|
||||||
|
|
||||||
# Whenever the user enters a line with history expansion, don't execute the
|
|
||||||
# line directly; instead, perform history expansion and reload the line into
|
|
||||||
# the editing buffer.
|
|
||||||
setopt hist_verify
|
|
||||||
|
|
||||||
# Do not remove function definitions from the history list.
|
|
||||||
unsetopt hist_no_functions
|
|
||||||
|
|
||||||
# Remove the history (fc -l) command from the history list when invoked.
|
|
||||||
# Note that the command lingers in the internal history until the next command
|
|
||||||
# is entered before it vanishes, allowing you to briefly reuse or edit the
|
|
||||||
# line.
|
|
||||||
setopt hist_no_store
|
|
||||||
|
|
||||||
# If this is set, zsh sessions will append their history list to the history
|
|
||||||
# file, rather than overwrite it. Thus, multiple parallel zsh sessions will all
|
|
||||||
# have their history lists added to the history file, in the order they are
|
|
||||||
# killed.
|
|
||||||
setopt appendhistory
|
|
||||||
|
|
||||||
# If unset, the cursor is set to the end of the word if completion is started.
|
|
||||||
# Otherwise, it stays there and completion is done from both ends.
|
|
||||||
unsetopt completeinword
|
|
||||||
|
|
||||||
# When listing files that are possible completions, show the type of each file
|
|
||||||
# with a trailing identifying mark.
|
|
||||||
setopt listtypes
|
|
||||||
|
|
||||||
# Do not require a leading '.' in a filename to be matched explicitly.
|
|
||||||
setopt globdots
|
|
||||||
|
|
||||||
# List jobs in long format by default
|
|
||||||
setopt longlistjobs
|
|
||||||
|
|
||||||
# Don't push multiple copies of the same directory onto the directory staack.
|
|
||||||
setopt pushdignoredups
|
|
||||||
|
|
||||||
# This option both imports new commands from the history file, and also causes
|
|
||||||
# your typed commands to be appended to the history file (the latter is like
|
|
||||||
# specifying INC_APPEND_HISTORY).
|
|
||||||
# The history lines are also output with timestamps ala EXTENDED_HISTORY
|
|
||||||
# (which makes it easier to find the spot where we left off reading the file
|
|
||||||
# after it gets re-written).
|
|
||||||
setopt sharehistory
|
|
||||||
|
|
||||||
# Save each command's beginning timestamp (in seconds since the epoch)
|
|
||||||
# and the duration (in seconds) to the history file. The format of this
|
|
||||||
# prefixed data is:
|
|
||||||
# ':<beginning time>:<elapsed seconds>;<command>'
|
|
||||||
setopt extendedhistory
|
|
||||||
|
|
||||||
# Do *not* run all background jobs at a lower nice priority
|
|
||||||
unsetopt bgnice
|
|
Loading…
Reference in New Issue
Block a user