diff --git a/.gitignore b/.gitignore
index 7d69fa7..959ddb5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ config/mpv/shaders
# locks
**/*-lock.json
+config/spicetify/Backup
diff --git a/config/astronvim/lua/user/lsp/setup_handlers.lua b/config/astronvim/lua/user/lsp/setup_handlers.lua
new file mode 100644
index 0000000..1c3bdfb
--- /dev/null
+++ b/config/astronvim/lua/user/lsp/setup_handlers.lua
@@ -0,0 +1,5 @@
+return {
+ rust_analyzer = function(_, opts)
+ require("rust-tools").setup({ server = opts })
+ end,
+}
diff --git a/config/astronvim/lua/user/lsp/skip_setup.lua b/config/astronvim/lua/user/lsp/skip_setup.lua
deleted file mode 100644
index 9a644da..0000000
--- a/config/astronvim/lua/user/lsp/skip_setup.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-return {
- "rust_analyzer",
-}
diff --git a/config/bat/config b/config/bat/config
new file mode 100644
index 0000000..36bd2dc
--- /dev/null
+++ b/config/bat/config
@@ -0,0 +1,27 @@
+# This is `bat`s configuration file. Each line either contains a comment or
+# a command-line option that you want to pass to `bat` by default. You can
+# run `bat --help` to get a list of all possible configuration options.
+
+# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
+# for a list of all available themes
+--theme="Catppuccin-mocha"
+
+--style="changes,numbers"
+
+# Enable this to use italic text on the terminal. This is not supported on all
+# terminal emulators (like tmux, by default):
+#--italic-text=always
+
+# Uncomment the following line to disable automatic paging:
+#--paging=never
+
+# Uncomment the following line if you are using less version >= 551 and want to
+# enable mouse scrolling support in `bat` when running inside tmux. This might
+# disable text selection, unless you press shift.
+#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
+
+# Syntax mappings: map a certain filename pattern to a language.
+# Example 1: use the C++ syntax for Arduino .ino files
+# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
+#--map-syntax "*.ino:C++"
+#--map-syntax ".ignore:Git Ignore"
diff --git a/config/bat/themes/Catppuccin-frappe.tmTheme b/config/bat/themes/Catppuccin-frappe.tmTheme
new file mode 100644
index 0000000..f4eb222
--- /dev/null
+++ b/config/bat/themes/Catppuccin-frappe.tmTheme
@@ -0,0 +1,959 @@
+
+
+
+
+ name
+ Catppuccin
+ settings
+
+
+ settings
+
+ foreground
+ #c6d0f5
+ background
+ #303446
+ caret
+ #b5bfe2
+ invisibles
+ #a5adce
+ gutterForeground
+ #949cbb
+ gutterForegroundHighlight
+ #a6d189
+ lineHighlight
+ #626880
+ selection
+ #737994
+ selectionBorder
+ #303446
+ activeGuide
+ #ef9f76
+ findHighlightForeground
+ #292c3c
+ findHighlight
+ #e5c890
+ bracketsForeground
+ #949cbb
+ bracketContentsForeground
+ #949cbb
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #737994
+ fontStyle
+ italic
+
+
+
+ name
+ String
+ scope
+ string
+ settings
+
+ foreground
+ #a6d189
+ fontStyle
+
+
+
+
+ name
+ String regex
+ scope
+ string.regexp
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+
+
+
+
+ name
+ Number
+ scope
+ constant.numeric
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+
+
+
+
+ name
+ Boolean
+ scope
+ constant.language.boolean
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+ bold italic
+
+
+
+ name
+ Built-in constant
+ scope
+ constant.language
+ settings
+
+ foreground
+ #babbf1
+ fontStyle
+ italic
+
+
+
+ name
+ Built-in function
+ scope
+ support.function.builtin
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+ italic
+
+
+
+ name
+ User-defined constant
+ scope
+ variable.other.constant
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+
+
+
+
+ name
+ Variable
+ scope
+ variable
+ settings
+
+
+
+ name
+ Keyword
+ scope
+ keyword
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+ italic
+
+
+
+ name
+ Conditional/loop
+ scope
+ keyword.control.loop, keyword.control.conditional, keyword.control.c++
+ settings
+
+ foreground
+ #ca9ee6
+ fontStyle
+ bold
+
+
+
+ name
+ Return
+ scope
+ keyword.control.return, keyword.control.flow.return
+ settings
+
+ foreground
+ #f4b8e4
+ fontStyle
+ bold
+
+
+
+ name
+ Exception
+ scope
+ support.type.exception
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+ italic
+
+
+
+ name
+ Operator
+ scope
+ keyword.operator, punctuation.accessor
+ settings
+
+ foreground
+ #99d1db
+ fontStyle
+ bold
+
+
+
+ name
+ Punctuation separator
+ scope
+ punctuation.separator
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ Punctuation terminator
+ scope
+ punctuation.terminator
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ Punctuation bracket
+ scope
+ punctuation.section
+ settings
+
+ foreground
+ #949cbb
+ fontStyle
+
+
+
+
+ name
+ Include
+ scope
+ keyword.control.import.include
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+ italic
+
+
+
+ name
+ Storage
+ scope
+ storage
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Storage type
+ scope
+ storage.type
+ settings
+
+ foreground
+ #e5c890
+ fontStyle
+ italic
+
+
+
+ name
+ Storage modifier
+ scope
+ storage.modifier
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Storage type namespace
+ scope
+ entity.name.namespace, meta.path
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+ italic
+
+
+
+ name
+ Storage type class
+ scope
+ storage.type.class
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+ italic
+
+
+
+ name
+ Label
+ scope
+ entity.name.label
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+
+
+
+
+ name
+ Keyword class
+ scope
+ keyword.declaration.class
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+ italic
+
+
+
+ name
+ Class name
+ scope
+ entity.name.class, meta.toc-list.full-identifier
+ settings
+
+ foreground
+ #99d1db
+ fontStyle
+
+
+
+
+ name
+ Inherited class
+ scope
+ entity.other.inherited-class
+ settings
+
+ foreground
+ #99d1db
+ fontStyle
+ italic
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function, variable.function
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+ italic
+
+
+
+ name
+ Function macro
+ scope
+ entity.name.function.preprocessor
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Macro directive - ifdef
+ scope
+ keyword.control.import
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Constructor
+ scope
+ entity.name.function.constructor, entity.name.function.destructor
+ settings
+
+ foreground
+ #babbf1
+ fontStyle
+
+
+
+
+ name
+ Function argument
+ scope
+ variable.parameter.function
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+ italic
+
+
+
+ name
+ Function declaration
+ scope
+ keyword.declaration.function
+ settings
+
+ foreground
+ #ea999c
+ fontStyle
+ italic
+
+
+
+ name
+ Library function
+ scope
+ support.function
+ settings
+
+ foreground
+ #99d1db
+ fontStyle
+
+
+
+
+ name
+ Library constant
+ scope
+ support.constant
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+
+
+
+
+ name
+ Library class/type
+ scope
+ support.type, support.class
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+ italic
+
+
+
+ name
+ Library variable
+ scope
+ support.other.variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Variable function
+ scope
+ variable.function
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+ italic
+
+
+
+ name
+ Variable parameter
+ scope
+ variable.parameter
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+ italic
+
+
+
+ name
+ Variable other
+ scope
+ variable.other
+ settings
+
+ foreground
+ #c6d0f5
+ fontStyle
+ italic
+
+
+
+ name
+ Variable field
+ scope
+ variable.other.member
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+
+
+
+
+ name
+ Variable language
+ scope
+ variable.language
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ Tag name
+ scope
+ entity.name.tag
+ settings
+
+ foreground
+ #ef9f76
+ fontStyle
+
+
+
+
+ name
+ Tag attribute
+ scope
+ entity.other.attribute-name
+ settings
+
+ foreground
+ #ca9ee6
+ fontStyle
+ italic
+
+
+
+ name
+ Tag delimiter
+ scope
+ punctuation.definition.tag
+ settings
+
+ foreground
+ #ea999c
+ fontStyle
+
+
+
+
+ name
+ Markdown URL
+ scope
+ markup.underline.link.markdown
+ settings
+
+ foreground
+ #f2d5cf
+ fontStyle
+ italic underline
+
+
+
+ name
+ Markdown reference
+ scope
+ meta.link.inline.description
+ settings
+
+ foreground
+ #babbf1
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown literal
+ scope
+ comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown title
+ scope
+ punctuation.definition.heading, entity.name.section
+ settings
+
+ foreground
+ #8caaee
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown emphasis
+ scope
+ markup.italic
+ settings
+
+ foreground
+ #ea999c
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown strong
+ scope
+ markup.bold
+ settings
+
+ foreground
+ #ea999c
+ fontStyle
+ bold
+
+
+
+ name
+ Escape
+ scope
+ constant.character.escape
+ settings
+
+ foreground
+ #f4b8e4
+ fontStyle
+
+
+
+
+ name
+ Bash built-in function
+ scope
+ source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell
+ settings
+
+ foreground
+ #f4b8e4
+ fontStyle
+
+
+
+
+ name
+ Bash parameter
+ scope
+ variable.language.shell
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+ italic
+
+
+
+ name
+ Lua field
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #babbf1
+ fontStyle
+ italic
+
+
+
+ name
+ Lua constructor
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #eebebe
+ fontStyle
+
+
+
+
+ name
+ Java constant
+ scope
+ entity.name.constant.java
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ CSS property
+ scope
+ support.type.property-name.css
+ settings
+
+ foreground
+ #eebebe
+ fontStyle
+ italic
+
+
+
+ name
+ CSS constant
+ scope
+ support.constant.property-value.css
+ settings
+
+ foreground
+ #c6d0f5
+ fontStyle
+
+
+
+
+ name
+ CSS suffix
+ scope
+ constant.numeric.suffix.css, keyword.other.unit.css
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+ italic
+
+
+
+ name
+ CSS variable property
+ scope
+ variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ SCSS tag
+ scope
+ entity.name.tag.css
+ settings
+
+ foreground
+ #babbf1
+ fontStyle
+
+
+
+
+ name
+ SASS variable
+ scope
+ variable.other.sass
+ settings
+
+ foreground
+ #81c8be
+ fontStyle
+
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ foreground
+ #c6d0f5
+ background
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Invalid deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ foreground
+ #c6d0f5
+ background
+ #ca9ee6
+ fontStyle
+
+
+
+
+ name
+ Diff header
+ scope
+ meta.diff, meta.diff.header
+ settings
+
+ foreground
+ #737994
+ fontStyle
+
+
+
+
+ name
+ Diff deleted
+ scope
+ markup.deleted
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ name
+ Diff inserted
+ scope
+ markup.inserted
+ settings
+
+ foreground
+ #a6d189
+ fontStyle
+
+
+
+
+ name
+ Diff changed
+ scope
+ markup.changed
+ settings
+
+ foreground
+ #e5c890
+ fontStyle
+
+
+
+
+ name
+ Message error
+ scope
+ message.error
+ settings
+
+ foreground
+ #e78284
+ fontStyle
+
+
+
+
+ uuid
+ 4d0379b5-ef82-467b-b8b8-365889420646
+ colorSpaceName
+ sRGB
+ semanticClass
+ theme.dark.Catppuccin
+ author
+ BrunDerSchwarzmagier
+
+
diff --git a/config/bat/themes/Catppuccin-latte.tmTheme b/config/bat/themes/Catppuccin-latte.tmTheme
new file mode 100644
index 0000000..6f23c16
--- /dev/null
+++ b/config/bat/themes/Catppuccin-latte.tmTheme
@@ -0,0 +1,959 @@
+
+
+
+
+ name
+ Catppuccin
+ settings
+
+
+ settings
+
+ foreground
+ #4c4f69
+ background
+ #eff1f5
+ caret
+ #5c5f77
+ invisibles
+ #6c6f85
+ gutterForeground
+ #7c7f93
+ gutterForegroundHighlight
+ #40a02b
+ lineHighlight
+ #acb0be
+ selection
+ #9ca0b0
+ selectionBorder
+ #eff1f5
+ activeGuide
+ #fe640b
+ findHighlightForeground
+ #e6e9ef
+ findHighlight
+ #df8e1d
+ bracketsForeground
+ #7c7f93
+ bracketContentsForeground
+ #7c7f93
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #9ca0b0
+ fontStyle
+ italic
+
+
+
+ name
+ String
+ scope
+ string
+ settings
+
+ foreground
+ #40a02b
+ fontStyle
+
+
+
+
+ name
+ String regex
+ scope
+ string.regexp
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+
+
+
+
+ name
+ Number
+ scope
+ constant.numeric
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+
+
+
+
+ name
+ Boolean
+ scope
+ constant.language.boolean
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+ bold italic
+
+
+
+ name
+ Built-in constant
+ scope
+ constant.language
+ settings
+
+ foreground
+ #7287fd
+ fontStyle
+ italic
+
+
+
+ name
+ Built-in function
+ scope
+ support.function.builtin
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+ italic
+
+
+
+ name
+ User-defined constant
+ scope
+ variable.other.constant
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+
+
+
+
+ name
+ Variable
+ scope
+ variable
+ settings
+
+
+
+ name
+ Keyword
+ scope
+ keyword
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+ italic
+
+
+
+ name
+ Conditional/loop
+ scope
+ keyword.control.loop, keyword.control.conditional, keyword.control.c++
+ settings
+
+ foreground
+ #8839ef
+ fontStyle
+ bold
+
+
+
+ name
+ Return
+ scope
+ keyword.control.return, keyword.control.flow.return
+ settings
+
+ foreground
+ #ea76cb
+ fontStyle
+ bold
+
+
+
+ name
+ Exception
+ scope
+ support.type.exception
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+ italic
+
+
+
+ name
+ Operator
+ scope
+ keyword.operator, punctuation.accessor
+ settings
+
+ foreground
+ #04a5e5
+ fontStyle
+ bold
+
+
+
+ name
+ Punctuation separator
+ scope
+ punctuation.separator
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ Punctuation terminator
+ scope
+ punctuation.terminator
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ Punctuation bracket
+ scope
+ punctuation.section
+ settings
+
+ foreground
+ #7c7f93
+ fontStyle
+
+
+
+
+ name
+ Include
+ scope
+ keyword.control.import.include
+ settings
+
+ foreground
+ #179299
+ fontStyle
+ italic
+
+
+
+ name
+ Storage
+ scope
+ storage
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Storage type
+ scope
+ storage.type
+ settings
+
+ foreground
+ #df8e1d
+ fontStyle
+ italic
+
+
+
+ name
+ Storage modifier
+ scope
+ storage.modifier
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Storage type namespace
+ scope
+ entity.name.namespace, meta.path
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+ italic
+
+
+
+ name
+ Storage type class
+ scope
+ storage.type.class
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+ italic
+
+
+
+ name
+ Label
+ scope
+ entity.name.label
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+
+
+
+
+ name
+ Keyword class
+ scope
+ keyword.declaration.class
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+ italic
+
+
+
+ name
+ Class name
+ scope
+ entity.name.class, meta.toc-list.full-identifier
+ settings
+
+ foreground
+ #04a5e5
+ fontStyle
+
+
+
+
+ name
+ Inherited class
+ scope
+ entity.other.inherited-class
+ settings
+
+ foreground
+ #04a5e5
+ fontStyle
+ italic
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function, variable.function
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+ italic
+
+
+
+ name
+ Function macro
+ scope
+ entity.name.function.preprocessor
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Macro directive - ifdef
+ scope
+ keyword.control.import
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Constructor
+ scope
+ entity.name.function.constructor, entity.name.function.destructor
+ settings
+
+ foreground
+ #7287fd
+ fontStyle
+
+
+
+
+ name
+ Function argument
+ scope
+ variable.parameter.function
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+ italic
+
+
+
+ name
+ Function declaration
+ scope
+ keyword.declaration.function
+ settings
+
+ foreground
+ #e64553
+ fontStyle
+ italic
+
+
+
+ name
+ Library function
+ scope
+ support.function
+ settings
+
+ foreground
+ #04a5e5
+ fontStyle
+
+
+
+
+ name
+ Library constant
+ scope
+ support.constant
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+
+
+
+
+ name
+ Library class/type
+ scope
+ support.type, support.class
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+ italic
+
+
+
+ name
+ Library variable
+ scope
+ support.other.variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Variable function
+ scope
+ variable.function
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+ italic
+
+
+
+ name
+ Variable parameter
+ scope
+ variable.parameter
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+ italic
+
+
+
+ name
+ Variable other
+ scope
+ variable.other
+ settings
+
+ foreground
+ #4c4f69
+ fontStyle
+ italic
+
+
+
+ name
+ Variable field
+ scope
+ variable.other.member
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+
+
+
+
+ name
+ Variable language
+ scope
+ variable.language
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ Tag name
+ scope
+ entity.name.tag
+ settings
+
+ foreground
+ #fe640b
+ fontStyle
+
+
+
+
+ name
+ Tag attribute
+ scope
+ entity.other.attribute-name
+ settings
+
+ foreground
+ #8839ef
+ fontStyle
+ italic
+
+
+
+ name
+ Tag delimiter
+ scope
+ punctuation.definition.tag
+ settings
+
+ foreground
+ #e64553
+ fontStyle
+
+
+
+
+ name
+ Markdown URL
+ scope
+ markup.underline.link.markdown
+ settings
+
+ foreground
+ #dc8a78
+ fontStyle
+ italic underline
+
+
+
+ name
+ Markdown reference
+ scope
+ meta.link.inline.description
+ settings
+
+ foreground
+ #7287fd
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown literal
+ scope
+ comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline
+ settings
+
+ foreground
+ #179299
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown title
+ scope
+ punctuation.definition.heading, entity.name.section
+ settings
+
+ foreground
+ #1e66f5
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown emphasis
+ scope
+ markup.italic
+ settings
+
+ foreground
+ #e64553
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown strong
+ scope
+ markup.bold
+ settings
+
+ foreground
+ #e64553
+ fontStyle
+ bold
+
+
+
+ name
+ Escape
+ scope
+ constant.character.escape
+ settings
+
+ foreground
+ #ea76cb
+ fontStyle
+
+
+
+
+ name
+ Bash built-in function
+ scope
+ source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell
+ settings
+
+ foreground
+ #ea76cb
+ fontStyle
+
+
+
+
+ name
+ Bash parameter
+ scope
+ variable.language.shell
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+ italic
+
+
+
+ name
+ Lua field
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #7287fd
+ fontStyle
+ italic
+
+
+
+ name
+ Lua constructor
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #dd7878
+ fontStyle
+
+
+
+
+ name
+ Java constant
+ scope
+ entity.name.constant.java
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ CSS property
+ scope
+ support.type.property-name.css
+ settings
+
+ foreground
+ #dd7878
+ fontStyle
+ italic
+
+
+
+ name
+ CSS constant
+ scope
+ support.constant.property-value.css
+ settings
+
+ foreground
+ #4c4f69
+ fontStyle
+
+
+
+
+ name
+ CSS suffix
+ scope
+ constant.numeric.suffix.css, keyword.other.unit.css
+ settings
+
+ foreground
+ #179299
+ fontStyle
+ italic
+
+
+
+ name
+ CSS variable property
+ scope
+ variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ SCSS tag
+ scope
+ entity.name.tag.css
+ settings
+
+ foreground
+ #7287fd
+ fontStyle
+
+
+
+
+ name
+ SASS variable
+ scope
+ variable.other.sass
+ settings
+
+ foreground
+ #179299
+ fontStyle
+
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ foreground
+ #4c4f69
+ background
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Invalid deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ foreground
+ #4c4f69
+ background
+ #8839ef
+ fontStyle
+
+
+
+
+ name
+ Diff header
+ scope
+ meta.diff, meta.diff.header
+ settings
+
+ foreground
+ #9ca0b0
+ fontStyle
+
+
+
+
+ name
+ Diff deleted
+ scope
+ markup.deleted
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ name
+ Diff inserted
+ scope
+ markup.inserted
+ settings
+
+ foreground
+ #40a02b
+ fontStyle
+
+
+
+
+ name
+ Diff changed
+ scope
+ markup.changed
+ settings
+
+ foreground
+ #df8e1d
+ fontStyle
+
+
+
+
+ name
+ Message error
+ scope
+ message.error
+ settings
+
+ foreground
+ #d20f39
+ fontStyle
+
+
+
+
+ uuid
+ 4d0379b5-ef82-467b-b8b8-365889420646
+ colorSpaceName
+ sRGB
+ semanticClass
+ theme.dark.Catppuccin
+ author
+ BrunDerSchwarzmagier
+
+
diff --git a/config/bat/themes/Catppuccin-macchiato.tmTheme b/config/bat/themes/Catppuccin-macchiato.tmTheme
new file mode 100644
index 0000000..0beedb6
--- /dev/null
+++ b/config/bat/themes/Catppuccin-macchiato.tmTheme
@@ -0,0 +1,959 @@
+
+
+
+
+ name
+ Catppuccin
+ settings
+
+
+ settings
+
+ foreground
+ #cad3f5
+ background
+ #24273a
+ caret
+ #b8c0e0
+ invisibles
+ #a5adcb
+ gutterForeground
+ #939ab7
+ gutterForegroundHighlight
+ #a6da95
+ lineHighlight
+ #5b6078
+ selection
+ #6e738d
+ selectionBorder
+ #24273a
+ activeGuide
+ #f5a97f
+ findHighlightForeground
+ #1e2030
+ findHighlight
+ #eed49f
+ bracketsForeground
+ #939ab7
+ bracketContentsForeground
+ #939ab7
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #6e738d
+ fontStyle
+ italic
+
+
+
+ name
+ String
+ scope
+ string
+ settings
+
+ foreground
+ #a6da95
+ fontStyle
+
+
+
+
+ name
+ String regex
+ scope
+ string.regexp
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+
+
+
+
+ name
+ Number
+ scope
+ constant.numeric
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+
+
+
+
+ name
+ Boolean
+ scope
+ constant.language.boolean
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+ bold italic
+
+
+
+ name
+ Built-in constant
+ scope
+ constant.language
+ settings
+
+ foreground
+ #b7bdf8
+ fontStyle
+ italic
+
+
+
+ name
+ Built-in function
+ scope
+ support.function.builtin
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+ italic
+
+
+
+ name
+ User-defined constant
+ scope
+ variable.other.constant
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+
+
+
+
+ name
+ Variable
+ scope
+ variable
+ settings
+
+
+
+ name
+ Keyword
+ scope
+ keyword
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+ italic
+
+
+
+ name
+ Conditional/loop
+ scope
+ keyword.control.loop, keyword.control.conditional, keyword.control.c++
+ settings
+
+ foreground
+ #c6a0f6
+ fontStyle
+ bold
+
+
+
+ name
+ Return
+ scope
+ keyword.control.return, keyword.control.flow.return
+ settings
+
+ foreground
+ #f5bde6
+ fontStyle
+ bold
+
+
+
+ name
+ Exception
+ scope
+ support.type.exception
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+ italic
+
+
+
+ name
+ Operator
+ scope
+ keyword.operator, punctuation.accessor
+ settings
+
+ foreground
+ #91d7e3
+ fontStyle
+ bold
+
+
+
+ name
+ Punctuation separator
+ scope
+ punctuation.separator
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ Punctuation terminator
+ scope
+ punctuation.terminator
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ Punctuation bracket
+ scope
+ punctuation.section
+ settings
+
+ foreground
+ #939ab7
+ fontStyle
+
+
+
+
+ name
+ Include
+ scope
+ keyword.control.import.include
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+ italic
+
+
+
+ name
+ Storage
+ scope
+ storage
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Storage type
+ scope
+ storage.type
+ settings
+
+ foreground
+ #eed49f
+ fontStyle
+ italic
+
+
+
+ name
+ Storage modifier
+ scope
+ storage.modifier
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Storage type namespace
+ scope
+ entity.name.namespace, meta.path
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+ italic
+
+
+
+ name
+ Storage type class
+ scope
+ storage.type.class
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+ italic
+
+
+
+ name
+ Label
+ scope
+ entity.name.label
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+
+
+
+
+ name
+ Keyword class
+ scope
+ keyword.declaration.class
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+ italic
+
+
+
+ name
+ Class name
+ scope
+ entity.name.class, meta.toc-list.full-identifier
+ settings
+
+ foreground
+ #91d7e3
+ fontStyle
+
+
+
+
+ name
+ Inherited class
+ scope
+ entity.other.inherited-class
+ settings
+
+ foreground
+ #91d7e3
+ fontStyle
+ italic
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function, variable.function
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+ italic
+
+
+
+ name
+ Function macro
+ scope
+ entity.name.function.preprocessor
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Macro directive - ifdef
+ scope
+ keyword.control.import
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Constructor
+ scope
+ entity.name.function.constructor, entity.name.function.destructor
+ settings
+
+ foreground
+ #b7bdf8
+ fontStyle
+
+
+
+
+ name
+ Function argument
+ scope
+ variable.parameter.function
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+ italic
+
+
+
+ name
+ Function declaration
+ scope
+ keyword.declaration.function
+ settings
+
+ foreground
+ #ee99a0
+ fontStyle
+ italic
+
+
+
+ name
+ Library function
+ scope
+ support.function
+ settings
+
+ foreground
+ #91d7e3
+ fontStyle
+
+
+
+
+ name
+ Library constant
+ scope
+ support.constant
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+
+
+
+
+ name
+ Library class/type
+ scope
+ support.type, support.class
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+ italic
+
+
+
+ name
+ Library variable
+ scope
+ support.other.variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Variable function
+ scope
+ variable.function
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+ italic
+
+
+
+ name
+ Variable parameter
+ scope
+ variable.parameter
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+ italic
+
+
+
+ name
+ Variable other
+ scope
+ variable.other
+ settings
+
+ foreground
+ #cad3f5
+ fontStyle
+ italic
+
+
+
+ name
+ Variable field
+ scope
+ variable.other.member
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+
+
+
+
+ name
+ Variable language
+ scope
+ variable.language
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ Tag name
+ scope
+ entity.name.tag
+ settings
+
+ foreground
+ #f5a97f
+ fontStyle
+
+
+
+
+ name
+ Tag attribute
+ scope
+ entity.other.attribute-name
+ settings
+
+ foreground
+ #c6a0f6
+ fontStyle
+ italic
+
+
+
+ name
+ Tag delimiter
+ scope
+ punctuation.definition.tag
+ settings
+
+ foreground
+ #ee99a0
+ fontStyle
+
+
+
+
+ name
+ Markdown URL
+ scope
+ markup.underline.link.markdown
+ settings
+
+ foreground
+ #f4dbd6
+ fontStyle
+ italic underline
+
+
+
+ name
+ Markdown reference
+ scope
+ meta.link.inline.description
+ settings
+
+ foreground
+ #b7bdf8
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown literal
+ scope
+ comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown title
+ scope
+ punctuation.definition.heading, entity.name.section
+ settings
+
+ foreground
+ #8aadf4
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown emphasis
+ scope
+ markup.italic
+ settings
+
+ foreground
+ #ee99a0
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown strong
+ scope
+ markup.bold
+ settings
+
+ foreground
+ #ee99a0
+ fontStyle
+ bold
+
+
+
+ name
+ Escape
+ scope
+ constant.character.escape
+ settings
+
+ foreground
+ #f5bde6
+ fontStyle
+
+
+
+
+ name
+ Bash built-in function
+ scope
+ source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell
+ settings
+
+ foreground
+ #f5bde6
+ fontStyle
+
+
+
+
+ name
+ Bash parameter
+ scope
+ variable.language.shell
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+ italic
+
+
+
+ name
+ Lua field
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #b7bdf8
+ fontStyle
+ italic
+
+
+
+ name
+ Lua constructor
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #f0c6c6
+ fontStyle
+
+
+
+
+ name
+ Java constant
+ scope
+ entity.name.constant.java
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ CSS property
+ scope
+ support.type.property-name.css
+ settings
+
+ foreground
+ #f0c6c6
+ fontStyle
+ italic
+
+
+
+ name
+ CSS constant
+ scope
+ support.constant.property-value.css
+ settings
+
+ foreground
+ #cad3f5
+ fontStyle
+
+
+
+
+ name
+ CSS suffix
+ scope
+ constant.numeric.suffix.css, keyword.other.unit.css
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+ italic
+
+
+
+ name
+ CSS variable property
+ scope
+ variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ SCSS tag
+ scope
+ entity.name.tag.css
+ settings
+
+ foreground
+ #b7bdf8
+ fontStyle
+
+
+
+
+ name
+ SASS variable
+ scope
+ variable.other.sass
+ settings
+
+ foreground
+ #8bd5ca
+ fontStyle
+
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ foreground
+ #cad3f5
+ background
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Invalid deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ foreground
+ #cad3f5
+ background
+ #c6a0f6
+ fontStyle
+
+
+
+
+ name
+ Diff header
+ scope
+ meta.diff, meta.diff.header
+ settings
+
+ foreground
+ #6e738d
+ fontStyle
+
+
+
+
+ name
+ Diff deleted
+ scope
+ markup.deleted
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ name
+ Diff inserted
+ scope
+ markup.inserted
+ settings
+
+ foreground
+ #a6da95
+ fontStyle
+
+
+
+
+ name
+ Diff changed
+ scope
+ markup.changed
+ settings
+
+ foreground
+ #eed49f
+ fontStyle
+
+
+
+
+ name
+ Message error
+ scope
+ message.error
+ settings
+
+ foreground
+ #ed8796
+ fontStyle
+
+
+
+
+ uuid
+ 4d0379b5-ef82-467b-b8b8-365889420646
+ colorSpaceName
+ sRGB
+ semanticClass
+ theme.dark.Catppuccin
+ author
+ BrunDerSchwarzmagier
+
+
diff --git a/config/bat/themes/Catppuccin-mocha.tmTheme b/config/bat/themes/Catppuccin-mocha.tmTheme
new file mode 100644
index 0000000..3b9b72c
--- /dev/null
+++ b/config/bat/themes/Catppuccin-mocha.tmTheme
@@ -0,0 +1,959 @@
+
+
+
+
+ name
+ Catppuccin
+ settings
+
+
+ settings
+
+ foreground
+ #cdd6f4
+ background
+ #1e1e2e
+ caret
+ #bac2de
+ invisibles
+ #a6adc8
+ gutterForeground
+ #9399b2
+ gutterForegroundHighlight
+ #a6e3a1
+ lineHighlight
+ #585b70
+ selection
+ #6c7086
+ selectionBorder
+ #1e1e2e
+ activeGuide
+ #fab387
+ findHighlightForeground
+ #181825
+ findHighlight
+ #f9e2af
+ bracketsForeground
+ #9399b2
+ bracketContentsForeground
+ #9399b2
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #6c7086
+ fontStyle
+ italic
+
+
+
+ name
+ String
+ scope
+ string
+ settings
+
+ foreground
+ #a6e3a1
+ fontStyle
+
+
+
+
+ name
+ String regex
+ scope
+ string.regexp
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+
+
+
+
+ name
+ Number
+ scope
+ constant.numeric
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+
+
+
+
+ name
+ Boolean
+ scope
+ constant.language.boolean
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+ bold italic
+
+
+
+ name
+ Built-in constant
+ scope
+ constant.language
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+ italic
+
+
+
+ name
+ Built-in function
+ scope
+ support.function.builtin
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+ italic
+
+
+
+ name
+ User-defined constant
+ scope
+ variable.other.constant
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+
+
+
+
+ name
+ Variable
+ scope
+ variable
+ settings
+
+
+
+ name
+ Keyword
+ scope
+ keyword
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ italic
+
+
+
+ name
+ Conditional/loop
+ scope
+ keyword.control.loop, keyword.control.conditional, keyword.control.c++
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+ bold
+
+
+
+ name
+ Return
+ scope
+ keyword.control.return, keyword.control.flow.return
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+ bold
+
+
+
+ name
+ Exception
+ scope
+ support.type.exception
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+ italic
+
+
+
+ name
+ Operator
+ scope
+ keyword.operator, punctuation.accessor
+ settings
+
+ foreground
+ #89dceb
+ fontStyle
+ bold
+
+
+
+ name
+ Punctuation separator
+ scope
+ punctuation.separator
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ Punctuation terminator
+ scope
+ punctuation.terminator
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ Punctuation bracket
+ scope
+ punctuation.section
+ settings
+
+ foreground
+ #9399b2
+ fontStyle
+
+
+
+
+ name
+ Include
+ scope
+ keyword.control.import.include
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+ italic
+
+
+
+ name
+ Storage
+ scope
+ storage
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Storage type
+ scope
+ storage.type
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Storage modifier
+ scope
+ storage.modifier
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Storage type namespace
+ scope
+ entity.name.namespace, meta.path
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+ italic
+
+
+
+ name
+ Storage type class
+ scope
+ storage.type.class
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+ italic
+
+
+
+ name
+ Label
+ scope
+ entity.name.label
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+
+
+
+
+ name
+ Keyword class
+ scope
+ keyword.declaration.class
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ italic
+
+
+
+ name
+ Class name
+ scope
+ entity.name.class, meta.toc-list.full-identifier
+ settings
+
+ foreground
+ #89dceb
+ fontStyle
+
+
+
+
+ name
+ Inherited class
+ scope
+ entity.other.inherited-class
+ settings
+
+ foreground
+ #89dceb
+ fontStyle
+ italic
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function, variable.function
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Function macro
+ scope
+ entity.name.function.preprocessor
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Macro directive - ifdef
+ scope
+ keyword.control.import
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Constructor
+ scope
+ entity.name.function.constructor, entity.name.function.destructor
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+
+
+
+
+ name
+ Function argument
+ scope
+ variable.parameter.function
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+ italic
+
+
+
+ name
+ Function declaration
+ scope
+ keyword.declaration.function
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+ italic
+
+
+
+ name
+ Library function
+ scope
+ support.function
+ settings
+
+ foreground
+ #89dceb
+ fontStyle
+
+
+
+
+ name
+ Library constant
+ scope
+ support.constant
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+
+
+
+
+ name
+ Library class/type
+ scope
+ support.type, support.class
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Library variable
+ scope
+ support.other.variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Variable function
+ scope
+ variable.function
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Variable parameter
+ scope
+ variable.parameter
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+ italic
+
+
+
+ name
+ Variable other
+ scope
+ variable.other
+ settings
+
+ foreground
+ #cdd6f4
+ fontStyle
+ italic
+
+
+
+ name
+ Variable field
+ scope
+ variable.other.member
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+
+
+
+
+ name
+ Variable language
+ scope
+ variable.language
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ Tag name
+ scope
+ entity.name.tag
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+
+
+
+
+ name
+ Tag attribute
+ scope
+ entity.other.attribute-name
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+ italic
+
+
+
+ name
+ Tag delimiter
+ scope
+ punctuation.definition.tag
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+
+
+
+
+ name
+ Markdown URL
+ scope
+ markup.underline.link.markdown
+ settings
+
+ foreground
+ #f5e0dc
+ fontStyle
+ italic underline
+
+
+
+ name
+ Markdown reference
+ scope
+ meta.link.inline.description
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown literal
+ scope
+ comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown title
+ scope
+ punctuation.definition.heading, entity.name.section
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ bold
+
+
+
+ name
+ Markdown emphasis
+ scope
+ markup.italic
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+ italic
+
+
+
+ name
+ Markdown strong
+ scope
+ markup.bold
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+ bold
+
+
+
+ name
+ Escape
+ scope
+ constant.character.escape
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+
+
+
+
+ name
+ Bash built-in function
+ scope
+ source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+
+
+
+
+ name
+ Bash parameter
+ scope
+ variable.language.shell
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ italic
+
+
+
+ name
+ Lua field
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+ italic
+
+
+
+ name
+ Lua constructor
+ scope
+ source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua
+ settings
+
+ foreground
+ #f2cdcd
+ fontStyle
+
+
+
+
+ name
+ Java constant
+ scope
+ entity.name.constant.java
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ CSS property
+ scope
+ support.type.property-name.css
+ settings
+
+ foreground
+ #f2cdcd
+ fontStyle
+ italic
+
+
+
+ name
+ CSS constant
+ scope
+ support.constant.property-value.css
+ settings
+
+ foreground
+ #cdd6f4
+ fontStyle
+
+
+
+
+ name
+ CSS suffix
+ scope
+ constant.numeric.suffix.css, keyword.other.unit.css
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+ italic
+
+
+
+ name
+ CSS variable property
+ scope
+ variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ SCSS tag
+ scope
+ entity.name.tag.css
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+
+
+
+
+ name
+ SASS variable
+ scope
+ variable.other.sass
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ foreground
+ #cdd6f4
+ background
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Invalid deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ foreground
+ #cdd6f4
+ background
+ #cba6f7
+ fontStyle
+
+
+
+
+ name
+ Diff header
+ scope
+ meta.diff, meta.diff.header
+ settings
+
+ foreground
+ #6c7086
+ fontStyle
+
+
+
+
+ name
+ Diff deleted
+ scope
+ markup.deleted
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ name
+ Diff inserted
+ scope
+ markup.inserted
+ settings
+
+ foreground
+ #a6e3a1
+ fontStyle
+
+
+
+
+ name
+ Diff changed
+ scope
+ markup.changed
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+
+
+
+
+ name
+ Message error
+ scope
+ message.error
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+
+
+
+
+ uuid
+ 4d0379b5-ef82-467b-b8b8-365889420646
+ colorSpaceName
+ sRGB
+ semanticClass
+ theme.dark.Catppuccin
+ author
+ BrunDerSchwarzmagier
+
+
diff --git a/config/lf/colors b/config/lf/colors
new file mode 100644
index 0000000..b65d3f0
--- /dev/null
+++ b/config/lf/colors
@@ -0,0 +1,174 @@
+# vim:ft=dircolors
+# (This is not a dircolors file but it helps to highlight colors and comments)
+
+# default values from dircolors
+# (entries with a leading # are not implemented in lf)
+# #no 00 # NORMAL
+# fi 00 # FILE
+# #rs 0 # RESET
+# di 01;34 # DIR
+# ln 01;36 # LINK
+# #mh 00 # MULTIHARDLINK
+# pi 40;33 # FIFO
+# so 01;35 # SOCK
+# #do 01;35 # DOOR
+# bd 40;33;01 # BLK
+# cd 40;33;01 # CHR
+# or 40;31;01 # ORPHAN
+# #mi 00 # MISSING
+# su 37;41 # SETUID
+# sg 30;43 # SETGID
+# #ca 30;41 # CAPABILITY
+# tw 30;42 # STICKY_OTHER_WRITABLE
+# ow 34;42 # OTHER_WRITABLE
+# st 37;44 # STICKY
+# ex 01;32 # EXEC
+
+# default values from lf (with matching order)
+# ln 01;36 # LINK
+# or 31;01 # ORPHAN
+# tw 01;34 # STICKY_OTHER_WRITABLE
+# ow 01;34 # OTHER_WRITABLE
+# st 01;34 # STICKY
+# di 01;34 # DIR
+# pi 33 # FIFO
+# so 01;35 # SOCK
+# bd 33;01 # BLK
+# cd 33;01 # CHR
+# su 01;32 # SETUID
+# sg 01;32 # SETGID
+# ex 01;32 # EXEC
+# fi 00 # FILE
+
+# file types (with matching order)
+ln 01;36 # LINK
+or 31;01 # ORPHAN
+tw 34 # STICKY_OTHER_WRITABLE
+ow 34 # OTHER_WRITABLE
+st 01;34 # STICKY
+di 01;34 # DIR
+pi 33 # FIFO
+so 01;35 # SOCK
+bd 33;01 # BLK
+cd 33;01 # CHR
+su 01;32 # SETUID
+sg 01;32 # SETGID
+ex 01;32 # EXEC
+fi 00 # FILE
+
+# archives or compressed (dircolors defaults)
+*.tar 01;31
+*.tgz 01;31
+*.arc 01;31
+*.arj 01;31
+*.taz 01;31
+*.lha 01;31
+*.lz4 01;31
+*.lzh 01;31
+*.lzma 01;31
+*.tlz 01;31
+*.txz 01;31
+*.tzo 01;31
+*.t7z 01;31
+*.zip 01;31
+*.z 01;31
+*.dz 01;31
+*.gz 01;31
+*.lrz 01;31
+*.lz 01;31
+*.lzo 01;31
+*.xz 01;31
+*.zst 01;31
+*.tzst 01;31
+*.bz2 01;31
+*.bz 01;31
+*.tbz 01;31
+*.tbz2 01;31
+*.tz 01;31
+*.deb 01;31
+*.rpm 01;31
+*.jar 01;31
+*.war 01;31
+*.ear 01;31
+*.sar 01;31
+*.rar 01;31
+*.alz 01;31
+*.ace 01;31
+*.zoo 01;31
+*.cpio 01;31
+*.7z 01;31
+*.rz 01;31
+*.cab 01;31
+*.wim 01;31
+*.swm 01;31
+*.dwm 01;31
+*.esd 01;31
+
+# image formats (dircolors defaults)
+*.jpg 01;35
+*.jpeg 01;35
+*.mjpg 01;35
+*.mjpeg 01;35
+*.gif 01;35
+*.bmp 01;35
+*.pbm 01;35
+*.pgm 01;35
+*.ppm 01;35
+*.tga 01;35
+*.xbm 01;35
+*.xpm 01;35
+*.tif 01;35
+*.tiff 01;35
+*.png 01;35
+*.svg 01;35
+*.svgz 01;35
+*.mng 01;35
+*.pcx 01;35
+*.mov 01;35
+*.mpg 01;35
+*.mpeg 01;35
+*.m2v 01;35
+*.mkv 01;35
+*.webm 01;35
+*.ogm 01;35
+*.mp4 01;35
+*.m4v 01;35
+*.mp4v 01;35
+*.vob 01;35
+*.qt 01;35
+*.nuv 01;35
+*.wmv 01;35
+*.asf 01;35
+*.rm 01;35
+*.rmvb 01;35
+*.flc 01;35
+*.avi 01;35
+*.fli 01;35
+*.flv 01;35
+*.gl 01;35
+*.dl 01;35
+*.xcf 01;35
+*.xwd 01;35
+*.yuv 01;35
+*.cgm 01;35
+*.emf 01;35
+*.ogv 01;35
+*.ogx 01;35
+
+# audio formats (dircolors defaults)
+*.aac 00;36
+*.au 00;36
+*.flac 00;36
+*.m4a 00;36
+*.mid 00;36
+*.midi 00;36
+*.mka 00;36
+*.mp3 00;36
+*.mpc 00;36
+*.ogg 00;36
+*.ra 00;36
+*.wav 00;36
+*.oga 00;36
+*.opus 00;36
+*.spx 00;36
+*.xspf 00;36
diff --git a/config/lf/icons b/config/lf/icons
new file mode 100644
index 0000000..8039c93
--- /dev/null
+++ b/config/lf/icons
@@ -0,0 +1,357 @@
+# vim:ft=conf
+
+# These examples require Nerd Fonts or a compatible font to be used.
+# See https://www.nerdfonts.com for more information.
+
+# default values from lf (with matching order)
+# ln l # LINK
+# or l # ORPHAN
+# tw t # STICKY_OTHER_WRITABLE
+# ow d # OTHER_WRITABLE
+# st t # STICKY
+# di d # DIR
+# pi p # FIFO
+# so s # SOCK
+# bd b # BLK
+# cd c # CHR
+# su u # SETUID
+# sg g # SETGID
+# ex x # EXEC
+# fi - # FILE
+
+# file types (with matching order)
+ln # LINK
+or # ORPHAN
+tw t # STICKY_OTHER_WRITABLE
+ow # OTHER_WRITABLE
+st t # STICKY
+di # DIR
+pi p # FIFO
+so s # SOCK
+bd b # BLK
+cd c # CHR
+su u # SETUID
+sg g # SETGID
+ex # EXEC
+fi # FILE
+
+# file extensions (vim-devicons)
+*.styl
+*.sass
+*.scss
+*.htm
+*.html
+*.slim
+*.haml
+*.ejs
+*.css
+*.less
+*.md
+*.mdx
+*.markdown
+*.rmd
+*.json
+*.webmanifest
+*.js
+*.mjs
+*.jsx
+*.rb
+*.gemspec
+*.rake
+*.php
+*.py
+*.pyc
+*.pyo
+*.pyd
+*.coffee
+*.mustache
+*.hbs
+*.conf
+*.ini
+*.yml
+*.yaml
+*.toml
+*.bat
+*.mk
+*.jpg
+*.jpeg
+*.bmp
+*.png
+*.webp
+*.gif
+*.ico
+*.twig
+*.cpp
+*.c++
+*.cxx
+*.cc
+*.cp
+*.c
+*.cs
+*.h
+*.hh
+*.hpp
+*.hxx
+*.hs
+*.lhs
+*.nix
+*.lua
+*.java
+*.sh
+*.fish
+*.bash
+*.zsh
+*.ksh
+*.csh
+*.awk
+*.ps1
+*.ml λ
+*.mli λ
+*.diff
+*.db
+*.sql
+*.dump
+*.clj
+*.cljc
+*.cljs
+*.edn
+*.scala
+*.go
+*.dart
+*.xul
+*.sln
+*.suo
+*.pl
+*.pm
+*.t
+*.rss
+'*.f#'
+*.fsscript
+*.fsx
+*.fs
+*.fsi
+*.rs
+*.rlib
+*.d
+*.erl
+*.hrl
+*.ex
+*.exs
+*.eex
+*.leex
+*.heex
+*.vim
+*.ai
+*.psd
+*.psb
+*.ts
+*.tsx
+*.jl
+*.pp
+*.vue
+*.elm
+*.swift
+*.xcplayground
+*.tex ﭨ
+*.r ﳒ
+*.rproj 鉶
+*.sol ﲹ
+*.pem
+
+# file names (vim-devicons) (case-insensitive not supported in lf)
+*gruntfile.coffee
+*gruntfile.js
+*gruntfile.ls
+*gulpfile.coffee
+*gulpfile.js
+*gulpfile.ls
+*mix.lock
+*dropbox
+*.ds_store
+*.gitconfig
+*.gitignore
+*.gitattributes
+*.gitlab-ci.yml
+*.bashrc
+*.zshrc
+*.zshenv
+*.zprofile
+*.vimrc
+*.gvimrc
+*_vimrc
+*_gvimrc
+*.bashprofile
+*favicon.ico
+*license
+*node_modules
+*react.jsx
+*procfile
+*dockerfile
+*docker-compose.yml
+*rakefile
+*config.ru
+*gemfile
+*makefile
+*cmakelists.txt
+*robots.txt ﮧ
+
+# file names (case-sensitive adaptations)
+*Gruntfile.coffee
+*Gruntfile.js
+*Gruntfile.ls
+*Gulpfile.coffee
+*Gulpfile.js
+*Gulpfile.ls
+*Dropbox
+*.DS_Store
+*LICENSE
+*React.jsx
+*Procfile
+*Dockerfile
+*Docker-compose.yml
+*Rakefile
+*Gemfile
+*Makefile
+*CMakeLists.txt
+
+# file patterns (vim-devicons) (patterns not supported in lf)
+# .*jquery.*\.js$
+# .*angular.*\.js$
+# .*backbone.*\.js$
+# .*require.*\.js$
+# .*materialize.*\.js$
+# .*materialize.*\.css$
+# .*mootools.*\.js$
+# .*vimrc.*
+# Vagrantfile$
+
+# file patterns (file name adaptations)
+*jquery.min.js
+*angular.min.js
+*backbone.min.js
+*require.min.js
+*materialize.min.js
+*materialize.min.css
+*mootools.min.js
+*vimrc
+Vagrantfile
+
+# archives or compressed (extensions from dircolors defaults)
+*.tar
+*.tgz
+*.arc
+*.arj
+*.taz
+*.lha
+*.lz4
+*.lzh
+*.lzma
+*.tlz
+*.txz
+*.tzo
+*.t7z
+*.zip
+*.z
+*.dz
+*.gz
+*.lrz
+*.lz
+*.lzo
+*.xz
+*.zst
+*.tzst
+*.bz2
+*.bz
+*.tbz
+*.tbz2
+*.tz
+*.deb
+*.rpm
+*.jar
+*.war
+*.ear
+*.sar
+*.rar
+*.alz
+*.ace
+*.zoo
+*.cpio
+*.7z
+*.rz
+*.cab
+*.wim
+*.swm
+*.dwm
+*.esd
+
+# image formats (extensions from dircolors defaults)
+*.jpg
+*.jpeg
+*.mjpg
+*.mjpeg
+*.gif
+*.bmp
+*.pbm
+*.pgm
+*.ppm
+*.tga
+*.xbm
+*.xpm
+*.tif
+*.tiff
+*.png
+*.svg
+*.svgz
+*.mng
+*.pcx
+*.mov
+*.mpg
+*.mpeg
+*.m2v
+*.mkv
+*.webm
+*.ogm
+*.mp4
+*.m4v
+*.mp4v
+*.vob
+*.qt
+*.nuv
+*.wmv
+*.asf
+*.rm
+*.rmvb
+*.flc
+*.avi
+*.fli
+*.flv
+*.gl
+*.dl
+*.xcf
+*.xwd
+*.yuv
+*.cgm
+*.emf
+*.ogv
+*.ogx
+
+# audio formats (extensions from dircolors defaults)
+*.aac
+*.au
+*.flac
+*.m4a
+*.mid
+*.midi
+*.mka
+*.mp3
+*.mpc
+*.ogg
+*.ra
+*.wav
+*.oga
+*.opus
+*.spx
+*.xspf
+
+# other formats
+*.pdf
diff --git a/config/lf/lfrc b/config/lf/lfrc
new file mode 100644
index 0000000..4eb0f19
--- /dev/null
+++ b/config/lf/lfrc
@@ -0,0 +1,117 @@
+# interpreter for shell commands
+set shell sh
+
+# set '-eu' options for shell commands
+# These options are used to have safer shell commands. Option '-e' is used to
+# exit on error and option '-u' is used to give error for unset variables.
+# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
+# $fx variables contain names with '*' or '?' characters. However, this option
+# is used selectively within individual commands as it can be limiting at
+# times.
+set shellopts '-eu'
+
+# set internal field separator (IFS) to "\n" for shell commands
+# This is useful to automatically split file names in $fs and $fx properly
+# since default file separator used in these variables (i.e. 'filesep' option)
+# is newline. You need to consider the values of these options and create your
+# commands accordingly.
+set ifs "\n"
+
+# leave some space at the top and the bottom of the screen
+set scrolloff 15
+
+# Previewer script
+set previewer ~/.config/lf/preview.sh
+
+# Use the `dim` attribute instead of underline for the cursor in the preview pane
+set cursorpreviewfmt "\033[7;2m"
+
+# Enable icons
+set icons
+
+# use enter for shell commands
+map shell
+
+# show the result of execution of previous commands
+map ` !true
+
+# execute current file (must be executable)
+map x $$f
+map X !$f
+
+# dedicated keys for file opener actions
+map o &mimeopen $f
+map O $mimeopen --ask $f
+
+# define a custom 'open' command
+# This command is called when current file is not a directory. You may want to
+# use either file extensions and/or mime types here. Below uses an editor for
+# text files and a file opener for the rest.
+cmd open &{{
+ case $(file --mime-type -Lb $f) in
+ text/*) lf -remote "send $id \$$EDITOR \$fx";;
+ *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
+ esac
+}}
+
+# mkdir command. See wiki if you want it to select created dir
+map a :push %mkdir -p
+
+# move current file or selected files to trash folder
+# cmd trash %trash-put $fx
+
+# move current file or selected files to trash folder, with prompt
+cmd trash ${{
+ set -f
+ clear
+ printf "$fx\n"
+ printf "move selected files to trash? [y/N]"
+ read ans
+ [ "$ans" = "y" ] && trash-put $fx || printf ""
+}}
+
+# use '' key for either 'trash' or 'delete' command
+map trash
+# map delete
+
+# extract the current file with the right command
+# (xkcd link: https://xkcd.com/1168/)
+cmd extract ${{
+ set -f
+ case $f in
+ *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
+ *.tar.gz|*.tgz) tar xzvf $f;;
+ *.tar.xz|*.txz) tar xJvf $f;;
+ *.zip) unzip $f;;
+ *.rar) unrar x $f;;
+ *.7z) 7z x $f;;
+ esac
+}}
+
+# compress current file or selected files with tar and gunzip
+cmd tar ${{
+ set -f
+ mkdir $1
+ cp -r $fx $1
+ tar czf $1.tar.gz $1
+ rm -rf $1
+}}
+
+# compress current file or selected files with zip
+cmd zip ${{
+ set -f
+ mkdir $1
+ cp -r $fx $1
+ zip -r $1.zip $1
+ rm -rf $1
+}}
+
+cmd mega-extract ${{
+ printf " Enter compresion type: "
+ read compression
+
+ printf " Enter link: "
+ read link
+
+ download-mega-extract "$compression" "$PWD" "$link"
+}}
diff --git a/config/lf/preview b/config/lf/preview
new file mode 100755
index 0000000..6140cf7
--- /dev/null
+++ b/config/lf/preview
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+image() {
+ geometry="$(($2-2))x$3"
+ chafa "$1" -f sixel -s "$geometry" --animate false | fold -w 65535
+}
+
+batorcat() {
+ file="$1"
+ shift
+ if command -v bat > /dev/null 2>&1
+ then
+ bat --color=always --style=plain --pager=never "$file" "$@"
+ else
+ cat "$file"
+ fi
+}
+
+glowormdcat() {
+ file="$1"
+ shift
+ if command -v glow > /dev/null 2>&1
+ then
+ glow "$file"
+ else
+ mdcat "$file"
+ fi
+}
+
+CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))"
+
+case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in
+ *.tgz|*.tar.gz) tar tzf "$1" ;;
+ *.tar.bz2|*.tbz2) tar tjf "$1" ;;
+ *.tar.txz|*.txz) xz --list "$1" ;;
+ *.tar) tar tf "$1" ;;
+ *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;;
+ *.rar) unrar l "$1" ;;
+ *.md)
+ glowormdcat "$1";;
+ *.7z) 7z l "$1" ;;
+ *.[1-8]) man "$1" | col -b ;;
+ *.o) nm "$1";;
+ *.torrent) transmission-show "$1" ;;
+ *.iso) iso-info --no-header -l "$1" ;;
+ *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;;
+ *.doc) catdoc "$1" ;;
+ *.docx) docx2txt "$1" ;;
+ *.xml|*.html) w3m -dump "$1";;
+ *.xls|*.xlsx)
+ ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batorcat --language=csv
+ ;;
+ *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka)
+ exiftool "$1"
+ ;;
+ *.pdf)
+ [ ! -f "${CACHE}.jpg" ] && \
+ pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE"
+ image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
+ ;;
+ *.epub)
+ [ ! -f "$CACHE" ] && \
+ epub-thumbnailer "$1" "$CACHE" 1024
+ image "$CACHE" "$2" "$3" "$4" "$5"
+ ;;
+ *.cbz|*.cbr|*.cbt)
+ [ ! -f "$CACHE" ] && \
+ comicthumb "$1" "$CACHE" 1024
+ image "$CACHE" "$2" "$3" "$4" "$5"
+ ;;
+ *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx)
+ [ ! -f "${CACHE}.jpg" ] && \
+ ffmpegthumbnailer -i "$1" -o "${CACHE}.jpg" -s 0 -q 5
+ image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
+ ;;
+ *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.tiff|*.gif|*.jfif|*.ico)
+ image "$1" "$2" "$3" "$4" "$5"
+ ;;
+ *.svg)
+ [ ! -f "${CACHE}.jpg" ] && \
+ convert "$1" "${CACHE}.jpg"
+ image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
+ ;;
+ *.ino)
+ batorcat --language=cpp "$1"
+ ;;
+ *)
+ batorcat "$1"
+ ;;
+esac
+exit 0
diff --git a/config/lf/preview.sh b/config/lf/preview.sh
new file mode 100755
index 0000000..d591c6d
--- /dev/null
+++ b/config/lf/preview.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Five arguments are passed to the file:
+# (1) current file name
+# (2) width
+# (3) height
+# (4) horizontal position
+# (5) vertical position of preview pane
+
+case "$1" in
+jpg | jpeg | png) vimiv "$1" ;;
+*.tar*) tar tf "$1" ;;
+*.zip) unzip -l "$1" ;;
+*.rar) unrar l "$1" ;;
+*.7z) 7z l "$1" ;;
+*.pdf) pdftotext "$1" - ;;
+*) bat --force-colorization --line-range ":$3" --pager never --terminal-width "$2" "$1" ;;
+esac