aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorterminaldweller <thabogre@gmail.com>2021-08-20 15:08:32 +0000
committerterminaldweller <thabogre@gmail.com>2021-08-20 15:08:32 +0000
commit4de563ae0ee333a986e3cf6bdd170453e3261e3d (patch)
treeda99522f7e6034f62d122b3987896ce205686b3f
parentusing vimplug now. (diff)
downloadscripts-4de563ae0ee333a986e3cf6bdd170453e3261e3d.tar.gz
scripts-4de563ae0ee333a986e3cf6bdd170453e3261e3d.zip
zsh overhaul
-rw-r--r--.config/broot/conf.hjson23
-rw-r--r--.config/ranger/rifle.conf284
-rw-r--r--.ctags10
-rw-r--r--.tmux.conf2
-rw-r--r--.vimrc65
-rw-r--r--.zshenv2
-rw-r--r--.zshrc217
-rwxr-xr-xbin/pdf2mp332
-rw-r--r--devi.zsh-theme266
-rwxr-xr-xdocker/ipfs.sh3
-rw-r--r--irssi/config31
-rw-r--r--irssi/startup4
-rwxr-xr-xtmux/date.sh2
13 files changed, 726 insertions, 215 deletions
diff --git a/.config/broot/conf.hjson b/.config/broot/conf.hjson
index 93c4fef..fd6db3f 100644
--- a/.config/broot/conf.hjson
+++ b/.config/broot/conf.hjson
@@ -16,6 +16,7 @@
#
###############################################################
{
+ syntax_theme: Solarized (dark)
###############################################################
# Default flags
@@ -39,7 +40,7 @@
# "vim mode"
#
#
- # modal: true
+ modal: true
###############################################################
# Whether to mark the selected line with a triangle
@@ -52,16 +53,16 @@
# array. You should keep the name at the end as it has a variable
# length.
#
- # cols_order: [
- # mark
- # git
- # size
- # permission
- # date
- # count
- # branch
- # name
- # ]
+ cols_order: [
+ mark
+ git
+ size
+ permission
+ date
+ count
+ branch
+ name
+ ]
###############################################################
# True Colors
diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf
new file mode 100644
index 0000000..86f53fd
--- /dev/null
+++ b/.config/ranger/rifle.conf
@@ -0,0 +1,284 @@
+# vim: ft=cfg
+#
+# This is the configuration file of "rifle", ranger's file executor/opener.
+# Each line consists of conditions and a command. For each line the conditions
+# are checked and if they are met, the respective command is run.
+#
+# Syntax:
+# <condition1> , <condition2> , ... = command
+#
+# The command can contain these environment variables:
+# $1-$9 | The n-th selected file
+# $@ | All selected files
+#
+# If you use the special command "ask", rifle will ask you what program to run.
+#
+# Prefixing a condition with "!" will negate its result.
+# These conditions are currently supported:
+# match <regexp> | The regexp matches $1
+# ext <regexp> | The regexp matches the extension of $1
+# mime <regexp> | The regexp matches the mime type of $1
+# name <regexp> | The regexp matches the basename of $1
+# path <regexp> | The regexp matches the absolute path of $1
+# has <program> | The program is installed (i.e. located in $PATH)
+# env <variable> | The environment variable "variable" is non-empty
+# file | $1 is a file
+# directory | $1 is a directory
+# number <n> | change the number of this command to n
+# terminal | stdin, stderr and stdout are connected to a terminal
+# X | A graphical environment is available (darwin, Xorg, or Wayland)
+#
+# There are also pseudo-conditions which have a "side effect":
+# flag <flags> | Change how the program is run. See below.
+# label <label> | Assign a label or name to the command so it can
+# | be started with :open_with <label> in ranger
+# | or `rifle -p <label>` in the standalone executable.
+# else | Always true.
+#
+# Flags are single characters which slightly transform the command:
+# f | Fork the program, make it run in the background.
+# | New command = setsid $command >& /dev/null &
+# r | Execute the command with root permissions
+# | New command = sudo $command
+# t | Run the program in a new terminal. If $TERMCMD is not defined,
+# | rifle will attempt to extract it from $TERM.
+# | New command = $TERMCMD -e $command
+# Note: The "New command" serves only as an illustration, the exact
+# implementation may differ.
+# Note: When using rifle in ranger, there is an additional flag "c" for
+# only running the current file even if you have marked multiple files.
+
+#-------------------------------------------
+# Websites
+#-------------------------------------------
+# Rarely installed browsers get higher priority; It is assumed that if you
+# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
+# other hand are often only installed as fallback browsers.
+ext x?html?, has surf, X, flag f = surf -- file://"$1"
+ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
+ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
+ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
+ext x?html?, has dwb, X, flag f = dwb -- "$@"
+ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
+ext x?html?, has luakit, X, flag f = luakit -- "$@"
+ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
+ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
+ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
+ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
+ext x?html?, has midori, X, flag f = midori -- "$@"
+ext x?html?, has opera, X, flag f = opera -- "$@"
+ext x?html?, has firefox, X, flag f = firefox -- "$@"
+ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
+ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
+ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
+ext x?html?, has chromium, X, flag f = chromium -- "$@"
+ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
+ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
+ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
+ext x?html?, has elinks, terminal = elinks "$@"
+ext x?html?, has links2, terminal = links2 "$@"
+ext x?html?, has links, terminal = links "$@"
+ext x?html?, has lynx, terminal = lynx -- "$@"
+ext x?html?, has w3m, terminal = w3m "$@"
+
+#-------------------------------------------
+# Misc
+#-------------------------------------------
+# Define the "editor" for text files as first action
+mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
+mime ^text, label pager = "$PAGER" -- "$@"
+!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
+!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
+
+ext 1 = man "$1"
+ext s[wmf]c, has zsnes, X = zsnes "$1"
+ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
+ext nes, has fceux, X = fceux "$1"
+ext exe = wine "$1"
+name ^[mM]akefile$ = make
+
+#--------------------------------------------
+# Scripts
+#-------------------------------------------
+ext py = python -- "$1"
+ext pl = perl -- "$1"
+ext rb = ruby -- "$1"
+ext js = node -- "$1"
+ext sh = sh -- "$1"
+ext php = php -- "$1"
+
+#--------------------------------------------
+# Audio without X
+#-------------------------------------------
+mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
+mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
+mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
+ext midi?, terminal, has wildmidi = wildmidi -- "$@"
+
+#--------------------------------------------
+# Video/Audio with a GUI
+#-------------------------------------------
+mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
+mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
+mime ^video, has mpv, X, flag f = mpv -- "$@"
+mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
+mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
+mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
+mime ^video, has mplayer, X, flag f = mplayer -- "$@"
+mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
+mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
+mime ^video|audio, has totem, X, flag f = totem -- "$@"
+mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
+
+#--------------------------------------------
+# Video without X
+#-------------------------------------------
+mime ^video, terminal, !X, has mpv = mpv -- "$@"
+mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
+mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
+
+#-------------------------------------------
+# Documents
+#-------------------------------------------
+ext pdf, has llpp, X, flag f = llpp "$@"
+ext pdf, has zathura, X, flag f = zathura -- "$@"
+ext pdf, has mupdf, X, flag f = mupdf "$@"
+ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
+ext pdf, has apvlv, X, flag f = apvlv -- "$@"
+ext pdf, has xpdf, X, flag f = xpdf -- "$@"
+ext pdf, has evince, X, flag f = evince -- "$@"
+ext pdf, has atril, X, flag f = atril -- "$@"
+ext pdf, has okular, X, flag f = okular -- "$@"
+ext pdf, has epdfview, X, flag f = epdfview -- "$@"
+ext pdf, has qpdfview, X, flag f = qpdfview "$@"
+ext pdf, has open, X, flag f = open "$@"
+
+ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
+
+ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
+ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
+ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
+ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
+ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
+
+ext djvu, has zathura,X, flag f = zathura -- "$@"
+ext djvu, has evince, X, flag f = evince -- "$@"
+ext djvu, has atril, X, flag f = atril -- "$@"
+ext djvu, has djview, X, flag f = djview -- "$@"
+
+ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
+ext epub, has zathura, X, flag f = zathura -- "$@"
+ext epub, has mupdf, X, flag f = mupdf -- "$@"
+ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
+
+ext cbr, has zathura, X, flag f = zathura -- "$@"
+ext cbz, has zathura, X, flag f = zathura -- "$@"
+
+#-------------------------------------------
+# Images
+#-------------------------------------------
+mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
+mime ^image/svg, has display, X, flag f = display -- "$@"
+
+mime ^image, has imv, X, flag f = imv -- "$@"
+mime ^image, has pqiv, X, flag f = pqiv -- "$@"
+mime ^image, has sxiv, X, flag f = sxiv -- "$@"
+mime ^image, has feh, X, flag f = feh -- "$@"
+mime ^image, has mirage, X, flag f = mirage -- "$@"
+mime ^image, has ristretto, X, flag f = ristretto "$@"
+mime ^image, has eog, X, flag f = eog -- "$@"
+mime ^image, has eom, X, flag f = eom -- "$@"
+mime ^image, has nomacs, X, flag f = nomacs -- "$@"
+mime ^image, has geeqie, X, flag f = geeqie -- "$@"
+mime ^image, has gpicview, X, flag f = gpicview -- "$@"
+mime ^image, has gwenview, X, flag f = gwenview -- "$@"
+mime ^image, has gimp, X, flag f = gimp -- "$@"
+ext xcf, X, flag f = gimp -- "$@"
+
+#-------------------------------------------
+# Archives
+#-------------------------------------------
+
+# avoid password prompt by providing empty password
+ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
+# This requires atool
+ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
+ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
+ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
+ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
+
+# Listing and extracting archives without atool:
+ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
+ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
+ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
+ext zip, has unzip = unzip -l "$1" | less
+ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
+ext ace, has unace = unace l "$1" | less
+ext ace, has unace = for file in "$@"; do unace e "$file"; done
+ext rar, has unrar = unrar l "$1" | less
+ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
+
+#-------------------------------------------
+# Fonts
+#-------------------------------------------
+mime ^font, has fontforge, X, flag f = fontforge "$@"
+
+#-------------------------------------------
+# Flag t fallback terminals
+#-------------------------------------------
+# Rarely installed terminal emulators get higher priority; It is assumed that
+# if you install a rare terminal emulator, you probably use it.
+# gnome-terminal/konsole/xterm on the other hand are often installed as part of
+# a desktop environment or as fallback terminal emulators.
+mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
+mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
+mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
+mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
+mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
+#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
+mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
+#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
+mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
+mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
+mime ^ranger/x-terminal-emulator, has st = st -e "$@"
+mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
+mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
+mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
+mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
+mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
+mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
+mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
+mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
+mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
+
+#-------------------------------------------
+# Misc
+#-------------------------------------------
+label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
+label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
+label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
+label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
+
+#-------------------------------------------
+# Generic file openers
+#-------------------------------------------
+label open, has xdg-open = xdg-open -- "$@"
+label open, has open = open -- "$@"
+
+# Define the editor for non-text files + pager as last action
+ !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
+label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
+label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
+
+
+######################################################################
+# The actions below are left so low down in this file on purpose, so #
+# they are never triggered accidentally. #
+######################################################################
+
+# Execute a file as program/script.
+mime application/x-executable = "$1"
+
+# Move the file to trash using trash-cli.
+label trash, has trash-put = trash-put -- "$@"
+label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
diff --git a/.ctags b/.ctags
index ebc3ebf..45d99c1 100644
--- a/.ctags
+++ b/.ctags
@@ -57,3 +57,13 @@
--regex-typescript=/^[ \t]*(export)?[ \t]*interface[ \t]+([a-zA-Z0-9_]+)/\2/i,interfaces/
--regex-typescript=/^[ \t]*(export)?[ \t]*enum[ \t]+([a-zA-Z0-9_]+)/\2/e,enums/
--regex-typescript=/^[ \t]*import[ \t]+([a-zA-Z0-9_]+)/\1/I,imports/
+
+--langdef=tf
+--langmap=tf:.tf.tfvars
+--regex-tf=/^[[:space:]]*resource[[:space:]]*"([^"]*)"[[:space:]]*"([^"]*)"/\2/r,Resource/
+--regex-tf=/^[[:space:]]*data[[:space:]]*"([^"]*)"[[:space:]]*"([^"]*)"/\2/d,Data/
+--regex-tf=/^[[:space:]]*variable[[:space:]]*"([^"]*)"/\1/v,Variable/
+--regex-tf=/^[[:space:]]*provider[[:space:]]*"([^"]*)"/\1/p,Provider/
+--regex-tf=/^[[:space:]]*module[[:space:]]*"([^"]*)"/\1/m,Module/
+--regex-tf=/^[[:space:]]*output[[:space:]]*"([^"]*)"/\1/o,Output/
+--regex-tf=/^([a-z0-9_]+)[[:space:]]*=/\1/f,TFVar/
diff --git a/.tmux.conf b/.tmux.conf
index 0e11d06..85db13b 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -105,7 +105,7 @@ bind ] paste-buffer
bind Space choose-buffer
# bind C-l send-keys 'C-l'
bind -n C-h clear-history
-bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"
+bind P pipe-pane -o "cat >>~/.tmuxrecording/#W.log" \; display "Toggled logging to ~/#W.log"
#move windows
# bind-key -n C-S-Left swap-window -t -1
diff --git a/.vimrc b/.vimrc
index adc8556..4515d6d 100644
--- a/.vimrc
+++ b/.vimrc
@@ -6,6 +6,7 @@ set completeopt-=preview
set completeopt+=popup
set showmatch
set list
+set listchars=eol:$,tab:>-
set hidden
set tabstop=2
set conceallevel=1
@@ -35,7 +36,6 @@ set ttyfast
set relativenumber
set wildignorecase
set shm=a
-" set wildmode=list:longest,full
set wildignore+=*/tmp/*,*.so,*.swp,*.zip
set wildmenu
set confirm
@@ -68,6 +68,7 @@ set smartcase
set backspace=indent,eol,start
" set cursorcolumn
" set exrc
+" set wildmode=list:longest,full
set viminfo='100,\"500,:50,%,n~/.viminfo
highlight clear Search
@@ -77,7 +78,7 @@ let g:is_posix = 1
set rtp+=/usr/bin/fzf
" set rtp+=/home/bloodstalker/extra/llvm-clang-4/build/bin/clangd
" set rtp+=/usr/local/bin/pyls
-let g:polyglot_disabled = ['go.plugin','markdown.plugin']
+let g:polyglot_disabled = ['go.plugin', 'markdown.plugin', 'terraform.plugin']
" call plug#begin('~/.vim/plugged')
call plug#begin('~/.vim/bundle')
@@ -88,7 +89,7 @@ Plug 'mhinz/vim-startify'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'kh3phr3n/python-syntax'
Plug 'VundleVim/Vundle.vim'
-Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
+Plug 'scrooloose/nerdtree'
Plug 'sickill/vim-pasta'
Plug 'adelarsq/vim-matchit'
Plug 'makerj/vim-pdf'
@@ -171,7 +172,7 @@ Plug 'dbeniamine/cheat.sh-vim'
Plug 'wlemuel/vim-tldr'
Plug 'congma/vim-compiler-checkbashisms'
Plug 'hsanson/vim-openapi'
-Plug 'mattn/emmet-vim', {'for': ['html','css','xml','ejs']}
+Plug 'mattn/emmet-vim', {'for': ['html','css','xml','ejs','markdown']}
Plug 'hail2u/vim-css3-syntax'
Plug 'chrisbra/unicode.vim'
Plug 'meatballs/vim-xonsh'
@@ -181,6 +182,8 @@ Plug 'christoomey/vim-tmux-navigator'
Plug 'Shirk/vim-gas'
Plug 'roxma/vim-tmux-clipboard'
Plug 'wellle/visual-split.vim'
+Plug 'zchee/vim-goasm'
+Plug 'jvirtanen/vim-hcl'
" Plug 'lifepillar/pgsql.vim', {'for': ['sql','pqsl', 'pgsql']}
" Plug 'tmux-plugins/vim-tmux'
" Plug 'rhysd/vim-gfm-syntax'
@@ -431,7 +434,8 @@ augroup END
"reserved for tmux use
map <F6> <nop>
"messes up some other bindings
-"nmap Y y$
+nmap Y y$
+vmap Y y$
nnoremap <S-Delete> :bd<CR>
nnoremap <leader>c :call clearmatches()<CR>
inoremap <c-i> <esc>I
@@ -439,6 +443,8 @@ inoremap <c-e> <esc>A
nnoremap <leader>t :bel term<CR>
"execute current buffer
nnoremap <leader>r :!%:p<CR>
+"execute current line in bash
+nnoremap <leader>rl :.w !bash<CR>
augroup GoLangRun
autocmd!
autocmd FileType go nmap <leader>r <Plug>(go-run)
@@ -447,12 +453,18 @@ augroup RustLangRun
autocmd!
autocmd FileType rust nmap <leader>r :Crun<CR>
augroup end
+augroup CFamLangRun
+ autocmd!
+ autocmd FileType c,cpp nmap <leader>r :make run<CR>
+augroup end
nnoremap <leader>cd :cd %:p:h<cr>
"terminal vim wont do weird things when you paste things in
set pastetoggle=<F11>
nnoremap <leader>a :ALEToggle<CR>
nnoremap <leader>u :GutentagsUpdate<CR>
nnoremap <localleader>v :VimtexView<CR>
+nnoremap <leader>nn :bn<CR>
+nnoremap <leader>pp :bp<CR>
nmap [q :col<CR>
nmap ]q :cnew<CR>
@@ -467,6 +479,7 @@ function! GetBufferList()
redir END
return buflist
endfunction
+autocmd FileType markdown,html inoremap <C-b> <br/>
function! ToggleList(bufname, pfx)
let buflist = GetBufferList()
@@ -707,6 +720,26 @@ let g:tagbar_type_markdown = {
\ },
\ }
+let g:tagbar_type_tf = {
+ \ 'ctagstype': 'tf',
+ \ 'kinds': [
+ \ 'r:Resource',
+ \ 'R:Resource',
+ \ 'd:Data',
+ \ 'D:Data',
+ \ 'v:Variable',
+ \ 'V:Variable',
+ \ 'p:Provider',
+ \ 'P:Provider',
+ \ 'm:Module',
+ \ 'M:Module',
+ \ 'o:Output',
+ \ 'O:Output',
+ \ 'f:TFVar',
+ \ 'F:TFVar'
+ \ ]
+\ }
+
"doxygentoolkit
autocmd BufNewFile,BufRead,BufEnter *.sol let g:DoxygenToolkit_briefTag_pre="@dev "
@@ -753,7 +786,7 @@ nnoremap <silent> <leader>9 :call HighInterestingWord(9)<cr>
nnoremap <silent> <leader>0 :call HighInterestingWord(0)<cr>
"scratchpad
-let g:scratchpad_path = '.scratchpads'
+let g:scratchpad_path = '/home/devi/.scratchpads'
nmap <F9> <Plug>(ToggleScratchPad)
let g:tagbar_type_rust = {
@@ -985,6 +1018,7 @@ highlight vimBufnrWarn ctermbg=16 ctermfg=202
" highlight airline_tabtype ctermbg=15 ctermfg=34
"typos
+iab teh the
iab strign string
iab pritn print
iab retrun return
@@ -1011,6 +1045,8 @@ let g:netrw_sort_direction = 'normal'
let g:vcm_default_maps = 0
autocmd FileType c,cpp let b:vcm_tab_complete = "omni"
autocmd FileType lua let b:vcm_tab_complete = "omni"
+autocmd FileType go let b:vcm_tab_complete = "omni"
+autocmd FileType rust let b:vcm_tab_complete = "omni"
autocmd FileType python let b:vcm_tab_complete = "omni"
autocmd FileType javasript let b:vcm_tab_complete = "omni"
@@ -1198,6 +1234,7 @@ let g:gutentags_plus_nomap = 1
"run Vman for the word under the cursor
map <leader>v <Plug>(Vman)
autocmd Filetype man setlocal relativenumber
+autocmd Filetype man setlocal number
"context
let g:context_enabled = 0
@@ -1299,7 +1336,21 @@ augroup ALEPY
augroup END
augroup ALERUBY
autocmd!
- autocmd FileType python let b:ale_fixers = {'ruby': ['rubo']}
+ autocmd FileType ruby let b:ale_linters = {'ruby': ['rubocop']}
+ autocmd FileType ruby let b:ale_fixers = {'ruby': ['rubocop']}
+ " autocmd FileType ruby let b:ale_fixers = {'ruby': ['rufo']}
+augroup END
+augroup ALEMARKDOWN
+ autocmd!
+ autocmd FileType markdown let b:ale_linters = {'markdown': ['markdownlint']}
+augroup END
+augroup ALEC
+ autocmd!
+ autocmd FileType c let b:ale_linters = {'c': ['clang-tidy']}
+augroup END
+augroup ALECPP
+ autocmd!
+ autocmd FileType cpp let b:ale_linters = {'cpp': ['clang-tidy']}
augroup END
"latex
diff --git a/.zshenv b/.zshenv
new file mode 100644
index 0000000..414c3bc
--- /dev/null
+++ b/.zshenv
@@ -0,0 +1,2 @@
+source "$HOME/.cargo/env"
+skip_global_compinit=1
diff --git a/.zshrc b/.zshrc
index 728a583..7ac5a22 100644
--- a/.zshrc
+++ b/.zshrc
@@ -1,11 +1,13 @@
+zmodload zsh/zprof
+declare -U path
# Path to your oh-my-zsh installation.
- export ZSH=/home/devi/.oh-my-zsh
+export ZSH=/home/devi/.oh-my-zsh
ZSH_THEME="devi"
COMPLETION_WAITING_DOTS="true"
-plugins=(git zsh-syntax-highlighting autojump virtualenv virtualenvwrapper cargo nvm npm docker rustup zsh-autosuggestions zsh-kubectl-prompt kubectl docker-compose vagrant golang)
+plugins=(git zsh-syntax-highlighting autojump virtualenv virtualenvwrapper cargo npm docker rustup zsh-autosuggestions zsh-kubectl-prompt kubectl docker-compose vagrant golang zsh-prompt-benchmark)
export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/devi/.local/bin:/home/devi/bin"
@@ -16,32 +18,32 @@ autoload -U compinit && compinit -u
alias ls="exa"
alias la="exa -a"
-alias ll="exa -abghHliSmxF --git -@"
-alias lss="exa -S"
+alias ll="exa -abghHliSmxF --color-scale --git -@"
+alias lss="exa -Sls=size"
alias ee="nautilus ."
alias updaterc="cp ~/scripts/.zshrc ~/.zshrc"
alias fixvimrc='cp ~/scripts/.vimrc ~/.vimrc'
alias fixtmuxrc='cp ~/scripts/.tmux.conf ~/.tmux.conf'
-alias fixtmuxpowerline='cp ~/scripts/default.sh ~/tmux-powerline/themes/default.sh'
+# alias fixtmuxpowerline='cp ~/scripts/default.sh ~/tmux-powerline/themes/default.sh'
alias fixctagsrc='cp ~/scripts/.ctags ~/.ctags'
-alias fixtvrc='cp ~/scripts/.tvrc ~/.tvrc'
-alias tmuxpowerline='vim ~/scripts/default.sh'
+# alias fixtvrc='cp ~/scripts/.tvrc ~/.tvrc'
+# alias tmuxpowerline='vim ~/scripts/default.sh'
alias speedtest="curl -o /dev/null http://speedtest.sea01.softlayer.com/downloads/test100.zip"
alias zshrc="vim ~/scripts/.zshrc"
alias vimrc="vim ~/scripts/.vimrc"
alias tmuxrc="vim ~/scripts/.tmux.conf"
alias zshtheme="vim ~/scripts/devi.zsh-theme"
alias quit="exit"
-alias xx="dtrx"
-alias angband="/home/devi/angband-4.1.0/angband-master/src/angband"
-alias startdocker="sudo systemctl start docker"
-alias vv="vim"
-alias mm="cmatrix -s -C blue"
+# alias xx="dtrx"
+# alias angband="/home/devi/angband-4.1.0/angband-master/src/angband"
+# alias startdocker="sudo systemctl start docker"
+# alias vv="vim"
+# alias mm="cmatrix -s -C blue"
alias contest="ping 4.2.2.4 -c 7; ping google.com -c 7"
-alias solide="vim ~/scripts/makefile"
-alias dropsolide="cp ~/scripts/makefile ./"
-alias genjctags="find . -type f -iregex \".*\.js$\" -not -path \"./node_modules/*\" -exec jsctags {} -f \; | sed '/^$/d' | sort > tags"
-alias isup="ps -aux | grep "
+# alias solide="vim ~/scripts/makefile"
+# alias dropsolide="cp ~/scripts/makefile ./"
+# alias genjctags="find . -type f -iregex \".*\.js$\" -not -path \"./node_modules/*\" -exec jsctags {} -f \; | sed '/^$/d' | sort > tags"
+# alias isup="ps -aux | grep "
alias ipfsd="ipfs daemon > /dev/null 2>&1 &; disown"
alias i3rc="vim ~/scripts/.config/i3/config"
alias fixi3rc="cp ~/scripts/.config/i3/config ~/.config/i3/config && i3-msg restart"
@@ -51,7 +53,7 @@ alias dropcmake="cp ~/scripts/makefilec ./makefile"
alias dropcppmake="cp ~/scripts/makefilecpp ./makefile"
alias droppy="cp ~/scripts/python/main.py ./main.py"
alias diff="colordiff"
-alias yy="~/scripts/hived"
+# alias yy="~/scripts/hived"
alias newsboaturls="vim ~/scripts/.newsboat/urls"
alias fixnewsboaturls="cp ~/scripts/.newsboat/urls ~/.newsboat/urls"
alias newsboatconfig="vim ~/scripts/.newsboat/config"
@@ -62,12 +64,12 @@ alias dropcextra="cp ~/scripts/c/devi_extra.h ./devi_extra.h"
alias dropcmain="cp ~/scripts/c/main.c ./"
alias dropcppmain="cp ~/scripts/c/main.cpp ./"
alias telebot="/home/devi/scripts/telebot.py > /dev/null 2>&1 &"
-alias dw="~/df/df_linux/df"
+# alias dw="~/df/df_linux/df"
alias clean="clear"
alias lynx="lynx -lss ~/scripts/lynx.lss -cfg ~/scripts/lynx.cfg -prettysrc"
-alias hplovecraft="lynx http://www.hplovecraft.com/writings/texts/"
-alias casmith="lynx http://www.eldritchdark.com/writings/short-stories/"
-alias tt="transmission-cli -u 1 -w ~/winshare/"
+alias hplovecraft="w3m http://www.hplovecraft.com/writings/texts/"
+alias casmith="w3m http://www.eldritchdark.com/writings/short-stories/"
+# alias tt="transmission-cli -u 1 -w ~/winshare/"
alias w3m="torsocks w3m -graph"
#alias make="colormake"
#alias gcc="COLORMAKE_COMMAND=gcc colormake"
@@ -90,6 +92,8 @@ alias kshrc="vim ~/scripts/.kshrc"
alias fixkshrc="cp ~/scripts/.kshrc ~/.kshrc"
alias rangerrc="vim ~/scripts/.config/ranger/rc.conf"
alias fixrangerrc="cp ~/scripts/.config/ranger/rc.conf ~/.config/ranger/rc.conf"
+alias riflerc="vim ~/scripts/.config/ranger/rifle.conf"
+alias fixriflerc="cp ~/scripts/.config/ranger/rifle.conf ~/.config/ranger/rifle.conf"
alias zathurarc="vim ~/scripts/zathurarc"
alias fixzathurarc="cp ~/scripts/zathurarc ~/.config/zathura/"
alias lynxcfg="cp ~/scripts/lynx.cfg"
@@ -155,45 +159,45 @@ ZSH_AUTOSUGGEST_STRATEGY=(match_prev_cmd history completion)
ZSH_AUTOSUGGEST_USE_ASYNC=1
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=30
-function lemon {
+lemon() {
/home/devi/scripts/lemonbar.sh | lemonbar -f "DejaVu Sans Mono for Powerline:size=11" -g "x16"
}
-function docpp {
+docpp() {
cp ~/scripts/makefilecpp ./makefile
cp ~/scripts/c/main.cpp ./
cp ~/scripts/c/header.hpp ./
- cp ~/scripts/.ycm_extra_config.py ./.ycm_extra_conf.py
- cp ~/scripts/cfam.vimrc ./.vimrc
- cp ~/scripts/compiler-explorer/ceconfig.json ./
- cp ~/scripts/c/debug.dbg ./
+ # cp ~/scripts/.ycm_extra_config.py ./.ycm_extra_conf.py
+ # cp ~/scripts/cfam.vimrc ./.vimrc
+ # cp ~/scripts/compiler-explorer/ceconfig.json ./
+ # cp ~/scripts/c/debug.dbg ./
}
-function docc {
+docc() {
cp ~/scripts/makefilec ./makefile
cp ~/scripts/c/main.c ./
- cp ~/scripts/.ycm_extra_config.py ./.ycm_extra_conf.py
- cp ~/scripts/cfam.vimrc ./.vimrc
- cp ~/scripts/compiler-explorer/ceconfig.json ./
- cp ~/scripts/c/debug.dbg ./
+ # cp ~/scripts/.ycm_extra_config.py ./.ycm_extra_conf.py
+ # cp ~/scripts/cfam.vimrc ./.vimrc
+ # cp ~/scripts/compiler-explorer/ceconfig.json ./
+ # cp ~/scripts/c/debug.dbg ./
}
-function mdvv {
+mdvv() {
mdv -t 729.8953 "$@"
}
-function gdd {
+gdd() {
#git --no-pager diff --numstat | gawk \'{print$1$2}\'
git --no-pager diff --numstat | gawk '{sum1+=$1;sum2+=$2}END{print "additions:"sum1" ""deletions:"sum2}'
}
-function math {
+math() {
echo $(($@))
}
-function pid {
- ps -aux | grep "$1" | grep -v grep | awk '{print$2}'
-}
+# function pid {
+# ps -aux | grep "$1" | grep -v grep | awk '{print$2}'
+# }
#bicon_on=$(ps -aux | grep bicon | grep -v grep | awk '{print$2}')
#if [[ -z "${bicon_on// }" ]]; then
@@ -232,14 +236,16 @@ export YTFZF_PREF="22"
export YTFZF_ENABLE_FZF_DEFAULT_OPTS=1
export YTFZF_CACHE=~/.cache/ytfzf
-function fixrc {
+fixrc() {
cp ~/scripts/.zshrc ~/.zshrc
- source ~/.zshrc
+ # source ~/.zshrc
+ exec zsh
}
-function fixtheme {
+fixtheme() {
cp ~/scripts/devi.zsh-theme ~/.oh-my-zsh/themes/devi.zsh-theme
- source ~/.zshrc
+ # source ~/.zshrc
+ exec zsh
}
export PATH=$PATH:/home/devi/.cargo/bin
@@ -262,7 +268,7 @@ export PATH=$PATH:/home/devi/devi/ghorg
export EDITOR=vim
export BROWSER=w3m
-function dig {
+dig() {
globalholecounter=0
if test "$("ls" -A "/home/devi/devi/abbatoir")"; then
while [ 1 ]; do
@@ -290,9 +296,9 @@ function dig {
fi
}
-function clearhalf {
+clearhalf() {
clear
- size=$(stty size|gawk '{print$1}')
+ local size=$(stty size|gawk '{print$1}')
size=$(($size/2))
tput cup $size 0 && tput ed
}
@@ -301,34 +307,33 @@ alias halfclear="clearhalf"
alias halfclean="clearhalf"
alias dighalf="dig && cleanhalf"
-function nn {
- echo $1 >> ~/.devi/notes.txt
-}
+# function nn {
+# echo $1 >> ~/.devi/notes.txt
+# }
-function nnshow {
- cat ~/.devi/notes.txt
-}
+# function nnshow {
+# cat ~/.devi/notes.txt
+# }
-function nnedit {
- vim ~/.devi/notes.txt
-}
+# function nnedit {
+# vim ~/.devi/notes.txt
+# }
-function nnpurge {
- rm ~/.devi/notes.txt
-}
+# function nnpurge {
+# rm ~/.devi/notes.txt
+# }
-function lxx {
- readable $1 | lynx -stdin
-}
+# function lxx {
+# readable $1 | lynx -stdin
+# }
bindkey -v
set blink-matching-paren on
export KEYTIMEOUT=1
export VIRTUAL_ENV_DISABLE_PROMPT=yes
-#nvm
-export NVM_DIR="/home/devi/.nvm"
-[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
+# fnm
+eval "$(fnm env)"
# OPAM configuration
. /home/devi/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true
@@ -346,11 +351,11 @@ export NVM_DIR="/home/devi/.nvm"
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
# jellybeans takes forever to load. iceberg is very fast.
-function vman {
+vman() {
vim -c "Man $1 $2" -c 'silent only' -c 'colo iceberg' -c 'highlight Normal ctermbg=None' -c 'highlight lineNr ctermbg=16' -c 'hi EndOfBuffer ctermbg=16'
}
-function ddig {
+ddig() {
if [[ "$2" == "" ]];then
docker exec -it $(docker ps | grep "\b$1\b" | gawk '{print $1}') bash
else
@@ -358,12 +363,17 @@ function ddig {
fi
}
-fd() {
- preview="git diff $@ --color=always -- {-1}"
- git diff $@ --name-only | fzf -m --ansi --preview $preview
+timezsh() {
+ local shell=${1-$SHELL}
+ for i in $(seq 1 10); do /usr/bin/time $shell -i -c exit; done
}
-function pod2w3m {
+# fd() {
+# preview="git diff $@ --color=always -- {-1}"
+# git diff $@ --name-only | fzf -m --ansi --preview $preview
+# }
+
+pod2w3m() {
pod2html $1 | w3m -T text/html
}
@@ -381,12 +391,17 @@ setopt HIST_VERIFY
setopt SHARE_HISTORY
setopt AUTO_CD
setopt AUTO_PUSHD
+setopt NO_BEEP
+setopt INTERACTIVE_COMMENTS
+# no more C-s and C-q
+unsetopt FLOW_CONTROL
+setopt LONG_LIST_JOBS
# eval "$(goenv init -)"
# export PATH="$GOROOT/bin:$PATH"
# export PATH="$PATH:$GOPATH/bin"
-function fzf_postit() {
+fzf_postit() {
cat ~/scripts/postit | fzf-tmux -p 70%,70% -- --bind 'enter:execute(tmux set-buffer {})+accept'
}
@@ -394,17 +409,20 @@ function fzf_postit() {
# this should be here before the end
bindkey '
-bindkey -s '' 'fzf_postit '
+# bindkey -s '' 'fzf_postit '
+zle -N fzf_postit
+bindkey '' fzf_postit
is_in_git_repo() {
git rev-parse HEAD > /dev/null 2>&1
}
fzf-down() {
- fzf --height 50% --min-height 20 --border --bind ctrl-/:toggle-preview "$@"
+ fzf-tmux -p 80%,80% -- --bind ctrl-/:toggle-preview "$@"
}
-_gf() {
+# these i stole from junegunn to try out
+fzf_gf() {
is_in_git_repo || return
git -c color.status=always status --short |
fzf-down -m --ansi --nth 2..,.. \
@@ -412,7 +430,7 @@ _gf() {
cut -c4- | sed 's/.* -> //'
}
-_gb() {
+fzf_gb() {
is_in_git_repo || return
git branch -a --color=always | grep -v '/HEAD\s' | sort |
fzf-down --ansi --multi --tac --preview-window right:70% \
@@ -421,14 +439,14 @@ _gb() {
sed 's#^remotes/##'
}
-_gt() {
+fzf_gt() {
is_in_git_repo || return
git tag --sort -version:refname |
fzf-down --multi --preview-window right:70% \
--preview 'git show --color=always {}'
}
-_gh() {
+fzf_gm() {
is_in_git_repo || return
git log --date=short --format="%C(green)%C(bold)%cd %C(auto)%h%d %s (%an)" --graph --color=always |
fzf-down --ansi --no-sort --reverse --multi --bind 'ctrl-s:toggle-sort' \
@@ -437,20 +455,40 @@ _gh() {
grep -o "[a-f0-9]\{7,\}"
}
-_gr() {
+fzf_gr() {
is_in_git_repo || return
- git remote -v | awk '{print $1 "\t" $2}' | uniq |
+ git remote -v | gawk '{print $1 "\t" $2}' | uniq |
fzf-down --tac \
--preview 'git log --oneline --graph --date=short --pretty="format:%C(auto)%cd %h%d %s" {1}' |
cut -d$'\t' -f1
}
-_gs() {
+fzf_gs() {
is_in_git_repo || return
git stash list | fzf-down --reverse -d: --preview 'git show --color=always {1}' |
cut -d: -f1
}
+join-lines() {
+ local item
+ while read item; do
+ echo -n "${(q)item} "
+ done
+}
+
+bind-git-helper() {
+ local c
+ for c in $@; do
+ eval "fzf-g$c-widget() { local result=\$(fzf_g$c | join-lines); zle reset-prompt; LBUFFER+=\$result }"
+ eval "zle -N fzf-g$c-widget"
+ eval "bindkey '^g^$c' fzf-g$c-widget"
+ done
+}
+bindkey -r ""
+# bindkey -r "^H"
+bind-git-helper f b t r m s
+unset -f bind-git-helper
+
fshow() {
local out shas sha q k
while out=$(
@@ -471,6 +509,7 @@ fshow() {
fi
done
}
+
export LESS_TERMCAP_mb=$'\e[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\e[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\e[0m' # end mode
@@ -478,3 +517,23 @@ export LESS_TERMCAP_se=$'\e[0m' # end standout-mode
export LESS_TERMCAP_so=$'\e[38;5;246m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\e[0m' # end underline
export LESS_TERMCAP_us=$'\e[04;38;5;146m' # begin underline
+# handle the format of the zsh built-in time
+TIMEFMT="'$fg[green]%J$reset_color' time: $fg[blue]%*Es$reset_color, cpu: $fg[blue]%P$reset_color"
+
+# using Q instead of q in range quits but also cds to where you last where in ranger
+# https://github.com/ranger/ranger/wiki/Integration-with-other-programs#changing-directories
+ranger() {
+ local IFS=$'\t\n'
+ local tempfile="$(mktemp -t tmp.XXXXXX)"
+ local ranger_cmd=(
+ command
+ ranger
+ --cmd="map Q chain shell echo %d > "$tempfile"; quitall"
+ )
+
+ ${ranger_cmd[@]} "$@"
+ if [[ -f "$tempfile" ]] && [[ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]]; then
+ cd -- "$(cat "$tempfile")" || return
+ fi
+ command rm -f -- "$tempfile" 2>/dev/null
+}
diff --git a/bin/pdf2mp3 b/bin/pdf2mp3
new file mode 100755
index 0000000..3c9946c
--- /dev/null
+++ b/bin/pdf2mp3
@@ -0,0 +1,32 @@
+#!/usr/bin/env python3
+
+# first run this
+# docker run -p 9977:9998 apache/tika:2.0.0
+# export export TIKA_SERVER_ENDPOINT="http://127.0.0.1:9977"
+# finally run the script
+import argparse
+from gtts import gTTS
+from tika import parser
+
+
+class Argparser():
+ def __init__(self):
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--pdf",
+ type=str, help="path to the pdf")
+ parser.add_argument("--bool", action="store_true",
+ help="bool", default=False)
+ self.args = parser.parse_args()
+
+
+def main() -> None:
+ argparser = Argparser()
+ raw = parser.from_file(argparser.args.pdf)
+ print(raw['content'])
+ tts = gTTS(raw['content'])
+ tts.save("out.mp3")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/devi.zsh-theme b/devi.zsh-theme
index 1e68d7e..2c754f3 100644
--- a/devi.zsh-theme
+++ b/devi.zsh-theme
@@ -4,13 +4,19 @@
# git untracked files modification from Brian Carper:
# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt
-function virtualenv_info {
- if [[ -a ./bin/activate ]]; then
- source ./bin/activate > /dev/null
+virtualenv_info() {
+ # if [[ -a ./bin/activate ]]; then
+ # source ./bin/activate > /dev/null
+ # fi
+ # [ $VIRTUAL_ENV ] && echo ' ('`basename $VIRTUAL_ENV`')'
+ if [[ $VIRTUAL_ENV != "" ]];then
+ local result=$(basename $VIRTUAL_ENV)
+ echo " ($result)"
+ else
+ ;
fi
- [ $VIRTUAL_ENV ] && echo ' ('`basename $VIRTUAL_ENV`') '
}
-#add-zsh-hook chpwd virtualenv_info
+# add-zsh-hook chpwd virtualenv_info
PR_GIT_UPDATE=1
@@ -35,6 +41,8 @@ if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
swampgreen="%F{64}"
purple4="%F{54}"
deeppink="%F{109}"
+ someblue="%F{27}"
+ bluesomething="%F{25}"
limblue="%F{154}"
skyblue="%F{30}"
teal="%F{31}"
@@ -47,6 +55,8 @@ if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
rust="%F{36}"
typescript="%F{37}"
viinsert="%F{33}"
+ veryorange="%F{202}"
+ yablue="%F{32}"
else
turquoise="$fg[cyan]"
orange="$fg[yellow]"
@@ -63,7 +73,7 @@ zstyle ':vcs_info:*' enable git svn
# check-for-changes can be really slow.
# you should disable it, if you work with large repositories
-#zstyle ':vcs_info:*:prompt:*' check-for-changes true
+zstyle ':vcs_info:*:prompt:*' check-for-changes true
# set formats
# %b - branchname
@@ -84,8 +94,11 @@ zstyle ':vcs_info:*:prompt:*' actionformats "${FMT_BRANCH}${FMT_ACTION}"
zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}"
zstyle ':vcs_info:*:prompt:*' nvcsformats ""
+is_in_git_repo() {
+ git rev-parse HEAD > /dev/null 2>&1
+}
-function steeef_preexec {
+steeef_preexec() {
#case "$(history $HISTCMD)" in
case "$2" in
*git*)
@@ -98,9 +111,10 @@ function steeef_preexec {
}
add-zsh-hook preexec steeef_preexec
-function steeef_chpwd {
+steeef_chpwd() {
+ # is_in_git_repo || return
#this is here so we dont get errors when we are in a bare git dir
- result=$(git rev-parse --is-bare-repository 2> /dev/null)
+ local result=$(git rev-parse --is-bare-repository 2> /dev/null)
if [[ $? == 0 ]]; then
if [[ $result == true ]]; then
PR_GIT_UPDATE=
@@ -113,12 +127,12 @@ function steeef_chpwd {
}
add-zsh-hook chpwd steeef_chpwd
-function steeef_precmd {
+steeef_precmd() {
if [[ -n "$PR_GIT_UPDATE" ]] ; then
# check for untracked files or updated submodules, since vcs_info doesn't
if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
PR_GIT_UPDATE=1
- FMT_BRANCH="${PM_RST} on %{$turquoise%}%s-➜%r-➜%b%u%c%a%{$hotpink%} ●${PR_RST} "
+ FMT_BRANCH="${PM_RST} on %{$turquoise%}%s-➜%r-➜%b%u%c%a%{$hotpink%} ●${PR_RST}"
else
FMT_BRANCH="${PM_RST} on %{$turquoise%}%s-➜%r-➜%b%u%c%a${PR_RST} "
fi
@@ -130,132 +144,170 @@ function steeef_precmd {
}
add-zsh-hook precmd steeef_precmd
-function guess_who {
- upower -e > /dev/null 2>&1
+# function guess_who {
+# upower -e > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- os="lin"
- else
- os="win"
- fi
-}
-add-zsh-hook precmd guess_who
+# if [ $? -eq 0 ]; then
+# os="lin"
+# else
+# os="win"
+# fi
+# }
+# add-zsh-hook precmd guess_who
-function time_function {
- $guess_who
- if [[ "$os" = "win" ]]; then
- date | gawk 'BEGIN{RS=","}END{print $2" "$3}'
- else
- date | gawk '{print $4" "$5}'
- fi
+time_function() {
+ date | gawk '{print $2" "$3" "$4}'
}
-
-function node_version {
- nvm current
+# function time_function {
+# $guess_who
+# if [[ "$os" = "win" ]]; then
+# date | gawk 'BEGIN{RS=","}END{print $2" "$3}'
+# else
+# date | gawk '{print $4" "$5}'
+# fi
+# }
+
+node_version() {
+ local version=$(fnm current)
+ echo " <$version>"
}
-function sudo_query {
+sudo_query() {
sudo -nv > /dev/null 2>&1
if [[ $? == 0 ]]; then
#echo 
echo " "
else
- :
+ ;
fi
}
-function dir_writeable {
- if [ -w $(pwd) ]; then :;else echo ;fi
+dir_writeable() {
+ if [ -w $(pwd) ]; then :;else echo " ";fi
}
-function sneaky {
+sneaky() {
if [[ $! -ne 0 ]]; then
- echo $!
+ echo " $!"
fi
}
-function gitadditions {
+bg_job_count() {
+ local count=$(jobs | wc -l)
+ if [[ $count > 0 ]];then
+ echo " $count"
+ else
+ ;
+ fi
+}
+
+gitadditions() {
+ # is_in_git_repo || return
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
- insertions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum1+=$1}END{print sum1}')
+ local insertions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum1+=$1}END{print sum1}')
if [[ $insertions == "" ]]; then
- :
+ ;
else
echo " "$insertions:
fi
fi
}
-function gitdeletions {
+gitdeletions() {
+ # is_in_git_repo || return
git rev-parse --git-dir > /dev/null 2>&1
if [[ $? == 0 ]]; then
- deletions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum2+=$2}END{print sum2}')
+ local deletions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum2+=$2}END{print sum2}')
if [[ $deletions == "" ]]; then
- :
+ ;
else
- echo $deletions" "
+ echo $deletions
fi
fi
}
-function goversion {
- VERSION=$("go" version | gawk '{print $3}')
- echo ${VERSION:2:$((${#VERSION}))}
+goversion() {
+ local version=$("go" version | gawk '{print $3}')
+ echo " <${version:2:$((${#version}))}>"
}
-function rustversion {
- VERSION=$(rustc --version | gawk '{print $2}')
- echo $VERSION
+rustversion() {
+ local version=$(rustc --version | gawk '{print $2}')
+ echo " <$version>"
}
-function typescriptversion {
- VERSION=$(tvm tsc --version | gawk '{print $2}')
- echo $VERSION
+typescriptversion() {
+ local version=$(tvm tsc --version | gawk '{print $2}')
+ echo " <$version>"
}
-PROMPT=$'%{$new2%}$(sudo_query)%{$reset_color%}%{$swampgreen%}%n%{$reset_color%} on %{$purblue%}%M%{$reset_color%} in %{$limegreen%}%/%{$reset_color%} at %{$muckgreen%}$(time_function)%{$reset_color%}$(ruby_prompt_info " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$limblue%}%{$gnew%}$(gitadditions)%{$gnew2%}$(gitdeletions)%{$reset_color%}%{$deeppink%}$(virtualenv_info)%{$reset_color%} %{$teal%}<$(node_version)>%{$reset_color%} %{$gover%}<$(goversion)>%{$reset_color%} %{$rust%}<$(rustversion)>%{$reset_color%} %{$sneakyc%}$(sneaky)%{$reset_color%} %{$new%}$(rebuildquery)%{$reset_color%} %{$someblue%}<$ZSH_KUBECTL_PROMPT>%{$reset_color%}%{$batred%}$(dir_writeable)%{$reset_color%} \n%{$limblue%}--➜%{$reset_color%}'
-
-function battery_charge {
- upower -e > /dev/null 2>&1
-
- if [ $? -eq 0 ]; then
- batpath=$(upower -e | grep BAT0)
- batcharge=$(upower -i $batpath | grep percentage | gawk '{print $2}')
- else
- batcharge=$(wmic path win32_battery get estimatedchargeremaining | gawk 'BEGIN{RS=" \n"}{print$3}')
- fi
-
- batfull=100
- batgood=66
- batbad=33
-
- batcolor=$batgreen
-
- if [[ ($batcharge > $batgood) || ($batcharge == $batgood) || ("$batcharge"=="$batfull") ]]; then
- batcolor=$batgreen
- elif [[ ($batcharge < $batgood) && ($batcharge > $batbad) || ($batcharge == $batbad) ]]; then
- batcolor=$batyellow
- elif [[ ($batcharge < $batbad) ]]; then
- batcolor=$batred
+PROMPT=$'%{$new2%}$(sudo_query)%{$reset_color%}%{$swampgreen%}%n%{$reset_color%} on %{$purblue%}%M%{$reset_color%} in %{$limegreen%}%/%{$reset_color%} at %{$muckgreen%}$(time_function)%{$reset_color%}$vcs_info_msg_0_%{$limblue%}%{$gnew%}$(gitadditions)%{$gnew2%}$(gitdeletions)%{$reset_color%}%{$deeppink%}$(virtualenv_info)%{$reset_color%}%{$teal%}$(node_version)%{$reset_color%}%{$gover%}$(goversion)%{$reset_color%}%{$rust%}$(rustversion)%{$reset_color%}%{$sneakyc%}$(sneaky)%{$reset_color%}%{$new%}$(rebuildquery)%{$reset_color%} %{$someblue%}<$ZSH_KUBECTL_PROMPT>%{$reset_color%}%{$batred%}$(dir_writeable)%{$reset_color%}\n%{$limblue%}--➜%{$reset_color%}'
+
+# function battery_charge {
+# upower -e > /dev/null 2>&1
+
+# if [ $? -eq 0 ]; then
+# batpath=$(upower -e | grep BAT0)
+# batcharge=$(upower -i $batpath | grep percentage | gawk '{print $2}')
+# else
+# batcharge=$(wmic path win32_battery get estimatedchargeremaining | gawk 'BEGIN{RS=" \n"}{print$3}')
+# fi
+
+# batfull=100
+# batgood=66
+# batbad=33
+
+# batcolor=$batgreen
+
+# if [[ ($batcharge > $batgood) || ($batcharge == $batgood) || ("$batcharge"=="$batfull") ]]; then
+# batcolor=$batgreen
+# elif [[ ($batcharge < $batgood) && ($batcharge > $batbad) || ($batcharge == $batbad) ]]; then
+# batcolor=$batyellow
+# elif [[ ($batcharge < $batbad) ]]; then
+# batcolor=$batred
+# else
+# batcolor=$purple
+# fi
+# }
+# add-zsh-hook precmd battery_charge
+
+# function batcharge_printer {
+# $battery_charge
+# echo $(if [ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | gawk 'BEGIN{FS ~ ":"}{print $2}') = "charging" ]; then echo ++;else :;fi)$batcharge
+# }
+
+rebuildquery() {
+ make -q > /dev/null 2>&1
+ if [[ $? == 1 ]]; then
+ echo " ::rebuild::"
else
- batcolor=$purple
+ ;
fi
}
-add-zsh-hook precmd battery_charge
-function batcharge_printer {
- $battery_charge
- echo $(if [ $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | gawk 'BEGIN{FS ~ ":"}{print $2}') = "charging" ]; then echo ++;else :;fi)$batcharge
+inranger() {
+ local ranger_prompt=$(if [ -n "$RANGER_LEVEL" ];then echo " <ranger>";else echo "";fi)
+ echo $ranger_prompt
}
-function rebuildquery {
- make -q > /dev/null 2>&1
- if [[ $? == 1 ]]; then
- echo ::rebuild::
- else
- :
+timer_preexec() {
+ typeset -g -F SECONDS
+ timer=${timer:-$SECONDS}
+}
+add-zsh-hook preexec timer_preexec
+
+timer_precmd() {
+ if [ $timer ]; then
+ timer_show=$(($SECONDS - $timer))
+ timer_show=$((timer_show*1000))
+ typeset -g -i timer_show_int
+ timer_show_int=$timer_show
+ timer_final="$timer_show_int"mS
+ unset timer
fi
}
+add-zsh-hook precmd timer_precmd
#function vi-replacee {
# RPS1="$VIM_PROMPT_REPLACE %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
@@ -270,25 +322,26 @@ function rebuildquery {
source ~/.oh-my-zsh/plugins/zle-vi-visual/zle_vi_visual.zsh
function zle-line-init zle-keymap-select {
-VIM_PROMPT_INSERT="%{$fg_bold[cyan]%}% [% INS]% %{$reset_color%}"
-VIM_PROMPT_MAIN="%{$fg_bold[blue]%}% [% INSERT]% %{$reset_color%}"
-VIM_PROMPT_REPLACE="%{$fg_bold[black]%}% %{$bg_bold[red]%}% [% REPLACE]% %{$reset_color%}"
-VIM_PROMPT_VISUAL_LINE="%{$fg_bold[red]%}% [% VISUAL-LINE]% %{$reset_color%}"
-VIM_PROMPT_VISUAL_CHAR="%{$fg_bold[red]%}% [% VISUAL]% %{$reset_color%}"
-VIM_PROMPT_CMD="%{$fg_bold[green]%}% [% NORMAL]% %{$reset_color%}"
-if [[ $KEYMAP == vivis ]]; then
- RPS1="$VIM_PROMPT_VISUAL_CHAR %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
-elif [[ $KEYMAP == vivli ]]; then
- RPS1="$VIM_PROMPT_VISUAL_LINE %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
-elif [[ $KEYMAP == vicmd ]];then
- RPS1="$VIM_PROMPT_CMD %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
-elif [[ $KEYMAP == viins ]]; then
- RPS1="$VIM_PROMPT_INSERT %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
-elif [[ $KEYMAP == main ]]; then
- RPS1="$VIM_PROMPT_MAIN %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
- VI_MODE_R_ENTERED="no"
-fi
-zle reset-prompt
+ RIGHT_PROMPT="%{$teal%}$timer_final%{$reset_color%} %{$lorange%}%?↵%{$reset_color%}%{$veryorange%}$(bg_job_count)%{$reset_color%}%{$bluesomething%}$(inranger)%{$reset_color%}"
+ VIM_PROMPT_INSERT="%{$fg_bold[cyan]%}% [% INS]% %{$reset_color%}"
+ VIM_PROMPT_MAIN="%{$fg_bold[blue]%}% [% INSERT]% %{$reset_color%}"
+ VIM_PROMPT_REPLACE="%{$fg_bold[black]%}% %{$bg_bold[red]%}% [% REPLACE]% %{$reset_color%}"
+ VIM_PROMPT_VISUAL_LINE="%{$fg_bold[red]%}% [% VISUAL-LINE]% %{$reset_color%}"
+ VIM_PROMPT_VISUAL_CHAR="%{$fg_bold[red]%}% [% VISUAL]% %{$reset_color%}"
+ VIM_PROMPT_CMD="%{$fg_bold[green]%}% [% NORMAL]% %{$reset_color%}"
+ if [[ $KEYMAP == vivis ]]; then
+ RPS1="$VIM_PROMPT_VISUAL_CHAR $RIGHT_PROMPT"
+ elif [[ $KEYMAP == vivli ]]; then
+ RPS1="$VIM_PROMPT_VISUAL_LINE $RIGHT_PROMPT"
+ elif [[ $KEYMAP == vicmd ]];then
+ RPS1="$VIM_PROMPT_CMD $RIGHT_PROMPT"
+ elif [[ $KEYMAP == viins ]]; then
+ RPS1="$VIM_PROMPT_INSERT $RIGHT_PROMPT"
+ elif [[ $KEYMAP == main ]]; then
+ RPS1="$VIM_PROMPT_MAIN $RIGHT_PROMPT"
+ VI_MODE_R_ENTERED="no"
+ fi
+ zle reset-prompt
}
zle -N zle-line-init
@@ -296,4 +349,3 @@ zle -N zle-keymap-select
#bindkey "^[[3~" delete-char
#bindkey "^[3;5~" delete-char
export KEYTIMEOUT=1
-
diff --git a/docker/ipfs.sh b/docker/ipfs.sh
new file mode 100755
index 0000000..ea1c717
--- /dev/null
+++ b/docker/ipfs.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+
+IPFS_STAGING="/home/devi/.ipfs/staging";IPFS_DATA="/home/devi/.ippfs/data";docker run -d --name ipfs_host -v $IPFS_STAGING:/export -v $IPFS_DATA:/data/ipfs -p 4001:4001 -p 8881:8080 -p 5001:5001 ipfs/go-ipfs:latest
diff --git a/irssi/config b/irssi/config
index af19c09..f8a482e 100644
--- a/irssi/config
+++ b/irssi/config
@@ -1,3 +1,4 @@
+# vim: filetype=perl
servers = (
{
address = "irc.gitter.im";
@@ -14,7 +15,13 @@ servers = (
use_tls = "no";
tls_verify = "no";
autoconnect = "yes";
- }
+ },
+ {
+ address = "irc.libera.chat";
+ chatnet = "libera";
+ autoconnect = "yes";
+ },
+ { address = "irc.oftc.net"; chatnet = "oftc"; autoconnect = "yes"; }
);
chatnets = {
@@ -22,14 +29,15 @@ chatnets = {
OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; };
gitter = { type = "IRC"; nick = "terminaldweller"; };
"app.slack.com" = { type = "IRC"; nick = "terminaldweller"; };
- "FRRRouting.slack.com" = { type = "IRC"; };
"FRRouting.slack.com" = { type = "IRC"; };
};
channels = (
- { name = "#go-nuts"; chatnet = "freenode"; autojoin = "yes"; },
- { name = "#docker"; chatnet = "freenode"; autojoin = "yes"; },
- { name = "#dpdk"; chatnet = "libera"; autojoin = "yes"; }
+ { name = "#dpdk"; chatnet = "libera"; autojoin = "yes"; },
+ { name = "#qemu"; chatnet = "libera"; autojoin = "yes"; },
+ { name = "#fdio-vpp"; chatnet = "libera"; autojoin = "yes"; },
+ { name = "#openssl"; chatnet = "libera"; autojoin = "yes"; },
+ { name = "#kvm"; chatnet = "libera"; autojoin = "yes"; }
);
aliases = {
@@ -319,6 +327,13 @@ statusbar = {
barend = { priority = "100"; alignment = "right"; };
};
};
+ awl_1 = {
+ items = {
+ barstart = { priority = "100"; };
+ awl_1 = { };
+ barend = { priority = "100"; alignment = "right"; };
+ };
+ };
};
};
settings = {
@@ -357,7 +372,7 @@ settings = {
usercount_show_ircops = "ON";
usercount_show_zero = "ON";
timezones_divider = " %Zeeeeee%Z008080 ";
- timezones = "GMT:GMT EST:EST UTC:UTC";
+ timezones = "GMT:GMT EST:EST CET:CET Tehran:Asia/Tehran Tokyo:Asia/Tokyo Montreal:America/Montreal Pacific:America/Los_Angeles Paris:Europe/Paris";
# hilite_url
url_color = "38;5;6";
};
@@ -376,5 +391,7 @@ ignores = (
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#neomutt" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#kvm" ); },
{ level = "JOINS PARTS QUITS NICKS"; channels = ( "#qemu" ); },
- { level = "JOINS PARTS QUITS NICKS"; channels = ( "#vagrant" ); }
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#vagrant" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#openssl" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#crypto" ); }
);
diff --git a/irssi/startup b/irssi/startup
index c09f401..af4706d 100644
--- a/irssi/startup
+++ b/irssi/startup
@@ -7,5 +7,5 @@
/* /EVAL SET proxy_string CONNECT %s:%d HTTP/1.0\n\n */
/* /SET -clear proxy_password */
-/connect irc.oftc.net
-/connect irc.libera.chat
+/* /connect irc.oftc.net */
+/* /connect irc.libera.chat */
diff --git a/tmux/date.sh b/tmux/date.sh
index 4c26bbc..c272d07 100755
--- a/tmux/date.sh
+++ b/tmux/date.sh
@@ -14,7 +14,7 @@ UTC_TIME="#[fg=colour255 bg=colour25]"$(echo GMT: $UTC_TIME_RESULT)
# JDATE="#[fg=colour255 bg=colour29]"$(jdate | gawk '{print $2" "$3}')
JDATE="#[fg=colour255 bg=colour29]"$(jdate | gawk '{print $2" "$3}')
OPENWEATHERMAP_TOKEN=$(cat /home/devi/scripts/tmux/openweathermap.json|jq -r ".token")
-WEATHER_INFO=$(curl "https://api.openweathermap.org/data/2.5/weather?q=Tehran&appid=$OPENWEATHERMAP_TOKEN&units=metric"|jq ".main.temp")
+WEATHER_INFO=$(sleep 120 && curl "https://api.openweathermap.org/data/2.5/weather?q=Tehran&appid=$OPENWEATHERMAP_TOKEN&units=metric"|jq ".main.temp")
WEATHER="#[fg=colour255 bg=colour32]"$(echo $WEATHER_INFO" C")
echo "#[fg=colour32 bg=colour16]$SEPARATOR_LEFT_BOLD$WEATHER#[fg=colour29 bg=colour32]$SEPARATOR_LEFT_BOLD$JDATE #[fg=colour31 bg=colour29]$SEPARATOR_LEFT_BOLD$DAY $SEPARATOR_LEFT_THIN $DATE $SEPARATOR_LEFT_THIN $TIME #[fg=colour25 bg=colour31]$SEPARATOR_LEFT_BOLD$UTC_TIME "