Added .gitconfig

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
clean_emacs
Tuan-Dat Tran 2024-03-15 16:02:52 +01:00
parent 34cda631d2
commit 6c023972ef
57 changed files with 58 additions and 13099 deletions

View File

@ -1,12 +1,11 @@
# .dotfiles
These are my personal dotfiles.
Main tools I am currently using are:
- i3-gaps
- nushell (although its not stable yet)
- (doom)emacs
- zellij
- alacritty
# Install dependencies
```bash
paru -S syncthing feh bottom zellij eza bat maim vlc python-pillow i3lock-color \
vlc fd ripgrep unzip npm bacon simple-scan dunst picom \
adobe-source-han-sans-jp-fonts obs-studio git zsh wget lightdm \
lightdm-webkit2-greeter xorg-server i3-gaps xorg-xbacklight xorg-xrandr \
alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth playerctl \
pavucontrol btrfs-progs udiskie blueman acpi acpid tlp conky stow openssh \
firefox veracrypt keepassxc ranger rofi chromium delta-git
```

View File

@ -1,49 +0,0 @@
* .dotfiles
These are the personal dotfiles for my laptop.
Main tools I am currently using are (may be out of date):
- alacritty
- emacs (Doom Emacs)
- vim
- nu
- starship
- picom
- i3wm
- zellij
- synthing (as my home directory)
#+CAPTION: Neofetch
#+ATTR_HTML: :width 960px
[[./resources/23-04-10_10-30-18-alacritty.png]]
** Getting started
*** Font setup
Since we're using a powerline font we need to install them first.
#+begin_src shell
git clone https://github.com/powerline/fonts.git --depth=1
./fonts/install.sh
rm -rf fonts/
#+end_src
*** Installing the dotfiles
To deploy the .dotfiles we use the tool stow.
#+begin_src shell
git clone https://github.com/TuDatTr/dotfiles .dotfiles && cd .dotfiles
stow emacs
stow zsh
stow config
#+end_src
** Author
- Tuan-Dat Tran - [[https://gitlab.com/TuDatTr/][TuDatTr]]
** License
This project is licensed under the GPL-3.0 License - see LICENSE file for details.

View File

@ -1,6 +1,6 @@
! urxvt
! Fonts
urxvt*font: xft:Hack Nerd Font Mono:style=Regular:size=11:hinting=full, xft:DejaVu Sans Mono for Powerline:size=11, SourceHanSans-Regular
urxvt*font: xft:DejaVuSansM Nerd Font Mono:style=Regular:size=11:hinting=full
! Behavior
urxvt*scrollBar: false

View File

@ -1,2 +0,0 @@
set -g prefix F12
unbind-key -n C-a

View File

@ -1,15 +0,0 @@
# Status bar for tmux and screen
# Status beginning with '#' are disabled.
# Screen has two status lines, with 4 quadrants for status
screen_upper_left="color"
screen_upper_right="color whoami hostname ip_address menu"
screen_lower_left="color logo distro release #arch session"
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
# Tmux has one status line, with 2 halves for status
tmux_left=" logo #distro #release #arch #session"
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
tmux_right="#network #disk_io #custom #entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #fan_speed #cpu_temp battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap #disk #whoami #hostname ip_address #time_utc date time"

View File

@ -11,7 +11,7 @@ style = "Bold Italic"
style = "Italic"
[font.normal]
family = "DejaVu Sans Mono for Powerline"
family = "DejaVuSansM Nerd Font Mono"
style = "Regular"
[window]

View File

@ -1,149 +0,0 @@
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values.
; framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
; autosens = 1
; overshoot = 20
# Manual sensitivity in %. Autosens must be turned off for this to take effect.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100
# The number of bars (0-200). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
; bar_width = 2
; bar_spacing = 1
# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000
[input]
# Audio capturing method. Possible methods are: 'pulse', 'alsa' or 'fifo'.
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
#
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
method = pulse
; source = auto
; method = alsa
; source = hw:Loopback,1
; method = fifo
; source = /tmp/mpd.fifo
[output]
# Ouput method. Can be 'ncurses', 'noncurses' or 'raw'.
# 'noncurses' is for systems that does not suport ncurses.
# 'raw' is a 16 bit data stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
; method = ncurses
# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' averages both channels and outputs left to right lowest to highest frequencies.
; channels = stereo
# Raw output target. A fifo will be created if target does not exist.
; raw_target = /dev/stdout
# Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10
[color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires a
# terminal that can change color definitions such as Gnome-terminal or rxvt.
; background = black
; foreground = blue
# Gradient mode, only hex defined colors are supported, background must also be defined in hex
# or remain commented out. 1 = on, 0 = off. Warning: for certain terminal emulators cava will
# not able to restore color definitions on exit, simply restart your terminal to restore colors.
gradient = 1
# GMK Noel
gradient_color_1 = '#FFFFFF'
gradient_color_2 = '#EEB9C1'
gradient_color_3 = '#B3DCE1'
gradient_color_4 = '#66B9D2'
# Cool Blues
; gradient_color_1 = '#2193b0'
; gradient_color_2 = '#6dd5ed'
# Quepal
; gradient_color_1 = '#11998e'
; gradient_color_2 = '#38ef7d'
# Teal Love
; gradient_color_1 = '#11FFBD'
; gradient_color_2 = '#AAFFA9'
[smoothing]
# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
; integral = 70
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 1
; waves = 0;
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
; gravity = 100
# In bar height, bars that would have been lower that this will not be drawn.
; ignore = 0
[eq]
# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more then one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble

View File

@ -1,79 +0,0 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform int bar_width; // bar width (configurable), not used here
uniform int bar_spacing; // space bewteen bars (configurable)
uniform vec3 u_resolution; // window resolution
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color
uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
{
//create color based on fraction of this color and next color
float yr = (y - y_min) / (y_max - y_min);
return col_1 * (1.0 - yr) + col_2 * yr;
}
void main()
{
// find which bar to use based on where we are on the x axis
float x = u_resolution.x * fragCoord.x;
int bar = int(bars_count * fragCoord.x);
//calculate a bar size
float bar_size = u_resolution.x / bars_count;
//the y coordinate and bar values are the same
float y = bars[bar];
// make sure there is a thin line at bottom
if (y * u_resolution.y < 1.0)
{
y = 1.0 / u_resolution.y;
}
//draw the bar up to current height
if (y > fragCoord.y)
{
//make some space between bars basen on settings
if (x > (bar + 1) * (bar_size) - bar_spacing)
{
fragColor = vec4(bg_color,1.0);
}
else
{
if (gradient_count == 0)
{
fragColor = vec4(fg_color,1.0);
}
else
{
//find which color in the configured gradient we are at
int color = int((gradient_count - 1) * fragCoord.y);
//find where on y this and next color is supposed to be
float y_min = color / (gradient_count - 1.0);
float y_max = (color + 1.0) / (gradient_count - 1.0);
//make color
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
}
}
}
else
{
fragColor = vec4(bg_color,1.0);
}
}

View File

@ -1,34 +0,0 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform vec3 u_resolution; // window resolution, not used here
//colors, configurable in cava config file
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
uniform vec3 fg_color; // foreground color, not used here
void main()
{
// find which bar to use based on where we are on the x axis
int bar = int(bars_count * fragCoord.x);
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
float y = (bars[bar]) * bar_y;
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
bar_r = bar_r * bar_r * 2;
// set color
fragColor.r = fg_color.x * y * bar_r;
fragColor.g = fg_color.y * y * bar_r;
fragColor.b = fg_color.z * y * bar_r;
}

View File

@ -1,14 +0,0 @@
#version 330
// Input vertex data, different for all executions of this shader.
layout(location = 0) in vec3 vertexPosition_modelspace;
// Output data ; will be interpolated for each fragment.
out vec2 fragCoord;
void main()
{
gl_Position = vec4(vertexPosition_modelspace,1);
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
}

View File

@ -86,17 +86,14 @@ for_window [title="KeePassX$"] floating enable border normal
############################ Startup Applications #############################
###############################################################################
# exec --no-startup-id setxkbmap us,de; setxkbmap -option ctrl:nocaps; setxkbmap -option grp:lalt_lshift_toggle
exec --no-startup-id setxkbmap eu; setxkbmap -option ctrl:nocaps;
exec --no-startup-id picom
exec --no-startup-id udiskie
exec --no-startup-id conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc
# exec --no-startup-id synergyc -f --no-tray --debug INFO --name genesis --enable-crypto 192.168.178.38:24800
exec --no-startup-id dunst
exec --no-startup-id ~/.scripts/startup.sh
exec --no-startup-id llk
exec --no-startup-id emacs --daemon
exec --no-startup-id syncthing
exec --no-startup-id xrandr --output eDP1 --auto --left-of HDMI1 --output HDMI1 --off --output DP1 --off; feh --randomize --bg-fill /home/tuan/Pictures/Wallpaper/*
exec --no-startup-id feh --randomize --bg-fill $HOME/Pictures/Wallpaper/*
###############################################################################
@ -110,13 +107,13 @@ bindsym $mod+Shift+s exec poweroff
# start a terminal
bindsym $mod+space exec alacritty
bindsym $mod+Return exec alacritty -e nu /home/tuan/.scripts/zellij-chooser.nu
bindsym $mod+Return exec alacritty -e zellij
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
bindsym $mod+d exec --no-startup-id /home/tuan/.config/rofi/launchers/type-1/launcher.sh
bindsym $mod+d exec --no-startup-id $HOME/.config/rofi/launchers/type-1/launcher.sh
# Screen brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id ~/.scripts/screen.sh up
@ -133,9 +130,7 @@ bindsym XF86AudioPrevious exec "playerctl previous"
# Application Shortcuts
bindsym $mod+b exec firefox
bindsym $mod+p exec firefox --private-window https://mos4.de
bindsym $mod+e exec emacsclient -c
bindsym $mod+m exec thunderbird
bindsym $mod+p exec firefox --private-window https://tudattr.dev
# Whole Screen
bindsym Control+Print exec --no-startup-id ~/.scripts/screenshot.sh screen

View File

@ -1,556 +0,0 @@
# Nushell Config File
# For more information on defining custom themes, see
# https://www.nushell.sh/book/coloring_and_theming.html
# And here is the theme collection
# https://github.com/nushell/nu_scripts/tree/main/themes
let dark_theme = {
# color for nushell primitives
separator: white
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: { || if $in { 'light_cyan' } else { 'light_gray' } }
int: white
filesize: {|e|
if $e == 0b {
'white'
} else if $e < 1mb {
'cyan'
} else { 'blue' }
}
duration: white
date: { || (date now) - $in |
if $in < 1hr {
'red3b'
} else if $in < 6hr {
'orange3'
} else if $in < 1day {
'yellow3b'
} else if $in < 3day {
'chartreuse2b'
} else if $in < 1wk {
'green3b'
} else if $in < 6wk {
'darkturquoise'
} else if $in < 52wk {
'deepskyblue3b'
} else { 'dark_gray' }
}
range: white
float: white
string: white
nothing: white
binary: white
cellpath: white
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
}
let light_theme = {
# color for nushell primitives
separator: dark_gray
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: { || if $in { 'dark_cyan' } else { 'dark_gray' } }
int: dark_gray
filesize: {|e|
if $e == 0b {
'dark_gray'
} else if $e < 1mb {
'cyan_bold'
} else { 'blue_bold' }
}
duration: dark_gray
date: { || (date now) - $in |
if $in < 1hr {
'red3b'
} else if $in < 6hr {
'orange3'
} else if $in < 1day {
'yellow3b'
} else if $in < 3day {
'chartreuse2b'
} else if $in < 1wk {
'green3b'
} else if $in < 6wk {
'darkturquoise'
} else if $in < 52wk {
'deepskyblue3b'
} else { 'dark_gray' }
}
range: dark_gray
float: dark_gray
string: dark_gray
nothing: dark_gray
binary: dark_gray
cellpath: dark_gray
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
}
# External completer example
# let carapace_completer = {|spans|
# carapace $spans.0 nushell $spans | from json
# }
# The default config record. This is where much of your global configuration is setup.
let-env config = {
ls: {
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
}
rm: {
always_trash: false # always act as if -t was given. Can be overridden with -p
}
cd: {
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
}
table: {
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
trim: {
methodology: wrapping # wrapping or truncating
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
}
}
explore: {
help_banner: true
exit_esc: true
command_bar_text: '#C4C9C6'
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
highlight: {bg: 'yellow' fg: 'black' }
status: {
# warn: {bg: 'yellow', fg: 'blue'}
# error: {bg: 'yellow', fg: 'blue'}
# info: {bg: 'yellow', fg: 'blue'}
}
try: {
# border_color: 'red'
# highlighted_color: 'blue'
# reactive: false
}
table: {
split_line: '#404040'
cursor: true
line_index: true
line_shift: true
line_head_top: true
line_head_bottom: true
show_head: true
show_index: true
# selected_cell: {fg: 'white', bg: '#777777'}
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
# selected_column: blue
# padding_column_right: 2
# padding_column_left: 2
# padding_index_left: 2
# padding_index_right: 1
}
config: {
cursor_color: {bg: 'yellow' fg: 'black' }
# border_color: white
# list_color: green
}
}
history: {
max_size: 10000 # Session has to be reloaded for this to take effect
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
file_format: "plaintext" # "sqlite" or "plaintext"
}
completions: {
case_sensitive: false # set to true to enable case-sensitive completions
quick: true # set this to false to prevent auto-selecting completions when only one remains
partial: true # set this to false to prevent partial filling of the prompt
algorithm: "prefix" # prefix or fuzzy
external: {
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
completer: null # check 'carapace_completer' above as an example
}
}
filesize: {
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
}
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
use_grid_icons: true
footer_mode: "25" # always, never, number_of_rows, auto
float_precision: 2 # the precision for displaying floats in tables
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
use_ansi_coloring: true
edit_mode: emacs # emacs, vi
shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue
# true or false to enable or disable the welcome banner at startup
show_banner: false
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
#hooks: {
# pre_prompt: [{ ||
# null # replace with source code to run before the prompt is shown
# }]
# pre_execution: [{ ||
# null # replace with source code to run before the repl input is run
# }]
# env_change: { ||
# PWD: [{|before, after|
# null # replace with source code to run if the PWD environment is different since the last repl input
# }]
# }
# display_output: { ||
# if (term size).columns >= 100 { table -e } else { table }
# }
#}
menus: [
# Configuration for default nushell menus
# Note the lack of source parameter
{
name: completion_menu
only_buffer_difference: false
marker: "| "
type: {
layout: columnar
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: history_menu
only_buffer_difference: true
marker: "? "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: help_menu
only_buffer_difference: true
marker: "? "
type: {
layout: description
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
# Example of extra menus created using a nushell source
# Use the source field to create a list of records that populates
# the menu
{
name: commands_menu
only_buffer_difference: false
marker: "# "
type: {
layout: columnar
columns: 4
col_width: 20
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
{
name: vars_menu
only_buffer_difference: true
marker: "# "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.vars
| where name =~ $buffer
| sort-by name
| each { |it| {value: $it.name description: $it.type} }
}
}
{
name: commands_with_description
only_buffer_difference: true
marker: "# "
type: {
layout: description
columns: 4
col_width: 20
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
]
keybindings: [
{
name: completion_menu
modifier: none
keycode: tab
mode: [emacs vi_normal vi_insert]
event: {
until: [
{ send: menu name: completion_menu }
{ send: menunext }
]
}
}
{
name: completion_previous
modifier: shift
keycode: backtab
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
event: { send: menuprevious }
}
{
name: history_menu
modifier: control
keycode: char_r
mode: emacs
event: { send: menu name: history_menu }
}
{
name: next_page
modifier: control
keycode: char_x
mode: emacs
event: { send: menupagenext }
}
{
name: undo_or_previous_page
modifier: control
keycode: char_z
mode: emacs
event: {
until: [
{ send: menupageprevious }
{ edit: undo }
]
}
}
{
name: yank
modifier: control
keycode: char_y
mode: emacs
event: {
until: [
{edit: pastecutbufferafter}
]
}
}
{
name: unix-line-discard
modifier: control
keycode: char_u
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cutfromlinestart}
]
}
}
{
name: kill-line
modifier: control
keycode: char_k
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cuttolineend}
]
}
}
# Keybindings used to trigger the user defined menus
{
name: commands_menu
modifier: control
keycode: char_t
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_menu }
}
{
name: vars_menu
modifier: alt
keycode: char_o
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: vars_menu }
}
{
name: commands_with_description
modifier: control
keycode: char_s
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_with_description }
}
]
}
def add_soft [project] { git remote add soft $"ssh://git.aya00:/($project)" }
alias ll = ls -la
alias la = ls -a
alias q = exit
alias e = emacsclient -t
alias ekill = (pkill emacs;pkill emacsclient;emacs --daemon)
alias picotik = picocom --b 115199 /dev/ttyUSB0
alias nmap = ^nmap -T5 --min-parallelism 100 -Pn
alias ed = emacs --daemon
alias eledger = emacsclient -nw ~/Documents/Finanzen/Ledger/MyBudget.ledger
alias sshconfig = emacsclient -nw ~/.ssh/config
alias econfig = emacsclient -nw ~/.doom.d/init.el
alias wttr = curl wttr.in/Essen
alias tvres = xrandr --output HDMI1 --transform 1.02,0,-20,0,1.02,-10,0,0,1
alias defaultres = xrandr --output HDMI1 --transform 1.00,0,0,0,1.00,0,0,0,1
alias latexmk = ^latexmk -f -pdf -interaction=nonstopmode
# git
alias gpa = git push all --all
alias gras = add_soft
alias gd = git diff
alias gp = git push
alias gcsm = git commit -s -m
alias gaa = git add --all
alias gco = git checkout
alias grv = git remote -v
let-env DOCKER_BUILDKIT = 1 # Disable for podman
source ~/.cache/starship/init.nu

View File

@ -1,70 +0,0 @@
# Nushell Environment Config File
def create_left_prompt [] {
let home = ($env | get -i (if $nu.os-info.name == "windows" { "USERPROFILE" } else { "HOME" }) | into string)
let dir = ([
($env.PWD | str substring 0..($home | str length) | str replace -s $home "~"),
($env.PWD | str substring ($home | str length)..)
] | str join)
let path_segment = if (is-admin) {
$"(ansi red_bold)($dir)"
} else {
$"(ansi green_bold)($dir)"
}
$path_segment
}
def create_right_prompt [] {
let time_segment = ([
(date now | date format '%m/%d/%Y %r')
] | str join)
$time_segment
}
# Use nushell functions to define your right and left prompt
let-env PROMPT_COMMAND = { || create_left_prompt }
let-env PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
# The prompt indicators are environmental variables that represent
# the state of the prompt
let-env PROMPT_INDICATOR = { || "〉" }
let-env PROMPT_INDICATOR_VI_INSERT = { || ": " }
let-env PROMPT_INDICATOR_VI_NORMAL = { || "〉" }
let-env PROMPT_MULTILINE_INDICATOR = { || "::: " }
# Specifies how environment variables are:
# - converted from a string to a value on Nushell startup (from_string)
# - converted from a value back to a string when running external commands (to_string)
# Note: The conversions happen *after* config.nu is loaded
let-env ENV_CONVERSIONS = {
"PATH": {
from_string: { |s| $s | split row (char esep) | path expand -n }
to_string: { |v| $v | path expand -n | str join (char esep) }
}
"Path": {
from_string: { |s| $s | split row (char esep) | path expand -n }
to_string: { |v| $v | path expand -n | str join (char esep) }
}
}
# Directories to search for scripts when calling source or use
#
# By default, <nushell-config-dir>/scripts is added
let-env NU_LIB_DIRS = [
($nu.config-path | path dirname | path join 'scripts')
]
# Directories to search for plugin binaries when calling register
#
# By default, <nushell-config-dir>/plugins is added
let-env NU_PLUGIN_DIRS = [
($nu.config-path | path dirname | path join 'plugins')
]
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
let-env VISUAL = 'emacsclient -t'
let-env EDITOR = 'emacsclient -t'

View File

@ -1,392 +0,0 @@
[colors]
background = ${xrdb:color0:#22300}
background-alt = ${xrdb:color8:#fa400}
foreground = ${xrdb:color7:#cdd}
foreground-alt = ${xrdb:color15:#eef}
black = ${xrdb:color0:#233}
red = ${xrdb:color1:#f90}
green = ${xrdb:color2:#8c4}
yellow = ${xrdb:color3:#fc0}
blue = ${xrdb:color4:#0af}
magenta = ${xrdb:color5:#e16}
cyan = ${xrdb:color6:#098}
white = ${xrdb:color7:#cdd}
[bar/systray]
width = 100%
height = 25
radius = 6.0
fixed-center = true
tray-position = right
tray-padding = 0
background = #00000000
foreground = ${colors.foreground}
module-margin-left = 1
module-margin-right = 1
font-0 = DejaVu Sans Mono for Powerline:pixelsize=10;1
# font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
# font-2 = siji:pixelsize=10;1
# font-3 = FontAwesome:style=Regular:pixelsize=10
modules-left =
modules-center = i3
modules-right =
cursor-click = pointer
cursor-scroll = ns-resize
[bar/beep]
width = 100%
height = 25
radius = 6.0
fixed-center = true
tray-position = right
tray-padding = 2
background = #00000000
foreground = ${colors.foreground}
module-margin-left = 1
module-margin-right = 1
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
font-3 = FontAwesome:style=Regular:pixelsize=10
modules-left = volume xkeyboard
modules-center = date
modules-right =
cursor-click = pointer
cursor-scroll = ns-resize
[bar/boop]
width = 100%
height = 2%
bottom = true
radius = 6.0
fixed-center = true
background = #00000000
foreground = ${colors.foreground}
line-size = 0
line-color = ${colors.blue}
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
font-3 = FontAwesome:style=Regular:pixelsize=10
modules-left = airvpn
modules-center = i3
modules-right = xbacklight wlan eth battery1 powermenu
cursor-click = pointer
cursor-scroll = ns-resize
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.magenta}
label-layout = %layout%
label-layout-underline = ${colors.magenta}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.magenta}
label-indicator-underline = ${colors.magenta}
[module/spotify]
type = custom/script
exec-if = pgrep -x spotify
exec = echo "$(playerctl metadata xesam:artist) - $(playerctl metadata xesam:title)"
[module/spotify-prev]
type = custom/script
exec-if = pgrep -x spotify
exec = echo ""
click-left = bash -c "playerctl previous"
[module/spotify-next]
type = custom/script
exec-if = pgrep -x spotify
exec = echo ""
click-left = bash -c "playerctl next"
[module/spotify-play]
type = custom/script
exec-if = pgrep -x spotify
exec = ~/.scripts/spotify-play.out
tail = true
click-left = bash -c "if [ `cat /home/$USER/.scripts/playstate` = 0 ]; then echo '1'>/home/$USER/.scripts/playstate;else echo '0'>/home/$USER/.scripts/playstate;fi"
[module/spotify-stop]
type = custom/script
exec-if = pgrep -x spotify
exec = echo ""
tail = true
click-left = bash -c "playerctl stop && echo '0'>/home/$USER/.scripts/playstate"
[module/airvpn]
type = custom/script
exec-if =
exec = "if [[ $(ip addr | grep tun) ]]; then echo 'VPN: connected'; else echo 'VPN: disconnectd'; fi"
tail = true
[module/i3]
type = internal/i3
pin-workspaces = true
strip-wsnumbers = true
index-sort = false
enable-click = false
enable-scroll = false
wrapping-scroll = false
reverse-scroll = false
fuzzy-match = true
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;
ws-icon-8 = 9;
ws-icon-default = 
format = <label-state>
label-mode = %mode%
label-mode-padding = 2
label-mode-background = ${colors.black}
label-focused = %name%
label-focused-foreground = ${colors.foreground}
label-focused-background = ${colors.background}
label-focused-underline = ${colors.blue}
label-focused-padding = 4
label-unfocused = %name%
label-unfocused-padding = 4
label-visible = %name%
label-visible-underline = ${colors.red}
label-visible-padding = 4
label-urgent = %name%
label-urgent-foreground = ${colors.black}
label-urgent-background = ${colors.red}
label-urgent-padding = 4
[module/xbacklight]
type = internal/xbacklight
format = <label>
label =  %percentage%%
label-underline = ${colors.yellow}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/wlan]
type = internal/network
interface = wlp2s0
interval = 3.0
format-connected = <label-connected>
format-connected-underline = ${colors.cyan}
label-connected =  %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 1
date =
date-alt = " %Y-%m-%d"
time = " %H:%M:%S"
time-alt =
format-prefix =
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.magenta}
label = %date% %time%
[module/volume]
type = internal/volume
format-volume = <label-volume> <bar-volume>
label-volume = 
label-volume-foreground = ${root.foreground}
format-volume-underline = ${colors.green}
format-muted-foreground = ${colors.foreground-alt}
label-muted =  Muted
label-muted-underline = ${colors.red}
bar-volume-width = 10
bar-volume-foreground-0 = ${colors.green}
bar-volume-foreground-1 = ${colors.green}
bar-volume-foreground-2 = ${colors.green}
bar-volume-foreground-3 = ${colors.green}
bar-volume-foreground-4 = ${colors.green}
bar-volume-foreground-5 = ${colors.yellow}
bar-volume-foreground-6 = ${colors.red}
bar-volume-gradient = true
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery1]
type = internal/battery
battery = BAT0
adapter = AC0
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${colors.yellow}
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = 
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/battery2]
type = internal/battery
battery = BAT1
adapter = ACP0
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${colors.yellow}
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = 
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
# [module/powermenu]
# type = custom/menu
# expand-right = true
# format-spacing = 1
#
# label-open = 
# label-open-foreground = ${colors.magenta}
# label-close = cancel
# label-close-foreground = ${colors.magenta}
# label-separator = |
# label-separator-foreground = ${colors.foreground-alt}
#
# menu-0-0 = power off
# menu-0-0-exec = poweroff
# menu-0-1 = reboot
# menu-0-1-exec = reboot
# menu-0-2 = logout
# menu-0-2-exec = dm-tool lock
;; Power Menu Module
[module/powermenu]
type = custom/text
content = aaa
content-background = ${colors.magenta}
content-foreground = ${colors.magenta}
click-left = ~/.config/rofi/powermenu/type-1/powermenu.sh
click-right = powermenu_t1
[settings]
;screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5

View File

@ -1,208 +0,0 @@
# you can edit this file to change keybindings lines that start with '#' are comments
# the syntax is pretty simple. Some examples:
#command k (command is executed when k is pressed)
#command <C-k> (command is executed when k is pressed while holding control)
#command <S-k> (command is executed when k is pressed while holding shift)
#command <A-k> (command is executed when k is pressed while holding alt)
#command <S-+> (command is executed when = is pressed while holding shift.
# Note that <S-=> would not work because of a bug in the command system so
# when prefixing non-ascii keys with shift, you have to specify the shift
# modified key in addition to the shift modifier)
#command <C-S-k> (command is executed when k is pressed while holding control and shift)
#command gg (command is executed when g is pressed twice)
#command gt (command is executed when g is pressed and then t is pressed)
#command g<C-n><S-d>t (command is executed when g is pressed and then n is pressed while holding\
# control and then d is pressed while holding shift and then t is pressed)
# ---------- NAVIGATION AND ZOOM ----------
# Goto the begining of document. If prefixed with a number, it will go to that page.
# for example 150gg goes to page 150.
goto_begining gg
goto_begining <C-<home>>
# Opens a prompt to enter page number and jump to that page
goto_page_with_page_number <home>
# Goto the end of the document
goto_end <end>
goto_end <S-g>
# movement (can be prefixed with a number)
move_down <down>
move_up <up>
move_left <right>
move_right <left>
move_down j
move_up k
move_left l
move_right h
# Goto forward for one page width. (can be prefixed with a number)
# (note that going forward for one page width is not usually what you want becaue if
# the page is larger than the screen you will miss some content. What you usually want is screen_down)
next_page <C-<pagedown>>
previous_page <C-<pageup>>
# Go down one screen width (can be prefixed with a number which tells how many screen widths should we go down)
screen_down <space>
screen_up <S-space>
screen_down <pagedown>
screen_up <pageup>
# Goto the next/prev chapter
next_chapter gc
prev_chapter g<S-c>
# Goto previous viewing state and delete the current (and future) state(s).
pop_state w
# if we are not at the end of viewing history, goto the next history point
next_state <l>
# goto the previous history point
prev_state <h>
prev_state <backspace>
next_state <C-<right>>
prev_state <C-<left>>
# Open table of contents.
goto_toc t
# zoom
zoom_in <S-+>
zoom_in =
zoom_out -
# Automatically set the zoom level and horizontal offset such that the current page is centered horizontally and
# it fills the screen width
fit_to_page_width <f9>
# same as fit_to_page_with but ignores page margins
fit_to_page_width_smart <f10>
# Open a file dialog to select a document.
open_document o
open_document_embedded <C-o>
open_document_embedded_from_current_path <C-S-o>
# Open a searchable list of previously opened documents.
open_prev_doc <S-o>
# ---------- SEARCH ----------
# search the document.
# example: /something (searches the document for 'something')
# you can also specify a page range to search:
# example: /<110,135>something (searches pages 110 to 135 (inclusive) for 'something')
search <C-f>
search /
# this is the same as search.
ranged_search r<C-f>
ranged_search r/
# searches the current chapter. This is essentially the same as search but the range prefix is autofilled
# with the range of the current lowest level subchapter.
chapter_search c<C-f>
chapter_search c/
# Goto the next search item. Can be prefixed with a number which is the same as performing the command n times
# for example if we are on the 10th search result and we input 15n, we go to the 25th search result.
next_item n
# Goto the previous search result. Can be prefixed with a number with similar rules as next_item.
previous_item <S-n>
# ---------- BOOKMARKS ----------
# Add a bookmark in the current location (opens a text input where you can specify the bookmark text)
add_bookmark b
delete_bookmark db
# Open bookmarks menu of the current document.
goto_bookmark gb
# Open bookmarks menu of all documents.
goto_bookmark_g g<S-b>
# ---------- HIGHLIGHTS ----------
# you can select a piece of text and press the `add_highlight` shortcut followed by a symbol (a character from a-z) to highlight
# the text
add_highlight h
# search in highlights of current document
goto_highlight gh
# search in highlights of all documents
goto_highlight_g g<S-h>
# click on a highlight and then press the `delete_highlight` shortcut to delete it.
delete_highlight dh
# ---------- MARKS ----------
# Mark the current location. After pressing the mark button, you must enter a symbol (a letter from a-z or A-Z).
# this marks the current location in the file with the entered symbol. Afterwards you will be able to return to
# the locations of the marks using goto_mark command.
# example: mm (marks the current location in the file with a mark named 'm')
set_mark m
# Goto a previously set mark. After pressing goto_mark you must enter a symbol associated with a previously set mark.
# example: `m (goes to the location of the mark named m)
goto_mark `
# ---------- PORTALS ----------
# If we are in default state, goto portal state with the current location in document as the portal source
# if we are already in the portal state, create the portal with the current location as destination.
link p
# Delete the portal with the closest source to current location
delete_link dp
# Goto the position of the portal with the closest source to current location
goto_link <tab>
# Similar to goto_link, except when prev_state is called, the destination of the link is update to be the state
# on which prev_state is called
edit_link <S-p>
edit_link <S-<tab>>
# Open/Close the helper window for portals
toggle_one_window <f12>
# ---------- MISC ----------
# copy selected text
copy y
toggle_fullscreen <f11>
# Toggles whether we highlight pdf links or not
toggle_highlight <f1>
# open command line
command <S-:>
# seach the selected text using one of the search engines defined using search_url_* settings in prefs.config (* can be any letter between 'a' and 'z')
external_search s
#search_selected_text_in_google_scholar ss
#search_selected_text_in_libgen sl
open_selected_url <S-q>
toggle_dark_mode <f8>
# toggle synctex mode. When in synctex mode, right clicking on a pdf launches the corresponding latex page.
toggle_synctex <f4>
# while in mouse drag mode, instead of selecting text you can pan the screen using mouse
toggle_mouse_drag_mode <f6>
# command the move the visual mark to the next/previous line
#move_visual_mark_up k
#move_visual_mark_down j
# In visual scroll mode, mouse wheel performs `move_visual_mark_up` and `move_visual_mark_down` commands
toggle_visual_scroll <f7>
toggle_presentation_mode <f5>
quit q

View File

@ -1,137 +0,0 @@
# (can be 0 or 1) if set, shows a notification on startup if a new version of sioyek is available
check_for_updates_on_startup 0
# The color with which the screen is cleared before rendering the pdf
background_color 1.0 1.0 1.0
dark_mode_background_color 0.0 0.0 0.0
# Showing full white text on black background can be irritating for the eye, we can dim the whites a little bit using the contrast option
dark_mode_contrast 0.8
# Highlight color when text is selected using mouse
text_highlight_color 1.0 1.0 0.0
# The color of highlight bar which is displayed when right click is pressed
vertical_line_color 0.0 0.0 0.0 0.1
# Highlight color when text is a search match
search_highlight_color 0.0 1.0 0.0
# Hihglight color for PDF links (note that highlight is off by default
# and can only be seen by performing a toggle_highlight command. See keys.config for more details)
link_highlight_color 0.0 0.0 1.0
# Hihglight color for synctex forward search highlights
synctex_highlight_color 1.0 0.0 1.0
# urls to use when executing external_search commands
search_url_s https://scholar.google.com/scholar?q=
search_url_l http://gen.lib.rus.ec/scimag/?q=
search_url_g https://www.google.com/search?q=
# which search url to choose when middle clicking or shift middle clicking on text (the values are the letters of corresponding search_url_* )
# for example if i set `middle_click_search_engine s`, then we use the url associated with `search_url_s` to handle middle click searches
middle_click_search_engine s
shift_middle_click_search_engine l
# The factor by which we increase/decrease zoom when performing zoom_in or zoom_out
zoom_inc_factor 1.2
# How many inches we move vertically/horizontally when performing move_* commands
vertical_move_amount 1.0
horizontal_move_amount 1.0
# When performing screen_down/screen_up we usually don't move a full screen because it causes the user to lose context
# Here we specify the fraction of the screen width by which we move when performing these commands
move_screen_percentage 0.5
# If 0, Table of Contents is shown in a hierarchial tree, otherwise it is a flat list (can improve performance for extremely large table of contents)
flat_toc 0
# If it is 1, when launching the application if we detect multiple monitors, we automatically launch the helper window in second monitor
should_use_multiple_monitors 0
# if the last opened document is empty, load the tutorial pdf instead
should_load_tutorial_when_no_other_file 1
# if it is 0, then we use the previous instance of sioyek when launching a new file.
# otherwise a new instance is launched every time we open a new file.
should_launch_new_instance 0
# the command to use when trying to do inverse search into a LaTeX document. Uncomment and provide your own command.
# %1 expands to the name of the file and %2 expans to the line number.
#inverse_search_command "C:\path\to\vscode\Code.exe" -r -g %1:%2
# you can specify the exact highlight color for each of 26 different highlight types
# when moving to the next line using visual marker, this setting specifies the distance of the market to the top of the screen in fractions of screen size
visual_mark_next_page_fraction 0.25
# when moving to the next line using visual marker, this setting determines at which point we move the screen
visual_mark_next_page_fraction 0.2
#Amethyst
highlight_color_a 0.94 0.64 1.00
#Blue
highlight_color_b 0.00 0.46 0.86
#Caramel
highlight_color_c 0.60 0.25 0.00
#Damson
highlight_color_d 0.30 0.00 0.36
#Ebony
highlight_color_e 0.10 0.10 0.10
#Forest
highlight_color_f 0.00 0.36 0.19
#Green
highlight_color_g 0.17 0.81 0.28
#Honeydew
highlight_color_h 1.00 0.80 0.60
#Iron
highlight_color_i 0.50 0.50 0.50
#Jade
highlight_color_j 0.58 1.00 0.71
#Khaki
highlight_color_k 0.56 0.49 0.00
#Lime
highlight_color_l 0.62 0.80 0.00
#Mallow
highlight_color_m 0.76 0.00 0.53
#Navy
highlight_color_n 0.00 0.20 0.50
#Orpiment
highlight_color_o 1.00 0.64 0.02
#Pink
highlight_color_p 1.00 0.66 0.73
#Quagmire
highlight_color_q 0.26 0.40 0.00
#Red
highlight_color_r 1.00 0.00 0.06
#Sky
highlight_color_s 0.37 0.95 0.95
#Turquoise
highlight_color_t 0.00 0.60 0.56
#Uranium
highlight_color_u 0.88 1.00 0.40
#Violet
highlight_color_v 0.45 0.04 1.00
#Wine
highlight_color_w 0.60 0.00 0.00
#Xanthin
highlight_color_x 1.00 1.00 0.50
#Yellow
highlight_color_y 1.00 1.00 0.00
#Zinnia
highlight_color_z 1.00 0.31 0.02
# if set, we display a checkerboard pattern for unrendered pages (by default we display nothing)
should_draw_unrendered_pages 0
# displays an overview of destination when hovering over a link with mouse
hover_overview 0
# Use dark mode by default
default_dark_mode 0
# if set, we sort the bookmarks by their location instead of their creation time
sort_bookmarks_by_location 0

View File

@ -1,64 +0,0 @@
format = """
[](#a3aed2)\
[ ](bg:#a3aed2 fg:#090c0c)\
[](bg:#769ff0 fg:#a3aed2)\
$directory\
[](fg:#769ff0 bg:#394260)\
$git_branch\
$git_status\
[](fg:#394260 bg:#212736)\
$nodejs\
$rust\
$golang\
$php\
[](fg:#212736 bg:#1d2230)\
$time\
[ ](fg:#1d2230)\
\n$character"""
[directory]
style = "fg:#e3e5e5 bg:#769ff0"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = " "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[git_branch]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
[git_status]
style = "bg:#394260"
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
[nodejs]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]
symbol = "ﳑ"
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[php]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#1d2230"
format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)'

View File

@ -1,46 +0,0 @@
[options]
font = Hack Nerd Font Monoo 11
font = DejaVu Sans Mono for Powerline 11
[colors]
[colors]
# special
foreground = #98abb2
foreground_bold = #98abb2
cursor = #98abb2
background = rgba(0,0,0,0.9)
# black
color0 = #000000
color8 = #0c0e14
# red
color1 = #e84f4f
color9 = #d23d3d
# green
color2 = #00ffaf
color10 = #237885
# yellow
color3 = #ffbb24
color11 = #f8ec09
# blue
color4 = #007fff
color12 = #00c4ff
# magenta
color5 = #8c00fd
color13 = #cd00df
# cyan
color6 = #00e8b7
color14 = #00d3a7
# white
color7 = #98abb2
color15 = #c0bfbc

View File

@ -1,173 +0,0 @@
--[[
#=====================================================================================
# Date : package-date
# Author : Nicola Bicocchi
# Version : package-version
# License : Distributed under the terms of GNU GPL version 2 or later
#======================================================================================
# CONKY
# For commands in conky.config section:
# http://conky.sourceforge.net/config_settings.html
#
# For commands in conky.text section:
# http://conky.sourceforge.net/variables.html
#
# A PDF with all variables is provided
#=====================================================================================
# FONTS
# To avoid copyright infringements you will have to download
# and install the fonts yourself sometimes.
#=====================================================================================
# GENERAL INFO ABOUT FONTS
# Go and look for a nice font on sites like http://www.dafont.com/
# Download and unzip - double click the font to install it (font-manager must be installed)
# No font-manager then put fonts in ~/.fonts
# Change the font name in the conky
# The name can be known with a command in the terminal: fc-list | grep "part of name"
# Change width and height of the conky according to font
# Reboot your system or fc-cache -fv in terminal
# Enjoy
#=====================================================================================
]]
conky.config = {
--Various settings
background = true, -- forked to background
cpu_avg_samples = 2, -- The number of samples to average for CPU monitoring.
diskio_avg_samples = 10, -- The number of samples to average for disk I/O monitoring.
double_buffer = true, -- Use the Xdbe extension? (eliminates flicker)
if_up_strictness = 'address', -- how strict if testing interface is up - up, link or address
net_avg_samples = 2, -- The number of samples to average for net data
no_buffers = true, -- Subtract (file system) buffers from used memory?
temperature_unit = 'celsius', -- fahrenheit or celsius
text_buffer_size = 2048, -- size of buffer for display of content of large variables - default 256
update_interval = 2, -- update interval
imlib_cache_size = 0, -- disable image cache to get a new spotify cover per song
--Placement
alignment = 'top_right', -- top_left,top_middle,top_right,bottom_left,bottom_middle,bottom_right,
-- middle_left,middle_middle,middle_right,none
--Arch Duoscreen
--gap_x = -1910,
gap_x = 15, -- pixels between right or left border
gap_y = 0, -- pixels between bottom or left border
minimum_height = 1000, -- minimum height of window
minimum_width = 500, -- minimum width of window
maximum_width = 600, -- maximum width of window
--Graphical
border_inner_margin = 10, -- margin between border and text
border_outer_margin = 10, -- margin between border and edge of window
border_width = 0, -- border width in pixels
default_bar_width = 0, -- default is 0 - full width
default_bar_height = 25, -- default is 6
default_gauge_height = 25, -- default is 25
default_gauge_width = 0, -- default is 40
default_graph_height = 80, -- default is 25
default_graph_width = 0, -- default is 0 - full width
default_shade_color = '#000000', -- default shading colour
default_outline_color = '#000000', -- default outline colour
draw_borders = false, -- draw borders around text
draw_graph_borders = true, -- draw borders around graphs
draw_shades = false, -- draw shades
draw_outline = false, -- draw outline
stippled_borders = 0, -- dashing the border
--Textual
extra_newline = false, -- extra newline at the end - for asesome's wiboxes
format_human_readable = true, -- KiB, MiB rather then number of bytes
font = 'Roboto Mono:size=15', -- font for complete conky unless in code defined
max_text_width = 0, -- 0 will make sure line does not get broken if width too smal
max_user_text = 16384, -- max text in conky default 16384
override_utf8_locale = true, -- force UTF8 requires xft
short_units = true, -- shorten units from KiB to k
top_name_width = 21, -- width for $top name value default 15
top_name_verbose = false, -- If true, top name shows the full command line of each process - Default value is false.
uppercase = false, -- uppercase or not
use_spacer = 'none', -- adds spaces around certain objects to align - default none
use_xft = true, -- xft font - anti-aliased font
xftalpha = 1, -- alpha of the xft font - between 0-1
--Windows
own_window = true, -- create your own window to draw
own_window_argb_value = 100, -- real transparency - composite manager required 0-255
own_window_argb_visual = true, -- use ARGB - composite manager required
own_window_colour = '#000000', -- set colour if own_window_transparent no
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', -- if own_window true - just hints - own_window_type sets it
own_window_transparent = false, -- if own_window_argb_visual is true sets background opacity 0%
own_window_title = 'system_conky', -- set the name manually - default conky "hostname"
own_window_type = 'normal', -- if own_window true options are: normal/override/dock/desktop/panel
--Colours
default_color = '#D9FFE2',
color1 = '#FF0000',
color2 = '#3E5570',
color3 = '#CCCCCC',
color4 = '#BBBBBB',
color5 = '#C0FF00',
color6 = '#FFFFFF',
--Signal Colours
color7 = '#C0FF00', --green
color8 = '#FFA726', --orange
color9 = '#F1544B', --firebrick
};
conky.text = [[
${color6}${font Roboto:size=140}${alignc}${time %H}:${time %M}${font}
${color6}${font Roboto:size=25}${alignc}${time %A} ${time %B} ${time %e}, ${time %Y}${font}
${color5}${font Roboto:style=Bold:size=17}S Y S T E M ${hr 2}${font}
${color6}Hostname:${color}${alignr}${nodename}
${color6}OS:${color}${alignr}${texeci 3600 lsb_release -d | awk '{$1=""; print $0}'}
${color6}Kernel:${color}${alignr}${kernel}
${color6}Uptime:${color}${alignr}${uptime}
${color6}Processes:${color}${alignr}${processes}
${color5}${font Roboto:style=Bold:size=17}C P U ${hr 2}${font}
${color6}CPU Frequency:${color}${alignr}${freq}MHz
${color6}CPU Temperature:${color}${alignr}${texeci 30 sensors | grep "Package id 0" | cut -d ':' -f 2 | cut -d '(' -f 1 | tr -d ' '}
${color6}CPU Usage:${color}${alignr}${cpu}%
${cpugraph cpu0}
${color6}Top Processes ${alignr}${offset -40}PID ${alignr}${offset -20}CPU% ${alignr}Mem%
${color}${top name 1} ${alignr}${offset -75}${top pid 1}${alignr}${offset -45}${top cpu 1}${alignr}${top mem 1}
${color}${top name 2} ${alignr}${offset -75}${top pid 2}${alignr}${offset -45}${top cpu 2}${alignr}${top mem 2}
${color}${top name 3} ${alignr}${offset -75}${top pid 3}${alignr}${offset -45}${top cpu 3}${alignr}${top mem 3}
${color5}${font Roboto:style=Bold:size=17}M E M O R Y ${hr 2}${font}
${color6}Swap Usage:${color}${alignr}${swap}/${swapmax}
${color6}Memory Usage:${color}${alignr}${mem}/${memmax}
${memgraph}
${color6}Top Processes ${alignr}${offset -40}PID ${alignr}${offset -20}CPU% ${alignr}Mem%
${color}${top_mem name 1} ${alignr}${offset -75}${top_mem pid 1}${alignr}${offset -45}${top_mem cpu 1}${alignr}${top_mem mem 1}
${color}${top_mem name 2} ${alignr}${offset -75}${top_mem pid 2}${alignr}${offset -45}${top_mem cpu 2}${alignr}${top_mem mem 2}
${color}${top_mem name 3} ${alignr}${offset -75}${top_mem pid 3}${alignr}${offset -45}${top_mem cpu 3}${alignr}${top_mem mem 3}
${color5}${font Roboto:style=Bold:size=17}D I S K ${hr 2}${font}
${color6}Disk Usage:${color}${alignr}${fs_used /}/${fs_size /}
${color6}IO Read / Write:${color}${alignr}${diskio_read /dev/nvme0n1p2} / ${diskio_write /dev/nvme0n1p2}
${diskiograph_read nvme0n1p2}
${diskiograph_write nvme0n1p2}
${color6}Top Processes ${alignr}${offset -40}PID ${alignr}${offset -20}CPU% ${alignr}Mem%
${color}${top_io name 1} ${alignr}${offset -75}${top_io pid 1}${alignr}${offset -45}${top_io cpu 1}${alignr}${top_io mem 1}
${color}${top_io name 2} ${alignr}${offset -75}${top_io pid 2}${alignr}${offset -45}${top_io cpu 2}${alignr}${top_io mem 2}
${color}${top_io name 3} ${alignr}${offset -75}${top_io pid 3}${alignr}${offset -45}${top_io cpu 3}${alignr}${top_io mem 3}
${color5}${font Roboto:style=Bold:size=17}N E T W O R K ${hr 2}${font}
${color6}Default Gateway:${color}${alignr}${gw_ip}
${color6}Internal IP Address:${color}${alignr}${addrs enp6s0}
${color6}External IP Address:${color}${alignr}${texeci 3600 wget -q -O- https://ipecho.net/plain}
${color6}Upload / Download Total:${color}${alignr}${totalup enp6s0} / ${totaldown enp6s0}
${color6}Upload / Download Speed:${color}${alignr}${upspeed enp6s0} / ${downspeed enp6s0}
${upspeedgraph enp6s0}
${downspeedgraph enp6s0}
]];

View File

@ -1,80 +0,0 @@
#!/bin/sh
# vim: ft=sh:ts=4:sw=4:et:ai:cin
conky_bin="conky"
config_file=$(dirname $0)/"conky.conf"
magic_id=$(md5sum "$config_file" | cut -c -12)
toggle_mode="N"
usage() {
echo "USAGE: $(basename $0) [-t] [-p]"
}
start_conky() {
"$conky_bin" --daemonize --quiet --config="$config_file" -- "$magic_id"
return $?
}
stop_conky() {
pkill --signal kill --full "conky.*\s-- $magic_id"
return $?
}
toggle_conky() {
if stop_conky; then
true
else
start_conky
fi
}
restart_conky() {
stop_conky
sleep 1
start_conky
}
while getopts "tp:h" opt; do
case $opt in
t) # toggle mode on
toggle_mode="Y"
;;
p) # path to conky binary
conky_bin=$(realpath -- "$OPTARG")
if [ -x "$conky_bin" ]; then
echo "Conky binary path: ${conky_bin}"
else
echo "ERROR: ${conky_bin} is not executable, path to Conky binary needed\n" >&2
usage
exit 1
fi
;;
h) # help
usage
exit 1
;;
\?)
usage
exit 1
;;
esac
done
shift "$((OPTIND - 1))"
if [ "$toggle_mode" == "Y" ]; then
toggle_conky
else
restart_conky
fi
exit 0

18
config/.gitconfig Normal file
View File

@ -0,0 +1,18 @@
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
[user]
email = tuan-dat.tran@tudattr.dev
name = Tuan-Dat Tran

View File

@ -1,18 +0,0 @@
u:/home/tuan/Documents/Uni/Studium
p:/home/tuan/Documents/Protokolle/FSE
o:/home/tuan/.dotfiles/config
m:/run/media/tuan
a:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK
l:/home/tuan/Local
c:/home/tuan/Documents/CTF
t:/home/tuan/Templates
w:/home/tuan/workspace_l/home_lab/wiki
k:/home/tuan/.syncthing/Documents/Uni/Studium/2022_Sommersemester/Bachelorprojekt/Implement EFCF based on libAFL/git/foundry/evm/src/executor
q:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/02-gps
':/home/tuan/.syncthing/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/03-demonstration_23-10-31/state 24-01-22/5g-uulm-network-monitoring
e:/home/tuan/Documents/CTF/TryHackMe/Ice/2_Recon
s:/home/tuan/Pictures/Screenshots
v:/home/tuan/.aya01/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/06-Server_Setup/ansible
f:/home/tuan/Documents/Finanzen/Unternehmen/Rechnungen
g:/home/tuan/workspace_l/home_lab
r:/home/tuan/Documents/roam

View File

@ -1,3 +0,0 @@
#back-button, #forward-button, #page-action-buttons{
display:none;
}

View File

@ -1,14 +0,0 @@
[Install4F96D1932A9F858E]
Default=2x4tnepw.default
Locked=1
[Profile0]
Name=default
IsRelative=1
Path=2x4tnepw.default
Default=1
[General]
StartWithLastProfile=1
Version=2

View File

@ -1,7 +0,0 @@
#!/usr/bin/env nu
let filename = (date now | date format "%s")
while 1 == 1 {
(sudo tlp-stat -b | grep Charge | split column '=' | str trim ) | insert a (date now | date format "%s") | reject column1 | rename Charge Timestamp | to csv -n | str replace " \\[%\\]" "" |save -a $"$filename".csv;
sleep 50ms;
}

View File

@ -1,38 +0,0 @@
#!/usr/bin/env nu
let zellij_session_table = (zellij ls | lines);
let zellij_session_count = ($zellij_session_table | length);
if $zellij_session_count == 0 {
zellij
} else if $zellij_session_count == 1 {
zellij attach
} else {
let prompt = $" zellij sessions:
($zellij_session_table|table)
Choose session 0-($zellij_session_count - 1): ";
let user_input = (input $"($prompt)");
try {
"Into Try"
let user_input = ($user_input | into int);
"Converted"
$"User Input: ($user_input)";
$"Threshold: 0-($zellij_session_count - 0)";
$"UserInput in Threshold? (0 < $user_input or $user_input < $zellij_session_count - 1)"
if (0 < $user_input or $user_input < $zellij_session_count - 1) {
"Valid Input"
let table_entry = ($zellij_session_table | select $user_input);
zellij attach $table_entry;
} else {
"Invalid Input"
zellij;
}
} catch {
"Catch"
zellij;
}
}

View File

@ -1,606 +0,0 @@
#! perl -w
# Author: Bert Muennich
# Website: http://www.github.com/muennich/urxvt-perls
# License: GPLv2
# Use keyboard shortcuts to select and copy text.
# Usage: put the following lines in your .Xdefaults/.Xresources:
# URxvt.perl-ext-common: ...,keyboard-select
# URxvt.keysym.M-Escape: perl:keyboard-select:activate
# The following line overwrites the default Meta-s binding and allows to
# activate keyboard-select directly in backward search mode:
# URxvt.keysym.M-s: perl:keyboard-select:search
# Use Meta-Escape to activate selection mode, then use the following keys:
# h/j/k/l: Move cursor left/down/up/right (also with arrow keys)
# g/G/0/^/$/H/M/L/f/F/;/,/w/W/b/B/e/E: More vi-like cursor movement keys
# '/'/?: Start forward/backward search
# n/N: Repeat last search, N: in reverse direction
# Ctrl-f/b: Scroll down/up one screen
# Ctrl-d/u: Scroll down/up half a screen
# v/V/Ctrl-v: Toggle normal/linewise/blockwise selection
# y/Return: Copy selection to primary buffer, Return: quit afterwards
# Y: Copy selected lines to primary buffer or cursor line and quit
# q/Escape: Quit keyboard selection mode
# Options:
# URxvt.keyboard-select.clipboard: If true, copy to clipboard too
use strict;
sub on_start{
my ($self) = @_;
$self->{clipboard} = $self->x_resource_boolean('keyboard-select.clipboard');
$self->{patterns}{'w'} = qr/\w[^\w\s]|\W\w|\s\S/;
$self->{patterns}{'W'} = qr/\s\S/;
$self->{patterns}{'b'} = qr/.*(?:\w[^\w\s]|\W\w|\s\S)/;
$self->{patterns}{'B'} = qr/.*\s\S/;
$self->{patterns}{'e'} = qr/[^\w\s](?=\w)|\w(?=\W)|\S(?=\s|$)/;
$self->{patterns}{'E'} = qr/\S(?=\s|$)/;
()
}
sub on_action {
my ($self, $action) = @_;
on_user_command($self, "keyboard-select:" . $action);
}
sub on_user_command {
my ($self, $cmd) = @_;
if (not $self->{active}) {
if ($cmd eq 'keyboard-select:activate') {
activate($self);
} elsif ($cmd eq 'keyboard-select:search') {
activate($self, 1);
}
}
()
}
sub key_press {
my ($self, $event, $keysym, $char) = @_;
my $key = chr($keysym);
if (lc($key) eq 'c' && $event->{state} & urxvt::ControlMask) {
deactivate($self);
} elsif ($self->{search}) {
if ($keysym == 0xff1b) {
if ($self->{search_mode}) {
deactivate($self);
} else {
$self->{search} = '';
status_area($self);
}
} elsif ($keysym == 0xff08) {
$self->{search} = substr($self->{search}, 0, -1);
if (not $self->{search} and $self->{search_mode}) {
deactivate($self);
} else {
status_area($self);
}
} elsif ($keysym == 0xff0d ||
(lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
my $txt = substr($self->{search}, 1);
if ($txt) {
$self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
qr/\Q$txt\E/i;
} elsif ($self->{pattern}) {
delete $self->{pattern};
}
$self->{search} = '';
$self->screen_cur($self->{srhcr}, $self->{srhcc});
if (not find_next($self)) {
if ($self->{search_mode}) {
deactivate($self);
} else {
status_area($self);
}
}
} elsif (length($char) > 0) {
$self->{search} .= $self->locale_decode($char);
my $txt = substr($self->{search}, 1);
if ($txt) {
$self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
qr/\Q$txt\E/i;
} elsif ($self->{pattern}) {
delete $self->{pattern};
}
$self->screen_cur($self->{srhcr}, $self->{srhcc});
find_next($self);
status_area($self);
}
} elsif ($self->{move_to}) {
if ($keysym == 0xff1b) {
$self->{move_to} = 0;
status_area($self);
} elsif (length($char) > 0) {
$self->{move_to} = 0;
$self->{patterns}{'f-1'} = qr/^.*\Q$key\E/;
$self->{patterns}{'f+1'} = qr/^.+?\Q$key\E/;
move_to($self, ';');
status_area($self);
}
} elsif ($keysym == 0xff1b || lc($key) eq 'q') {
deactivate($self);
} elsif (lc($key) eq 'y' || $keysym == 0xff0d ||
(lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
my $quit = 0;
if ($key eq 'Y' && $self->{select} ne 'l') {
$quit = !$self->{select};
toggle_select($self, 'l');
}
if ($self->{select}) {
my ($br, $bc, $er, $ec) = calc_span($self);
$ec = $self->line($er)->l if $self->{select} eq 'l';
$self->selection_beg($br, $bc);
$self->selection_end($er, $ec);
$self->selection_make($event->{time}, $self->{select} eq 'b');
if ($self->{clipboard}) {
$self->selection($self->selection(), 1);
$self->selection_grab($event->{time}, 1);
}
if (lc($key) eq 'y') {
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
$self->{select} = '';
status_area($self);
$self->want_refresh();
} else {
$quit = 1;
}
}
if ($quit) {
deactivate($self);
}
} elsif ($key eq 'V') {
toggle_select($self, 'l');
} elsif ($key eq 'v') {
if ($event->{state} & urxvt::ControlMask) {
toggle_select($self, 'b');
} else {
toggle_select($self, 'n');
}
} elsif ($key eq 'k' || $keysym == 0xff52) {
move_cursor($self, 'k');
} elsif ($key eq 'j' || $keysym == 0xff54) {
move_cursor($self, 'j');
} elsif ($key eq 'h' || $keysym == 0xff51) {
move_cursor($self, 'h');
} elsif ($key eq 'l' || $keysym == 0xff53) {
move_cursor($self, 'l');
} elsif ($keysym == 0xff57) {
move_cursor($self, '$');
} elsif ($keysym == 0xff50) {
move_cursor($self, '^');
} elsif ('gG0^$HML' =~ m/\Q$key\E/ ||
('fbdu' =~ m/\Q$key\E/ && $event->{state} & urxvt::ControlMask)) {
move_cursor($self, $key);
} elsif (lc($key) eq 'f') {
$self->{move_to} = 1;
$self->{move_dir} = $key eq 'F' ? -1 : 1;
status_area($self, $key);
} elsif (';,wWbBeE' =~ m/\Q$key\E/) {
move_to($self, $key);
} elsif ($key eq '/' || $key eq '?') {
$self->{search} = $key;
$self->{search_dir} = $key eq '?' ? -1 : 1;
($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
status_area($self);
} elsif (lc($key) eq 'n') {
find_next($self, $self->{search_dir} * ($key eq 'N' ? -1 : 1));
}
return 1;
}
sub move_cursor {
my ($self, $key) = @_;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
if ($key eq 'k' && $line->beg > $self->top_row) {
$cr = $line->beg - 1;
} elsif ($key eq 'j' && $line->end < $self->nrow - 1) {
$cr = $line->end + 1;
} elsif ($key eq 'h' && $self->{offset} > 0) {
$self->{offset} = $line->offset_of($cr, $cc) - 1;
$self->{dollar} = 0;
} elsif ($key eq 'l' && $self->{offset} < $line->l - 1) {
++$self->{offset};
} elsif ($key eq 'f' || $key eq 'd') {
my $vs = $self->view_start() +
($key eq 'd' ? $self->nrow / 2 : $self->nrow - 1);
$vs = 0 if $vs > 0;
$cr += $vs - $self->view_start($vs);
} elsif ($key eq 'b' || $key eq 'u') {
my $vs = $self->view_start() -
($key eq 'u' ? $self->nrow / 2 : $self->nrow - 1);
$vs = $self->top_row if $vs < $self->top_row;
$cr += $vs - $self->view_start($vs);
} elsif ($key eq 'g') {
($cr, $self->{offset}) = ($self->top_row, 0);
$self->{dollar} = 0;
} elsif ($key eq 'G') {
($cr, $self->{offset}) = ($self->nrow - 1, 0);
$self->{dollar} = 0;
} elsif ($key eq '0') {
$self->{offset} = 0;
$self->{dollar} = 0;
} elsif ($key eq '^') {
my $ltxt = $self->special_decode($line->t);
while ($ltxt =~ s/^( *)\t/$1 . " " x (8 - length($1) % 8)/e) {}
$self->{offset} = $ltxt =~ m/^ +/ ? $+[0] : 0;
$self->{dollar} = 0;
} elsif ($key eq '$') {
my $co = $line->offset_of($cr, $cc);
$self->{dollar} = $co + 1;
$self->{offset} = $line->l - 1;
} elsif ($key eq 'H') {
$cr = $self->view_start();
} elsif ($key eq 'M') {
$cr = $self->view_start() + $self->nrow / 2;
} elsif ($key eq 'L') {
$cr = $self->view_start() + $self->nrow - 1;
}
$line = $self->line($cr);
$cc = $self->{dollar} || $self->{offset} >= $line->l ? $line->l - 1 :
$self->{offset};
$self->screen_cur($line->coord_of($cc));
status_area($self);
$self->want_refresh();
()
}
sub move_to {
my ($self, $key) = @_;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
my $offset = $self->{offset};
my ($dir, $pattern);
my ($wrap, $found) = (0, 0);
if ($key eq ';' || $key eq ',') {
$dir = $self->{move_dir} * ($key eq ',' ? -1 : 1);
$pattern = $self->{patterns}{sprintf('f%+d', $dir)};
return if not $pattern;
} else {
if (lc($key) eq 'b') {
$dir = -1;
} else {
$dir = 1;
++$offset if lc($key) eq 'e';
}
$pattern = $self->{patterns}{$key};
$wrap = 1;
}
if ($dir > 0) {
NEXTDOWN: my $text = substr($line->t, $offset);
if ($text =~ m/$pattern/) {
$offset += $+[0] - 1;
$found = 1;
} elsif ($wrap && $line->end + 1 < $self->nrow) {
$cr = $line->end + 1;
$line = $self->line($cr);
$offset = 0;
if (lc($key) eq 'e') {
goto NEXTDOWN;
} else {
$found = 1;
}
}
} elsif ($dir < 0) {
NEXTUP: my $text = substr($line->t, 0, $offset);
if ($text =~ m/$pattern/) {
$offset += $+[0] - length($text) - 1;
$found = 1;
} elsif ($wrap) {
if ($offset > 0) {
$offset = 0;
$found = 1;
} elsif ($line->beg > $self->top_row) {
$cr = $line->beg - 1;
$line = $self->line($cr);
$offset = $line->l;
goto NEXTUP;
}
}
}
if ($found) {
$self->{dollar} = 0;
$self->{offset} = $offset;
$self->screen_cur($line->coord_of($offset));
$self->want_refresh();
}
()
}
sub find_next {
my ($self, $dir) = @_;
return if not $self->{pattern};
$dir = $self->{search_dir} if not $dir;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
my $offset = $line->offset_of($cr, $cc);
my $text;
my $found = 0;
++$offset if $dir > 0;
while (not $found) {
if ($dir > 0) {
$text = substr($line->t, $offset);
if ($text =~ m/$self->{pattern}/) {
$found = 1;
$offset += $-[0];
} else {
last if $line->end >= $self->nrow;
$line = $self->line($line->end + 1);
$offset = 0;
}
} else {
$text = substr($line->t, 0, $offset);
if ($text =~ m/$self->{pattern}/) {
$found = 1;
$offset = $-[0] while $text =~ m/$self->{pattern}/g;
} else {
last if $line->beg <= $self->top_row;
$line = $self->line($line->beg - 1);
$offset = $line->l;
}
}
}
if ($found) {
$self->{dollar} = 0;
$self->{offset} = $offset;
$self->screen_cur($line->coord_of($offset));
status_area($self);
$self->want_refresh();
}
return $found;
}
sub tt_write {
return 1;
}
sub refresh {
my ($self) = @_;
my ($cr, $cc) = $self->screen_cur();
# scroll the current cursor position into visible area
if ($cr < $self->view_start()) {
$self->view_start($cr);
} elsif ($cr >= $self->view_start() + $self->nrow) {
$self->view_start($cr - $self->nrow + 1);
}
if ($self->{select}) {
my ($hl, $reverse_cursor);
my ($br, $bc, $er, $ec) = calc_span($self);
if ($self->x_resource('highlightColor')) {
$hl = urxvt::RS_Sel;
$reverse_cursor = 0;
} else {
$hl = urxvt::RS_RVid;
$reverse_cursor = $self->{select} ne 'l';
}
if ($self->{select} eq 'b') {
my $co = $self->line($cr)->offset_of($cr, $cc);
my $dollar = $self->{dollar} && $co >= $self->{dollar} - 1;
my $r = $br;
while ($r <= $er) {
my $line = $self->line($r);
if ($bc < $line->l) {
$ec = $line->l if $dollar;
my ($br, $bc) = $line->coord_of($bc);
my ($er, $ec) = $line->coord_of($ec <= $line->l ? $ec : $line->l);
$self->scr_xor_span($br, $bc, $er, $ec, $hl);
} elsif ($r == $cr) {
$reverse_cursor = 0;
}
$r = $line->end + 1;
}
} else {
$self->scr_xor_span($br, $bc, $er, $ec, $hl);
}
if ($reverse_cursor) {
# make the cursor visible again
$self->scr_xor_span($cr, $cc, $cr, $cc + 1, $hl);
}
}
()
}
sub activate {
my ($self, $search) = @_;
$self->{active} = 1;
$self->{select} = '';
$self->{dollar} = 0;
$self->{move_to} = 0;
if ($search) {
$self->{search} = '?';
$self->{search_dir} = -1;
$self->{search_mode} = 1;
} else {
$self->{search} = '';
$self->{search_mode} = 0;
}
($self->{oldcr}, $self->{oldcc}) = $self->screen_cur();
($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
$self->{old_view_start} = $self->view_start();
$self->{old_pty_ev_events} = $self->pty_ev_events(urxvt::EV_NONE);
my $line = $self->line($self->{oldcr});
$self->{offset} = $line->offset_of($self->{oldcr}, $self->{oldcc});
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
$self->enable(
key_press => \&key_press,
refresh_begin => \&refresh,
refresh_end => \&refresh,
tt_write => \&tt_write,
);
if ($self->{offset} >= $line->l) {
$self->{offset} = $line->l > 0 ? $line->l - 1 : 0;
$self->screen_cur($line->coord_of($self->{offset}));
$self->want_refresh();
}
$self->{overlay_len} = 0;
status_area($self);
()
}
sub deactivate {
my ($self) = @_;
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
delete $self->{overlay} if $self->{overlay};
$self->disable("key_press", "refresh_begin", "refresh_end", "tt_write");
$self->screen_cur($self->{oldcr}, $self->{oldcc});
$self->view_start($self->{old_view_start});
$self->pty_ev_events($self->{old_pty_ev_events});
$self->want_refresh();
$self->{active} = 0;
()
}
sub status_area {
my ($self, $extra) = @_;
my ($stat, $stat_len);
if ($self->{search}) {
$stat_len = $self->ncol;
$stat = $self->{search} . ' ' x ($stat_len - length($self->{search}));
} else {
if ($self->{select}) {
$stat = "-V" . ($self->{select} ne 'n' ? uc($self->{select}) : "") . "- ";
}
if ($self->top_row == 0) {
$stat .= "All";
} elsif ($self->view_start() == $self->top_row) {
$stat .= "Top";
} elsif ($self->view_start() == 0) {
$stat .= "Bot";
} else {
$stat .= sprintf("%2d%%",
($self->top_row - $self->view_start) * 100 / $self->top_row);
}
$stat = "$extra $stat" if $extra;
$stat_len = length($stat);
}
if (!$self->{overlay} || $self->{overlay_len} != $stat_len) {
delete $self->{overlay} if $self->{overlay};
$self->{overlay} = $self->overlay(-1, -1, $stat_len, 1,
urxvt::OVERLAY_RSTYLE, 0);
$self->{overlay_len} = $stat_len;
}
$self->{overlay}->set(0, 0, $self->special_encode($stat));
$self->{overlay}->show();
()
}
sub toggle_select {
my ($self, $mode) = @_;
if ($self->{select} eq $mode) {
$self->{select} = '';
} else {
if (not $self->{select}) {
($self->{ar}, $self->{ac}) = $self->screen_cur();
}
$self->{select} = $mode;
}
status_area($self);
$self->want_refresh();
()
}
sub calc_span {
my ($self) = @_;
my ($cr, $cc) = $self->screen_cur();
my ($br, $bc, $er, $ec);
if ($self->{select} eq 'b') {
$br = $self->line($cr)->beg;
$bc = $self->line($cr)->offset_of($cr, $cc);
$er = $self->line($self->{ar})->beg;
$ec = $self->line($self->{ar})->offset_of($self->{ar}, $self->{ac});
($br, $er) = ($er, $br) if $br > $er;
($bc, $ec) = ($ec, $bc) if $bc > $ec;
} else {
if ($cr < $self->{ar}) {
($br, $bc, $er, $ec) = ($cr, $cc, $self->{ar}, $self->{ac});
} elsif ($cr > $self->{ar}) {
($br, $bc, $er, $ec) = ($self->{ar}, $self->{ac}, $cr, $cc);
} else {
($br, $er) = ($cr, $cr);
($bc, $ec) = $cc < $self->{ac} ? ($cc, $self->{ac}) : ($self->{ac}, $cc);
}
}
if ($self->{select} eq 'l') {
($br, $er) = ($self->line($br)->beg, $self->line($er)->end);
($bc, $ec) = (0, $self->ncol);
} else {
++$ec;
}
return ($br, $bc, $er, $ec);
}

View File

@ -1,4 +0,0 @@
*
!.gitignore
!config.org
!init.el

View File

@ -1,227 +0,0 @@
* Packet
#+begin_src emacs-lisp
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("gnu" . "https://elpa.gnu.org/packages/")))
(package-initialize)
(package-refresh-contents)
#+end_src
* Use Package
#+begin_src emacs-lisp
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
#+end_src
* Plugins
** Quick online installs
#+begin_src emacs-lisp
(use-package no-littering)
(use-package org-bullets)
(use-package rainbow-delimiters)
(use-package flycheck :ensure)
(use-package solidity-mode)
(use-package undo-tree)
(use-package yaml-mode
:config
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)))
(use-package org-roam)
(use-package consult)
(use-package dockerfile-mode)
#+end_src
** Evil
#+begin_src emacs-lisp
(use-package evil
:init
(setq evil-want-keybinding nil)
:config
(evil-mode 1)
(setq evil-search-module 'evil-search)
(setq evil-undo-system 'undo-redo))
(use-package evil-collection
:config
(evil-collection-init))
#+end_src
** projectile
#+begin_src emacs-lisp
(use-package projectile
:ensure t
:init
(projectile-mode +1)
:bind (:map projectile-mode-map
("s-p" . projectile-command-map)
("C-c p" . projectile-command-map)))
#+end_src
** ledger-mode
#+begin_src emacs-lisp
(use-package ledger-mode
:mode ("\\.ledger\\'")
:config
(autoload 'ledger-mode "ledger-mode" "A major mode for Ledger" t)
(add-to-list 'load-path
(expand-file-name "~/Documents/paisa/"))
(add-to-list 'auto-mode-alist '("\\.ledger$" . ledger-mode)))
#+end_src
* Global
** emacs-one-themes
#+begin_src emacs-lisp
(use-package one-themes
:init
(load-theme 'one-dark t))
#+end_src
** Menubar
#+begin_src emacs-lisp
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
#+end_src
** Symlinks
#+begin_src emacs-lisp
(setq vc-follow-symlinks t)
#+end_src
** spaces>tabs
#+begin_src emacs-lisp
(setq-default indent-tabs-mode nil)
#+end_src
** lsp inlay hints globally
#+begin_src
(setq-local lsp-inlay-hint-enable t)
#+end_src
* Org-mode
** hook
#+begin_src emacs-lisp
(add-hook 'org-mode-hook
(lambda ()
(org-bullets-mode 1)
(setq org-pretty-entities f)
(setq org-src-fontify-natively 1)))
#+end_src
* Rust
** Rustic
#+begin_src emacs-lisp
(use-package rustic
:ensure
:bind (:map rustic-mode-map
("M-j" . lsp-ui-imenu)
("M-?" . lsp-find-references)
("C-c C-c l" . flycheck-list-errors)
("C-c C-c a" . lsp-execute-code-action)
("C-c C-c r" . lsp-rename)
("C-c C-c q" . lsp-workspace-restart)
("C-c C-c Q" . lsp-workspace-shutdown)
("C-c C-c s" . lsp-rust-analyzer-status))
:config
;; uncomment for less flashiness
;; (setq lsp-eldoc-hook nil)
;; (setq lsp-enable-symbol-highlighting nil)
;; (setq lsp-signature-auto-activate nil)
;; comment to disable rustfmt on save
(setq rustic-format-on-save t)
(add-hook 'rustic-mode-hook 'rk/rustic-mode-hook))
(defun rk/rustic-mode-hook ()
;; so that run C-c C-c C-r works without having to confirm, but don't try to
;; save rust buffers that are not file visiting. Once
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
;; no longer be necessary.
(when buffer-file-name
(setq-local buffer-save-without-query t))
(add-hook 'before-save-hook 'lsp-format-buffer nil t))
#+end_src
** LSP
#+begin_src emacs-lisp
(use-package lsp-mode
:ensure
:commands lsp
:custom
;; what to use when checking on-save. "check" is default, I prefer clippy
(lsp-rust-analyzer-cargo-watch-command "clippy")
(lsp-eldoc-render-all t)
(lsp-idle-delay 0.6)
;; enable / disable the hints as you prefer:
(lsp-inlay-hint-enable t)
;; These are optional configurations. See https://emacs-lsp.github.io/lsp-mode/page/lsp-rust-analyzer/#lsp-rust-analyzer-display-chaining-hints for a full list
(lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
(lsp-rust-analyzer-display-chaining-hints t)
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
(lsp-rust-analyzer-display-closure-return-type-hints t)
(lsp-rust-analyzer-display-parameter-hints nil)
(lsp-rust-analyzer-display-reborrow-hints nil)
:config
(add-hook 'lsp-mode-hook 'lsp-ui-mode))
(use-package lsp-ui
:ensure
:commands lsp-ui-mode
:custom
(lsp-ui-peek-always-show t)
(lsp-ui-sideline-show-hover t)
(lsp-ui-doc-enable nil))
#+end_src
** company
#+begin_src emacs-lisp
(use-package company
:ensure
:custom
(company-idle-delay 0.5) ;; how long to wait until popup
;; (company-begin-commands nil) ;; uncomment to disable popup
:bind
(:map company-active-map
("C-n". company-select-next)
("C-p". company-select-previous)
("M-<". company-select-first)
("M->". company-select-last)
("<tab>". tab-indent-or-complete)
("TAB". tab-indent-or-complete)))
(use-package yasnippet
:ensure
:config
(yas-reload-all)
(add-hook 'prog-mode-hook 'yas-minor-mode)
(add-hook 'text-mode-hook 'yas-minor-mode))
(defun company-yasnippet-or-completion ()
(interactive)
(or (do-yas-expand)
(company-complete-common)))
(defun check-expansion ()
(save-excursion
(if (looking-at "\\_>") t
(backward-char 1)
(if (looking-at "\\.") t
(backward-char 1)
(if (looking-at "::") t nil)))))
(defun do-yas-expand ()
(let ((yas/fallback-behavior 'return-nil))
(yas/expand)))
(defun tab-indent-or-complete ()
(interactive)
(if (minibufferp)
(minibuffer-complete)
(if (or (not yas/minor-mode)
(null (do-yas-expand)))
(if (check-expansion)
(company-complete-common)
(indent-for-tab-command)))))
#+end_src

View File

@ -1,13 +0,0 @@
(org-babel-load-file "~/.emacs.d/config.org")
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages '(consult org-roam evil-collection evil use-package)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -1,7 +1,7 @@
{
"LazyVim": { "branch": "main", "commit": "c0ad2209b67f125a1f1a1ae3ccd6e89b7ffc8946" },
"LazyVim": { "branch": "main", "commit": "0107a1079be7fb92f7d5b7e2c40818f47cf425d9" },
"LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
"SchemaStore.nvim": { "branch": "main", "commit": "6eb5d8d9ec9f81b75aaa6d15d0f6dc12a066fd3f" },
"SchemaStore.nvim": { "branch": "main", "commit": "7efe039d0675f4f1b03f946cc457891d13a6495f" },
"bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" },
"catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" },
"clangd_extensions.nvim": { "branch": "main", "commit": "34c8eaa12be192e83cd4865ce2375e9f53e728f2" },
@ -9,19 +9,19 @@
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "5a15cc46e75cad804fd51ec5af9227aeb1d1bdaa" },
"crates.nvim": { "branch": "main", "commit": "535773ed3b321d68ddd6ef8cd5a1e07b345026a6" },
"conform.nvim": { "branch": "master", "commit": "a605ce4b2db397c84ae6fa8bcfc85f00b985bc73" },
"crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" },
"dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" },
"dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" },
"dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" },
"flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" },
"friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" },
"gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
"gitsigns.nvim": { "branch": "main", "commit": "4e348641b8206c3b8d23080999e3ddbe4ca90efc" },
"headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" },
"indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" },
"lualine.nvim": { "branch": "master", "commit": "8b56462bfb746760465264de41b4907310f113ec" },
"lualine.nvim": { "branch": "master", "commit": "26dac2fcadb6e622790ab08e36d0dba3d3765398" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" },
"mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" },
"mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" },
"mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" },
@ -29,38 +29,38 @@
"mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" },
"mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" },
"mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "459c60317cc1d251f6eb3b6f010d015d5d24b806" },
"neoconf.nvim": { "branch": "main", "commit": "db1d1bd45f4e91da6abc898281711fa47eda0ece" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "742db4e60c74e5fbcc596aaf9e7575e1342dfd09" },
"neoconf.nvim": { "branch": "main", "commit": "ffdeab72dc167543f9b3355baceb0918f1e81fc0" },
"neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" },
"noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" },
"nui.nvim": { "branch": "main", "commit": "756c59f46057cd2d43619cd3a6d4e01b2aa60295" },
"nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" },
"nvim-ansible": { "branch": "main", "commit": "d115cb9bb3680c990e2684f58cf333663fff03b8" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" },
"nvim-lspconfig": { "branch": "master", "commit": "e172dd599cff2ae5267871b5e33fb42934c4df43" },
"nvim-lint": { "branch": "master", "commit": "d78c8ab992f48890580653f74a362c6e5ef2eccc" },
"nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
"nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" },
"nvim-treesitter": { "branch": "master", "commit": "9775d5d7c724f81acdd441e7e9edefc4514e990b" },
"nvim-spectre": { "branch": "master", "commit": "d1db6c1d37252b5a38f199e2f590c5a1617d9254" },
"nvim-treesitter": { "branch": "master", "commit": "f87882858438834d2fbb6379aa2be37de901751b" },
"nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" },
"nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" },
"nvim-web-devicons": { "branch": "master", "commit": "a851380fbea4c1312d11f13d5cdc86a7a19808dd" },
"onedark.vim": { "branch": "main", "commit": "57b77747694ea5676c3ca0eeaf9567dc499730c0" },
"orgmode": { "branch": "master", "commit": "18734589e5807074f57a5228ce06b52ea898b802" },
"orgmode": { "branch": "master", "commit": "261c987345131a736066c25ea409f4d10904b0af" },
"persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" },
"plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" },
"rustaceanvim": { "branch": "master", "commit": "387ca846d632f8c90631536341ca1778b4c2c497" },
"rustaceanvim": { "branch": "master", "commit": "69a22c2ec63ab375190006751562b62ebb318250" },
"semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" },
"telescope.nvim": { "branch": "master", "commit": "67c598fdd4fca113224281c85721c4d8a6df055e" },
"todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" },
"tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" },
"tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" },
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
"venv-selector.nvim": { "branch": "main", "commit": "2ad34f36d498ff5193ea10f79c87688bd5284172" },
"vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" },
"vim-ledger": { "branch": "master", "commit": "281346a221434574dd7f8767a352b2bf0b218b74" },
"vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" },
"vimtex": { "branch": "master", "commit": "a77d14b2e4391c0d3e860708bb1fd56161ab68eb" },
"vimtex": { "branch": "master", "commit": "9ce62bbf7ea8f6bb232bbff5549cd7745a3fd918" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
}

View File

@ -15,5 +15,5 @@
"news": {
"NEWS.md": "2123"
},
"version": 2
"version": 3
}

View File

@ -1,467 +0,0 @@
" colorizer.vim Colorize all text in the form #rrggbb or #rgb; autoload functions
" Maintainer: lilydjwg <lilydjwg@gmail.com>
" Version: 1.4.2
" License: Vim License (see vim's :help license)
"
" See plugin/colorizer.vim for more info.
let s:keepcpo = &cpo
set cpo&vim
function! s:FGforBG(bg) "{{{1
" takes a 6hex color code and returns a matching color that is visible
let pure = substitute(a:bg,'^#','','')
let r = str2nr(pure[0:1], 16)
let g = str2nr(pure[2:3], 16)
let b = str2nr(pure[4:5], 16)
let fgc = g:colorizer_fgcontrast
if r*30 + g*59 + b*11 > 12000
return s:predefined_fgcolors['dark'][fgc]
else
return s:predefined_fgcolors['light'][fgc]
end
endfunction
function! s:Rgb2xterm(color) "{{{1
" selects the nearest xterm color for a rgb value like #FF0000
let best_match=0
let smallest_distance = 10000000000
let r = str2nr(a:color[1:2], 16)
let g = str2nr(a:color[3:4], 16)
let b = str2nr(a:color[5:6], 16)
let colortable = s:GetXterm2rgbTable()
for c in range(0,254)
let d = pow(colortable[c][0]-r,2) + pow(colortable[c][1]-g,2) + pow(colortable[c][2]-b,2)
if d<smallest_distance
let smallest_distance = d
let best_match = c
endif
endfor
return best_match
endfunction
"" the 6 value iterations in the xterm color cube {{{1
let s:valuerange = [0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF]
"" 16 basic colors {{{1
let s:basic16 = [
\ [0x00, 0x00, 0x00], [0xCD, 0x00, 0x00],
\ [0x00, 0xCD, 0x00], [0xCD, 0xCD, 0x00],
\ [0x00, 0x00, 0xEE], [0xCD, 0x00, 0xCD],
\ [0x00, 0xCD, 0xCD], [0xE5, 0xE5, 0xE5],
\ [0x7F, 0x7F, 0x7F], [0xFF, 0x00, 0x00],
\ [0x00, 0xFF, 0x00], [0xFF, 0xFF, 0x00],
\ [0x5C, 0x5C, 0xFF], [0xFF, 0x00, 0xFF],
\ [0x00, 0xFF, 0xFF], [0xFF, 0xFF, 0xFF]]
function! s:Xterm2rgb(color) "{{{1
" 16 basic colors
let r = 0
let g = 0
let b = 0
if a:color<16
let r = s:basic16[a:color][0]
let g = s:basic16[a:color][1]
let b = s:basic16[a:color][2]
endif
" color cube color
if a:color>=16 && a:color<=232
let l:color=a:color-16
let r = s:valuerange[(l:color/36)%6]
let g = s:valuerange[(l:color/6)%6]
let b = s:valuerange[l:color%6]
endif
" gray tone
if a:color>=233 && a:color<=253
let r=8+(a:color-232)*0x0a
let g=r
let b=r
endif
let rgb=[r,g,b]
return rgb
endfunction
function! s:SetMatcher(color, pat) "{{{1
" "color" is the converted color and "pat" is what to highlight
let group = 'Color' . strpart(a:color, 1)
if !hlexists(group) || s:force_group_update
let fg = g:colorizer_fgcontrast < 0 ? a:color : s:FGforBG(a:color)
if &t_Co == 256
exe 'hi '.group.' ctermfg='.s:Rgb2xterm(fg).' ctermbg='.s:Rgb2xterm(a:color)
endif
" Always set gui* as user may switch to GUI version and it's cheap
exe 'hi '.group.' guifg='.fg.' guibg='.a:color
endif
if !exists("w:colormatches[a:pat]")
let w:colormatches[a:pat] = matchadd(group, a:pat)
endif
endfunction
" Color Converters {{{1
function! s:RgbBgColor() "{{{2
let bg = synIDattr(synIDtrans(hlID("Normal")), "bg")
let r = str2nr(bg[1:2], 16)
let g = str2nr(bg[3:4], 16)
let b = str2nr(bg[5:6], 16)
return [r,g,b]
endfunction
function! s:Hexa2Rgba(hex,alpha) "{{{2
let r = str2nr(a:hex[1:2], 16)
let g = str2nr(a:hex[3:4], 16)
let b = str2nr(a:hex[5:6], 16)
let alpha = printf("%.2f", str2float(str2nr(a:alpha,16)) / 255.0)
return [r,g,b,alpha]
endfunction
function! s:Rgba2Rgb(r,g,b,alpha,percent,rgb_bg) "{{{2
" converts matched r,g,b values and percentages to [0:255]
" if possible, overlays r,g,b with alpha on given rgb_bg color
if a:percent
let r = a:r * 255 / 100
let g = a:g * 255 / 100
let b = a:b * 255 / 100
else
let r = a:r
let g = a:g
let b = a:b
endif
if r > 255 || g > 255 || b > 255
return []
endif
if empty(a:rgb_bg)
return [r,g,b]
endif
let alpha = str2float(a:alpha)
if alpha < 0
let alpha = 0.0
elseif alpha > 1
let alpha = 1.0
endif
if alpha == 1.0
return [r,g,b]
endif
let r = float2nr(ceil(r * alpha) + ceil(a:rgb_bg[0] * (1 - alpha)))
let g = float2nr(ceil(g * alpha) + ceil(a:rgb_bg[1] * (1 - alpha)))
let b = float2nr(ceil(b * alpha) + ceil(a:rgb_bg[2] * (1 - alpha)))
if r > 255
let r = 255
endif
if g > 255
let g = 255
endif
if b > 255
let b = 255
endif
return [r,g,b]
endfunction
"ColorFinders {{{1
function! s:HexCode(str, lineno) "{{{2
" finds RGB: #00f #0000ff and RGBA: #00f8 #0000ff88 (or ARGB: #800f #880000ff)
if has("gui_running")
let rgb_bg = s:RgbBgColor()
else
" translucent colors would display incorrectly, so ignore the alpha value
let rgb_bg = []
endif
let ret = []
let place = 0
let colorpat = '#[0-9A-Fa-f]\{3\}\>\|#[0-9A-Fa-f]\{6\}\>\|#[0-9A-Fa-f]\{8\}\>\|#[0-9A-Fa-f]\{4\}\>'
while 1
let foundcolor = matchstr(a:str, colorpat, place)
if foundcolor == ''
break
endif
let place = matchend(a:str, colorpat, place)
let pat = foundcolor . '\>'
let colorlen = len(foundcolor)
if get(g:, 'colorizer_hex_alpha_first') == 1
if colorlen == 4 || colorlen == 5
let ha = tolower(foundcolor[1])
let hr = tolower(foundcolor[2])
let hg = tolower(foundcolor[3])
let hb = tolower(foundcolor[4])
let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g')
else
let ha = tolower(foundcolor[1:2])
let hr = tolower(foundcolor[3:4])
let hg = tolower(foundcolor[5:6])
let hb = tolower(foundcolor[7:8])
endif
if len(foundcolor) == 9
let alpha = foundcolor[1:2]
let foundcolor = '#'.foundcolor[3:8]
else
let alpha = 'ff'
endif
if empty(rgb_bg)
if colorlen == 5
let pat = printf('\c#\x\zs%s%s%s\ze\>', hr,hg,hb)
elseif colorlen == 9
let pat = printf('\c#\x\x\zs%s%s%s\ze\>', hr,hg,hb)
endif
endif
else
if colorlen == 4 || colorlen == 5
let hr = tolower(foundcolor[1])
let hg = tolower(foundcolor[2])
let hb = tolower(foundcolor[3])
let ha = tolower(foundcolor[4])
let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g')
else
let hr = tolower(foundcolor[1:2])
let hg = tolower(foundcolor[3:4])
let hb = tolower(foundcolor[5:6])
let ha = tolower(foundcolor[7:8])
endif
if len(foundcolor) == 9
let alpha = foundcolor[7:8]
let foundcolor = foundcolor[0:6]
else
let alpha = 'ff'
endif
if empty(rgb_bg)
if colorlen == 5
let pat = printf('\c#%s%s%s\ze\x\>', hr,hg,hb)
elseif colorlen == 9
let pat = printf('\c#%s%s%s\ze\x\x\>', hr,hg,hb)
endif
endif
endif
if empty(rgb_bg) || tolower(alpha) == 'ff'
call add(ret, [foundcolor, pat])
else
let rgba = s:Hexa2Rgba(foundcolor, alpha)
let rgb = s:Rgba2Rgb(rgba[0], rgba[1], rgba[2], rgba[3], 0, rgb_bg)
let l:color = printf('#%02x%02x%02x', rgb[0], rgb[1], rgb[2])
call add(ret, [l:color, pat])
endif
endwhile
return ret
endfunction
function! s:RgbColor(str, lineno) "{{{2
let ret = []
let place = 0
let colorpat = '\<rgb(\v\s*(\d+(\%)?)\s*,\s*(\d+%(\2))\s*,\s*(\d+%(\2))\s*\)'
while 1
let foundcolor = matchlist(a:str, colorpat, place)
if empty(foundcolor)
break
endif
let place = matchend(a:str, colorpat, place)
if foundcolor[2] == '%'
let r = foundcolor[1] * 255 / 100
let g = foundcolor[3] * 255 / 100
let b = foundcolor[4] * 255 / 100
else
let r = foundcolor[1]
let g = foundcolor[3]
let b = foundcolor[4]
endif
if r > 255 || g > 255 || b > 255
break
endif
let pat = printf('\<rgb(\v\s*%s\s*,\s*%s\s*,\s*%s\s*\)', foundcolor[1], foundcolor[3], foundcolor[4])
if foundcolor[2] == '%'
let pat = substitute(pat, '%', '\\%', 'g')
endif
let l:color = printf('#%02x%02x%02x', r, g, b)
call add(ret, [l:color, pat])
endwhile
return ret
endfunction
function! s:RgbaColor(str, lineno) "{{{2
if has("gui_running")
let rgb_bg = s:RgbBgColor()
else
" translucent colors would display incorrectly, so ignore the alpha value
let rgb_bg = []
endif
let ret = []
let place = 0
let percent = 0
let colorpat = '\<rgba(\v\s*(\d+(\%)?)\s*,\s*(\d+%(\2))\s*,\s*(\d+%(\2))\s*,\s*(-?[.[:digit:]]+)\s*\)'
while 1
let foundcolor = matchlist(a:str, colorpat, place)
if empty(foundcolor)
break
endif
if foundcolor[2] == '%'
let percent = 1
endif
let rgb = s:Rgba2Rgb(foundcolor[1], foundcolor[3], foundcolor[4], foundcolor[5], percent, rgb_bg)
if empty(rgb)
break
endif
let place = matchend(a:str, colorpat, place)
if empty(rgb_bg)
let pat = printf('\<rgba(\v\s*%s\s*,\s*%s\s*,\s*%s\s*,\ze\s*(-?[.[:digit:]]+)\s*\)', foundcolor[1], foundcolor[3], foundcolor[4])
else
let pat = printf('\<rgba(\v\s*%s\s*,\s*%s\s*,\s*%s\s*,\s*%s0*\s*\)', foundcolor[1], foundcolor[3], foundcolor[4], foundcolor[5])
endif
if percent
let pat = substitute(pat, '%', '\\%', 'g')
endif
let l:color = printf('#%02x%02x%02x', rgb[0], rgb[1], rgb[2])
call add(ret, [l:color, pat])
endwhile
return ret
endfunction
function! s:PreviewColorInLine(where) "{{{1
let line = getline(a:where)
for Func in s:ColorFinder
let ret = Func(line, a:where)
" returned a list of a list: color as #rrggbb, text pattern to highlight
for r in ret
call s:SetMatcher(r[0], r[1])
endfor
endfor
endfunction
function! s:CursorMoved() "{{{1
if !exists('w:colormatches')
return
endif
if exists('b:colorizer_last_update')
if b:colorizer_last_update == b:changedtick
" Nothing changed
return
endif
endif
call s:PreviewColorInLine('.')
let b:colorizer_last_update = b:changedtick
endfunction
function! s:TextChanged() "{{{1
if !exists('w:colormatches')
return
endif
echomsg "TextChanged"
call s:PreviewColorInLine('.')
endfunction
function! colorizer#ColorHighlight(update, ...) "{{{1
if exists('w:colormatches')
if !a:update
return
endif
call s:ClearMatches()
endif
if (g:colorizer_maxlines > 0) && (g:colorizer_maxlines <= line('$'))
return
end
let w:colormatches = {}
if g:colorizer_fgcontrast != s:saved_fgcontrast || (exists("a:1") && a:1 == '!')
let s:force_group_update = 1
endif
for i in range(1, line("$"))
call s:PreviewColorInLine(i)
endfor
let s:force_group_update = 0
let s:saved_fgcontrast = g:colorizer_fgcontrast
augroup Colorizer
au!
if exists('##TextChanged')
autocmd TextChanged * silent call s:TextChanged()
if v:version > 704 || v:version == 704 && has('patch143')
autocmd TextChangedI * silent call s:TextChanged()
else
" TextChangedI does not work as expected
autocmd CursorMovedI * silent call s:CursorMoved()
endif
else
autocmd CursorMoved,CursorMovedI * silent call s:CursorMoved()
endif
" rgba handles differently, so need updating
autocmd GUIEnter * silent call colorizer#ColorHighlight(1)
autocmd BufEnter * silent call colorizer#ColorHighlight(1)
autocmd WinEnter * silent call colorizer#ColorHighlight(1)
autocmd ColorScheme * let s:force_group_update=1 | silent call colorizer#ColorHighlight(1)
augroup END
endfunction
function! colorizer#ColorClear() "{{{1
augroup Colorizer
au!
augroup END
augroup! Colorizer
let save_tab = tabpagenr()
let save_win = winnr()
tabdo windo call s:ClearMatches()
exe 'tabn '.save_tab
exe save_win . 'wincmd w'
endfunction
function! s:ClearMatches() "{{{1
if !exists('w:colormatches')
return
endif
for i in values(w:colormatches)
try
call matchdelete(i)
catch /.*/
" matches have been cleared in other ways, e.g. user has called clearmatches()
endtry
endfor
unlet w:colormatches
endfunction
function! colorizer#ColorToggle() "{{{1
if exists('#Colorizer')
call colorizer#ColorClear()
echomsg 'Disabled color code highlighting.'
else
call colorizer#ColorHighlight(0)
echomsg 'Enabled color code highlighting.'
endif
endfunction
function! colorizer#AlphaPositionToggle() "{{{1
if exists('#Colorizer')
if get(g:, 'colorizer_hex_alpha_first') == 1
let g:colorizer_hex_alpha_first = 0
else
let g:colorizer_hex_alpha_first = 1
endif
call colorizer#ColorHighlight(1)
endif
endfunction
function! s:GetXterm2rgbTable() "{{{1
if !exists('s:table_xterm2rgb')
let s:table_xterm2rgb = []
for c in range(0, 254)
let s:color = s:Xterm2rgb(c)
call add(s:table_xterm2rgb, s:color)
endfor
endif
return s:table_xterm2rgb
endfun
" Setups {{{1
let s:ColorFinder = [function('s:HexCode'), function('s:RgbColor'), function('s:RgbaColor')]
let s:force_group_update = 0
let s:predefined_fgcolors = {}
let s:predefined_fgcolors['dark'] = ['#444444', '#222222', '#000000']
let s:predefined_fgcolors['light'] = ['#bbbbbb', '#dddddd', '#ffffff']
if !exists("g:colorizer_fgcontrast")
" Default to black / white
let g:colorizer_fgcontrast = len(s:predefined_fgcolors['dark']) - 1
elseif g:colorizer_fgcontrast >= len(s:predefined_fgcolors['dark'])
echohl WarningMsg
echo "g:colorizer_fgcontrast value invalid, using default"
echohl None
let g:colorizer_fgcontrast = len(s:predefined_fgcolors['dark']) - 1
endif
let s:saved_fgcontrast = g:colorizer_fgcontrast
" Restoration and modelines {{{1
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:ft=vim:fdm=marker:fmr={{{,}}}:ts=8:sw=2:sts=2:et

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
" Exception Abbrev
nnoremap <C-j> ostring funcName = MethodBase.GetCurrentMethod().ReflectedType.ToString() + "." + MethodBase.GetCurrentMethod().Name;<CR>try {<CR><Esc>k$%ocatch (Exception ex) {<CR>Log(1, MessageType.Error, funcName, String.Format("{0}:\n\n{1}\n", funcName, ex));<CR>}<CR>}<Esc>=%

View File

@ -1,23 +0,0 @@
" Basics
set autoindent noexpandtab tabstop=4 shiftwidth=4
" Shortcuts
abbrev funct func Test(t *testing.T) {<CR>}<Esc>kwwi
abbrev trun t.Run("", func(t *testing.T) {<CR>})<Esc>%la
abbrev terr t.Errorf("got %v, want %v", got, want)<Esc>02f,lcaw
abbrev thelp func(t *testing.T) {<CR>t.Helper()<CR>}<Esc>ko
abbrev fori for i := 0; i <; i++{<CR>}<Esc>k2f;i
abbrev fore for i, c := range{<CR>}<Esc>kf{i
" Compiling
nnoremap <C-c><C-f> <Esc>:GoFmt<CR>
nnoremap <C-c><C-c> <Esc>:!clear<CR><CR>:GoRun<CR>
nnoremap <C-c><C-b> <CR>:GoBuild<CR>
nnoremap <C-c><C-t> <CR>:GoTest<CR>
nnoremap <F9> <CR>:GoImports<CR>
nnoremap <C-c><C-d> <CR>:GoDebugStart<CR>
nnoremap gd <Esc>:GoDef
nnoremap <F1> <Esc>:GoDoc<CR>
map <C-c><C-w> <Esc>:!clear; GOOS=windows GOARCH=386 go build -o %<.exe %<CR><CR>

View File

@ -1,2 +0,0 @@
"html files
iabbrev </ </<C-X><C-O>

View File

@ -1,13 +0,0 @@
" setlocal spell spelllang=de_de
" set nospell
" Abbrevs
abbrev iff Leftrightarrow
" Begin Shortcuts
inoremap $$ $<Esc>bi$\<Esc>f$a
vnoremap <C-l> da\overline{<C-o>p}<Esc>
" Compilation
map <C-c><C-c> <Esc>:!pandoc <C-r>% -o <C-r>%<Del><Del>pdf --from markdown+tex_math_dollars+yaml_metadata_block+hard_line_breaks --template $HOME/Templates/Pandoc/eisvogel --listings &>/dev/null & disown <CR><CR>
map <C-c><C-d> <Esc>:!zathura <C-r>%<Del><Del>pdf &>/dev/null & disown <CR><CR>

View File

@ -1,17 +0,0 @@
" Python settings
" Shortcuts
imap <leader>ifm if<Space>__name__<Space>==<Space>'__main__':<CR>
" Compiling
map <C-c><C-c> <Esc>:!clear; python %<CR><CR>
" Use the below highlight group when displaying bad whitespace is desired.
highlight BadWhitespace ctermbg=red guibg=red
" Display tabs at the beginning of a line in Python mode as bad.
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
" Make trailing whitespace be flagged as bad.
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/

View File

@ -1,3 +0,0 @@
" Compilation
map <C-c><C-c> <Esc>:!clear&./%<CR><CR>

View File

@ -1,30 +0,0 @@
setlocal spell spelllang=de_de
" Begin Shortcuts
noremap <C-B> YpkI\begin{<Esc>A}<Esc>jI\end{<Esc>A}<Esc>ko
noremap! <C-B> <Esc>YpkI\begin{<Esc>A}<Esc>jI\end{<Esc>A}<Esc>ko
inoremap ;it \begin{itemize}<CR>\end{itemize}<Esc>k
inoremap ;i \item{}<Space>
inoremap "" "`"'<Esc>hha
inoremap ;fp \begin{tabular}{ccc}<CR>\toprule<CR>Ja & Nein & Enthaltung \\ <CR> \midrule<CR> <x_x> & <x_x> & <x_x> \\<CR>\bottomrule<CR>\end{tabular}<Esc>0kk<Space><Tab>
inoremap ;sec \section{}<Esc>i
inoremap ;ssec \subsection{}<Esc>i
inoremap ;sssec \subsubsection{}<Esc>i
" Surround stuff
vnoremap <C-B> da\textbf{<C-R>"}<Esc>
vnoremap <C-L> da\underline{<C-R>"}<Esc>
vnoremap <C-I> da\textit{<C-R>"}<Esc>
vnoremap <C-E> da\emph{<C-R>"}<Esc>
vnoremap ( da(<C-R>")<Esc>
vnoremap "" da"`<C-R>""'<Esc>
":command! -complete=file -nargs=1 Rpdf :r !pdftotext -nopgbrk <q-args> -
":command! -complete=file -nargs=1 Rpdf :r !pdftotext -nopgbrk <q-args> - | fmt -csw78
" Compilation
noremap <C-c><C-c> <Esc>:!latexmk -pdf -silent "<C-r>%" &>/dev/null & disown <CR>:redraw!<CR><CR>
noremap <C-c><C-v> <Esc>:!latexmk -c &>/dev/null & disown <CR><CR>
noremap <C-c><C-d> <Esc>:!zathura <C-r>%<Del><Del><Del>pdf &>/dev/null & disown <CR><CR>

View File

@ -1,30 +0,0 @@
" Basics
syntax on
filetype indent plugin on
set background=light
set encoding=utf-8
set smartcase
set incsearch
set hlsearch
set nospell
set hidden
" Tab behavior
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
" New window positions
set splitbelow
set splitright
" Statusbar
set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]
" Window Management
let &winheight = &lines * 7 / 10
" Path
set path+=**
set wildmenu

View File

@ -1,76 +0,0 @@
" colorizer.vim Colorize all text in the form #rrggbb or #rgb; entrance
" Maintainer: lilydjwg <lilydjwg@gmail.com>
" Version: 1.4.2
" Licence: Vim license. See ':help license'
" Derived From: css_color.vim
" http://www.vim.org/scripts/script.php?script_id=2150
" Thanks To: Niklas Hofer (Author of css_color.vim), Ingo Karkat, rykka,
" KrzysztofUrban, blueyed, shanesmith, UncleBill
" Usage:
"
" This plugin defines three commands:
"
" ColorHighlight - start/update highlighting
" ColorClear - clear all highlights
" ColorToggle - toggle highlights
"
" By default, <leader>tc is mapped to ColorToggle. If you want to use another
" key map, do like this:
" nmap ,tc <Plug>Colorizer
"
" If you want completely not to map it, set the following in your vimrc:
" let g:colorizer_nomap = 1
"
" To use solid color highlight, set this in your vimrc (later change won't
" probably take effect unless you use ':ColorHighlight!' to force update):
" let g:colorizer_fgcontrast = -1
" set it to 0 or 1 to use a softened foregroud color.
"
" If you don't want to enable colorizer at startup, set the following:
" let g:colorizer_startup = 0
"
" You can disable it on long buffers, for example if more than 1000 lines:
" let g:colorizer_maxlines = 1000
" -1 means unlimited number of lines
"
" There are color strings in the format #RRGGBBAA and #AARRGGBB. The former is
" more common so it's the default. If you want the latter, set the following:
" let g:colorizer_hex_alpha_first = 1
"
" You can toggle the recognized alpha position by
" call colorizer#AlphaPositionToggle()
"
" Note: if you modify a color string in normal mode, if the cursor is still on
" that line, it'll take 'updatetime' seconds to update. You can use
" :ColorHighlight (or your key mapping) again to force update.
"
" Performance Notice: In terminal, it may take several seconds to highlight 240
" different colors. GUI version is much quicker.
" Reload guard and 'compatible' handling {{{1
if exists("loaded_colorizer") || v:version < 700 || !(has("gui_running") || &t_Co == 256)
finish
endif
let loaded_colorizer = 1
let s:save_cpo = &cpo
set cpo&vim
"Define commands {{{1
if !exists('g:colorizer_maxlines')
let g:colorizer_maxlines = -1
endif
command! -bar -bang ColorHighlight call colorizer#ColorHighlight(1, "<bang>")
command! -bar ColorClear call colorizer#ColorClear()
command! -bar ColorToggle call colorizer#ColorToggle()
nnoremap <silent> <Plug>Colorizer :ColorToggle<CR>
if !hasmapto("<Plug>Colorizer") && (!exists("g:colorizer_nomap") || g:colorizer_nomap == 0)
nmap <unique> <Leader>tc <Plug>Colorizer
endif
if !exists('g:colorizer_startup') || g:colorizer_startup
call colorizer#ColorHighlight(0)
endif
" Cleanup and modelines {{{1
let &cpo = s:save_cpo
" vim:ft=vim:fdm=marker:fmr={{{,}}}:ts=8:sw=2:sts=2:

View File

@ -1,2 +0,0 @@
autocmd BufNewFile,BufRead *.razor setf html

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
runtime macros/matchit.vim
filetype on
call plug#begin()
Plug 'lervag/vimtex'
Plug 'sheerun/vim-polyglot'
Plug 'fatih/vim-go'
call plug#end()
let g:match_ignorecase = 1
let g:polyglot_disabled = ['latex']
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"

View File

@ -1,28 +0,0 @@
" Remaps
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
nnoremap J :bn<CR>
nnoremap K :bp<CR>
map <C-B> <Esc>:b<space>
nnoremap <C-u> :earlier<CR>
nnoremap <C-U> :later<CR>
noremap Y "+y
noremap <C-E> :e **/*
noremap <F12> :tabedit<CR>:ter<CR><C-w><C-w>:q<CR>
noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>
noremap == ==j
nmap 0 ^
nmap ' `
" Diaeresis for e.g. german
inoremap a<leader> ä
inoremap o<leader> ö
inoremap u<leader> ü
inoremap A<leader> Ä
inoremap U<leader> Ü
inoremap O<leader> Ö
inoremap s<leader> ß
inoremap e<leader>

View File

@ -1,14 +0,0 @@
" Vim Settings
"" Move the swap file location to protect against CVE-2017-1000382
if exists('$XDG_CACHE_HOME')
let &g:directory=$XDG_CACHE_HOME
else
let &g:directory=$HOME . '/.cache'
endif
let &g:directory.='/vim/swap//'
"" Create swap directory if it doesn't exist
if ! isdirectory(expand(&g:directory))
silent! call mkdir(expand(&g:directory), 'p', 0700)
endif

View File

@ -1,8 +0,0 @@
augroup templates
au!
" read in template files
autocmd BufNewFile *.* silent! execute '0r $HOME/.vim/templates/skeleton.'.expand("<afile>:e")
" parse special text in the templates after the read
autocmd BufNewFile * %s#\[:VIM_EVAL:\]\(.\{-\}\)\[:END_EVAL:\]#\=eval(submatch(1))#ge
augroup END

View File

@ -1,846 +0,0 @@
#
#a
a
A2
Abdallah
Abdifitah
absFSR
#achschaftbezahlten
Active
Adomas
#affemschinen
Ahlemann
AirSniff
Akduell
Akyüz
Alanah
Aledia
Aline
Almeida
Ambient
Ambilights
Ambrosius
anderer
Andert
Anil
#ansponderschloss
Anwendungsentwickler
Anwendungsntwicklung
anwHelper
App
Ashef
Aslan
ASP
AStAs
asyncio
Athanasiadis
Aufderlandwehr
außeinanderzusetzen
Außenaktivitäten
auswertung
Aylin
#b
b
B1
Bachelorarbeit
Bachelorarbeitsnote
Bachelorstudiengang
Bakir
Banas
Bandalphabets
bandbeschränkt
Bangel
Bärserker
Bathon
Batuhan
Bauingeneurwesen
Baumert
Beamerfläche
Beckerpape
BEGINNING
Beitragsvorlage
Bektas
Bereska
Berichtspunkte
Bernemann
Berufungskomission
Beschaffungsantrag
Besetzungskommmission
Bestgen
besuch
Betriebsysteme
Beyer
Biebeck
Bildungsaspekt
Bittner
Bittners
Bojahr
Bookstack
Bookstacks
boolean
Bootstrap
Boscheck
Boßeler
Boxes
Brauerreitour
Brinda
Brökelschen
Bruns
Bsp
Buciunes
Buddenbohm
Buildcount
Bulavintseva
Buono
Burczyk
Burgmann
Busanbindung
Bushran
Busse
Busticket
c
C2
Campusse
Campussen
Cansu
CaSchü
Ceyda
Challenges
chart
Christos
Cirriculum
cloud
Concurrency
Correct
Credit
Creditpunkte
CSS
CTF
d
Darleen
Dat
Datenbankmanagementsystem
Datenbanktabelle
Datenschutzgrundverordnung
Davi
david
DBMS
Debian
Dechenstraße
Deckenhalterung
Deligierter
Desktopanwendungen
Dette
Deutschtest
Dewert
Diskussionszentren
Disziplinator
Dittler
docker
Docs
Dogan
Dogs
Dolshanski
Dömckes
Dorit
Dreizehnlindenhalle
dringstens
Drittveranstaltungen
Druckerpapier
DSGVO
due
durchzuplanen
e
Easteregg
Echtle
edge
EDITABLE
eduroam
eduroams
Eikemper
#eilnahmergebühren
Eingabewort
Einschreibezahlen
Einwurfschlitz
Eirich
#eitereführen
#elbstbewirtschaftlung
Elif
emacs
Entschuldigungsstatus
Erdmann
#ergleisweis
erp4students
Ersatzschlüssel
Ersti
Erstifahrt
Erstis
Erstitüten
Erstsemestereinführung
Erstsemesterfahrt
Erstsemster
Erstsemstern
Ertas
#ertiefungsbereic
ESE
Essensflatrate
Evaluierungskomission
Evaluierungskomissionen
Excel
Exmatrikulierung
exterene
f
fachchaftsnahe
Fachschaftenkonferenz
Fachschafts
Fachschaftsrat
Fachschaftsräte
Fachschaftsrates
Fachschaftsrathelfer
Fachschaftsratsmitglied
Fachschaftsratsmitglieder
Fachschaftsratssitzung
Fachschaftsraum
Fachschaftsraums
Fachschaftstreffen
Fachschaftsveranstaltungen
Fachschaftsvollversammlung
Fahrradreperaturstation
Fahrscheinkontrolle
Fakultätsratssitzung
Fakultätszusammenlegung
false
Fanke
Filipp
Finanzreferat
flag
Flunkyballturnier
Folke
Formating
formatting
Forms
Fotoboxen
Framework
Frameworks
Frederik
Freefloating
Freiverzehrkarte
Fremdbibliotheken
Frese
Freundel
Fritsch
fse
FSE
FSK
FSKs
fsr
FSR
FSRs
FSVV
Funkenberg
Fürstimmen
FZS
Gamenight
Gästeliste
Gästelistenplatz
Gästelistenplätzen
Gebäudemanagement
Gebäudemanagements
Gebäudezugang
gefeba
gegendert
Gegenstandsverzeichnis
Gegenstandsverzeichnisses
Geochaching
Gesundheitsbelehrung
Gesundheitsbelehrungen
Geurtz
Giebeler
Git
GitLab
Gladbeck
Glaspavillion
Gleichstellungsbeauftragten
Gleistellungsbeauftragte
Goedicke
Golenia
GoogleCTF
Gördes
Görgens
Görges
GOTO
GOTOSTART
Grei
Gremienmails
Gremienplätze
Gremienwahlen
Gremzo
Grinewitschus
Gritzner
Günes
h
Häckner
Haefs
Hallekamp
Han
Hardening
Hartnagel
Hasselhuhn
Hauptcampus
Hauptverantwortlicher
Heckschen
Heghmanns
Heitmann
Helferantrag
Henscheid
Herbrich
Herrn
Heßeling
Hesselmann
Hetkämper
Hetmank
Hetzel
Heyermann
HG
HHJ
HHP
Hilal
Hißmann
Hochschulpolitik
Högden
Hondar
hopo
HoPo
Horlemann
Hoßfeld
How2Rat
Hülsmann
Hülzevoort
Hygienedienst
Hyperthreading
i
ICB
if
IF
#igitalisierung
Immel
Inf
info
Inforeferat
Infragistics
Infrastrukturreferats
Ingrun
Instagram
IoT
Ipek
Isabell
ISE
Isidorovic
itemize
j
Janke
Janzik
Jarno
Jeske
Jessie
Jian
Joey
Johannimloh
Jöran
Josie
Juniorprofessorenevaluierungskomissionen
Jurij
Justizariat
k
Kaczmarek
Kaffemaschinen
Kaldewey
Kalkowsky
Kampmann
Kandidaturaufstellung
Kara
Karas
Karbe
Kassenprüferin
Katha
Kelm
Kimmeskamp
KKC
Klausurbeaufsichtigung
Klausurrunde
Kleingruppen
klingonischer
Klinikmensa
KN1
Koczian
Kolfenbach
Komedia
Komnick
Konteneröffnung
Kontowski
Kopka
krankheitsbedingt
Kretzschmar
Kristof
Kulturanteil
Kundennummer
l
Ladezeiten
Lampret
Landeslehrendenpreis
#lankboxes
Lärmquellekatalog
LaSoWi
Lastenfahrräder
Latza
Lehnert
Lehramter
Lehramtlern
Lehramtsstudierende
Lehramtsstudierenden
Lehramtsstudierender
Lehramtsstudierenenden
Lehrauslastung
Lehrräume
Leistungszeitraum
Lern
Lerngruppen
Lernnacht
Lernnächte
Lernraum
Lernraumes
Lights
linkslinear
LINQ
Lipfert
Ljubisav
Löppenberg
LSB
Lückenjans
LuDi
LuDI
LuDis
LUDIs
#m
M1
M2
Mahngelder
Manske
Manthey
Marecel
Maruan
Masterstudiengang
Masterstudiengangssystems
Masterzulassungen
Mech
Medienschrank
MediTech
Medizintechik
Meilan
Meisner
Mensastammtisch
Merch
Mettbach
Micha
Michèle
Michen
Microcontroller
Miera
Mikulicz
Miltner
mit
mitbeworben
mitüberprüft
mktitle
mod
Modulhandbuch
Mohamed
Mölders
Mommertz
Monsees
Montoringprogramm
Moodle
Moreno
Mrzyk
Multicores
Multithreading
Murad
Muschalik
Musebrink
Museumsbesuch
Musikpark
MVC
Myriam
myUDE
n
Nachtermin
Nachterminklausuren
nanoengineering
NanoEngineering
Nashed
Nebenläufiger
Necker
Nedzhati
Nendrup
Networking
Neustudierende
Neustudierenden
Neuwirth
Nextbike
ng2
Nguyen
nichtterminalsymbole
night
Nikolaos
Ninian
Nohman
Nuevo
Nutzungsregeln
O
#oche
of
Oktoberwochenende
Olligs
Ömer
optimalerweise
Oracle
Orhan
Orientierungswoche
Orientierungswochen
#orran
Ortabas
#osh
Ostasienwissenschaften
Ostkamp
OwnCloud
Özlem
p1
p2
paassen
Paaßen
PACKAGES
Pannhausen
Papierpakete
pdf
Personalkarten
Personenbeförderungsschein
Pflichtterminen
Philip
Phish
picoCTF
PicoCTF
Pinar
Planungstreffen
Plewa
Ploog
Podday
Points
Poos
Pöss
Posts
Postvorlage
Powerpoint
presBear
presFSR
presGuest
presHelper
print
Prochazka
Prochazkas
Produktionsregel
Produktionsregeln
Professorengespräche
Profiling
Programmier
Programmierclub
Programmierungvorlesung
Proxmox
Prozessdokumentation
Prüfungsamt
Prüfungsauschüsse
prüfungsfähig
Prüfungsleistung
prüfungsunfähig
Pseudonymisierung
Pseudonymklausur
Putzdienstes
Pytlik
q
q1
q2
q3
Qualitätsverbesserungskomission
Qualitätsverbesserungskommission
Qualitätsverbesserungskonferenz
Qualitätsverbesserungsmittel
Quartalstreffen
Quartalstreffens
Quittungsnummern
QVK
Rachul
Rademaker
Rahmatullah
Rahmenordnungen
Rathgeb
Rathofer
Ratnere
Ratsarbeit
Ratsvorstellung
Ratswahl
Rauls
Raumplan
Raumzugang
Rechnerstrukturen
Rechnungs
rechtslinear
Regularia
Reinigungskosten
Reisebusse
Reistorff
Rektoratsgesprächen
Rektoratssitzung
Requests
reverse
Riemk
Riesner
Robeck
Rößing
Röttges
#rschritten
Rümeysa
s
#S
Salhi
Samir
Samsung
Sarina
Sauerbrei
Schagen
Scheiermann
Scheiler
Schendel
Schendzielorz
Scheychon
Scheyon
Schlautmann
Schleifenbeginn
Schleifenende
Schlittenhardt
Schlottmann
Schlung
Schlüsselanhänger
Schlüsselentzug
Schlüsselrecht
Schmiedtchen
Schneegaß
Schnupperuni
schonmal
Schönrath
Schülerpraktikum
Schulungstermine
Schuppert
Schützenbahn
Science
Scraping
scripting
Scripting
SCSS
Security
Seier
selbstbewirtschaftet
Selbstbewirtschaftung
Sellerbeck
Senatsleute
Senatswahlen
SEP
Serververwaltung
Sever
Shashi
shell
SHORTCUTS
Sicherheits
Sicherheitschallenegs
Sicking
Siegmann
Sitzungsdisziplin
Sitzungskodex
Sitzungsordnung
Sitzungstermin
Sitzungstermine
SKIP
Skubski
SM
Smartboard
Smartboards
SME
Smets
SNE
Snippets
Softgetränke
SommerUni
source
SoWi
sponsored
Sprachverwendung
spreadshirt
Spyrou
SS20
SSL
Startzustand
Statusm0n
Stauder
Sterzing
Stoppanweisung
Stottrop
Stritzel
Studienalltag
Studienbeirat
Studienbeirates
Studienbeirats
Studienbeiratssitzung
Studienrelevantes
Studierendenberatung
Studierendenparlament
Studierendenparlementssitzung
Studierendenschaft
Studierendenwerk
Studiumverlaufsplan
StuPa
Südholt
SVN
Sygulla
Systemadministration
t
T01
tabbing
Tagesordnugnspunkte
Teambildende
Teilnahmebeitrag
Teilnahmegebühren
Tekaat
Tellbüscher
Tepper
Terdin
Teriete
Terminfindung
testweise
Tetos
textbasierte
Textnachricht
THEN
Thiele
Thiemann
Thom
Thuy
Tinoco
Tischmülleimer
To
Todenhöfer
Tonkel
Trampnau
Trang
Transaktionsmanagement
Transponderschloss
Triquart
TS3
Tsafos
Tuan
Turman
Tutorenprogramm
TypeScript
Ü2
Überführungsfunktionen
Übungsblatt
Ullrich
unbenotet
unbenoteten
Ungleichverteilung
Unipolitik
#urchzufuHren
Ursprungsstelle
Utz
Valeriya
VCS
Vennemann
verarbeitung
vergleisweise
Versorgungsbudget
Vertiefungsbereich
Vertiefungsbereiche
Vertrauenskasse
Veseljak
Vierheilig
vim
Visio
Vivien
Vollzugriff
vorfomuliert
vorgeglüht
Vorjohann
Vorlesungsbeginn
Vorterminen
Vorverarbeitungsfunktion
Voteller
#VS
VV
VVK
w
Waas
Waasmann
Wahlauschuss
Wahlauschusses
Wahlmodalitäten
Waltmann
Water
Webentwicklung
Wegenaer
wegklicken
Weihnachts
Weinz
Werbeposter
Whatsapp
while
white
Whiteboard
Whiteboards
widerprüchliche
WinForms
Wirtschaftsinformatik
Wirtschaftsinformatiker
WirtschaftsIng
Wirtschaftspädagogik
Wißmann
WiWi
Wolfssee
Wollatz
Workload
Wronna
WS21
Wunschtag
Wurzalla
x
y
Yilmaz
Z
z1
z2
z3
Zahlungsbereitschaft
Zahlungshinweis
zeitbeschränkt
Zentralübung
Zhang
Zhou
ZIM
Zirger
Zöller
Zugangsgenehmigung
Zugangskarten
Zulassungsgrenze
Zulassungskriterien
Zulassungsordnung
Zulassungssystem
Zusammlegung
Zutter
Zweitfächer
zweitsprachig

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +0,0 @@
package main
import ()
func main() {
}

View File

@ -1,5 +0,0 @@
---
title: [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:]
author: Tuan-Dat Tran
date: [:VIM_EVAL:]strftime('%Y-%m-%d')[:END_EVAL:]
...

View File

@ -1 +0,0 @@
#!/bin/sh

View File

@ -1,32 +0,0 @@
\documentclass[12pt,a4paper,ngerman,notitlepage]{article}
% PACKAGES
\usepackage[ngerman]{babel}
\usepackage{datetime} % Correct Date Formating
\usepackage[a4paper, left=2.5cm, right=2cm, top=2cm, bottom=2cm]{geometry}
\usepackage{graphicx}
\usepackage{latexsym} % Blankboxes
\usepackage{listings}
\usepackage{mathtools}
\usepackage[onehalfspacing]{setspace}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{titling} % mktitleformatting
% SHORTCUTS
\newcommand{\module}{Platzhalter}
\newcommand{\blattnr}{PlatzhalterNr}
% INFO
\author{Tuan-Dat Tran}
\title{\module\\\blattnr}
% FORMATTING
\setlength{\droptitle}{-3cm}
\DeclareRobustCommand{\rchi}{{\mathpalette\irchi\relax}}
\newcommand{\irchi}[2]{\raisebox{\depth}{$#1\chi$}}
% BEGINNING
\begin{document}
\maketitle
\end{document}