parent
34cda631d2
commit
6c023972ef
21
README.md
21
README.md
|
@ -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
|
||||
```
|
||||
|
|
49
README.org
49
README.org
|
@ -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.
|
|
@ -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
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
set -g prefix F12
|
||||
unbind-key -n C-a
|
|
@ -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"
|
|
@ -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]
|
||||
|
|
|
@ -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
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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'
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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)'
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
]];
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -1,3 +0,0 @@
|
|||
#back-button, #forward-button, #page-action-buttons{
|
||||
display:none;
|
||||
}
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
*
|
||||
!.gitignore
|
||||
!config.org
|
||||
!init.el
|
|
@ -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
|
||||
|
|
@ -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 |
|
@ -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" }
|
||||
}
|
|
@ -15,5 +15,5 @@
|
|||
"news": {
|
||||
"NEWS.md": "2123"
|
||||
},
|
||||
"version": 2
|
||||
"version": 3
|
||||
}
|
|
@ -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
|
@ -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>=%
|
|
@ -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>
|
||||
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
"html files
|
||||
iabbrev </ </<C-X><C-O>
|
|
@ -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>
|
|
@ -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\+$/
|
|
@ -1,3 +0,0 @@
|
|||
" Compilation
|
||||
map <C-c><C-c> <Esc>:!clear&./%<CR><CR>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
|
@ -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:
|
|
@ -1,2 +0,0 @@
|
|||
autocmd BufNewFile,BufRead *.razor setf html
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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>"
|
||||
|
|
@ -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> €
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
|
@ -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.
|
@ -1,6 +0,0 @@
|
|||
package main
|
||||
|
||||
import ()
|
||||
|
||||
func main() {
|
||||
}
|
|
@ -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:]
|
||||
...
|
|
@ -1 +0,0 @@
|
|||
#!/bin/sh
|
|
@ -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}
|
Loading…
Reference in New Issue