batch update

This commit is contained in:
Jan Andrle 2024-08-01 16:45:19 +02:00
parent ff79c4e21f
commit 28c0c0198f
Signed by: jaandrle
GPG Key ID: B3A25AED155AFFAB
9 changed files with 91 additions and 79 deletions

View File

@ -1,8 +1,5 @@
[filter "lfs"] [init]
clean = git-lfs clean -- %f defaultBranch = main
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[user] [user]
name = Jan Andrle name = Jan Andrle
email = andrle.jan@centrum.cz email = andrle.jan@centrum.cz
@ -38,6 +35,11 @@
editor = vim editor = vim
pager = delta pager = delta
whitespace = -trailing-space,-space-before-tab whitespace = -trailing-space,-space-before-tab
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[status] [status]
submoduleSummary = true submoduleSummary = true
[diff] [diff]
@ -61,8 +63,6 @@
reflogExpireUnreachable = 90 reflogExpireUnreachable = 90
[push] [push]
autoSetupRemote = true autoSetupRemote = true
[init]
defaultBranch = main
[commit] [commit]
gpgsign = true gpgsign = true
[rerere] [rerere]

View File

@ -13,6 +13,18 @@
"version": "release-3.4.2-linux1", "version": "release-3.4.2-linux1",
"glare": ".*x86_64.*.AppImage" "glare": ".*x86_64.*.AppImage"
}, },
{
"repository": "pinokiocomputer/pinokio",
"name": "Pinokio",
"group": "ai",
"file_name": "pinokio",
"exec": "yes",
"description": "AI Browser",
"glare": "AppImage",
"last_update": "2024-07-17T20:36:36Z",
"version": "2.0.4",
"downloads": "/home/jaandrle/bin/pinokio"
},
{ {
"repository": "jaandrle/jaaCSS-cli", "repository": "jaandrle/jaaCSS-cli",
"name": "jaaCSS", "name": "jaaCSS",
@ -32,9 +44,9 @@
"group": "nondev", "group": "nondev",
"file_name": "youtube-music", "file_name": "youtube-music",
"exec": "yes", "exec": "yes",
"last_update": "2024-06-08T11:04:49Z", "last_update": "2024-07-14T15:26:52Z",
"downloads": "/home/jaandrle/bin/youtube-music", "downloads": "/home/jaandrle/bin/youtube-music",
"version": "v3.3.12", "version": "v3.4.1",
"glare": "AppImage" "glare": "AppImage"
}, },
{ {
@ -164,9 +176,9 @@
"group": "nondev", "group": "nondev",
"file_name": "fedistar", "file_name": "fedistar",
"exec": "yes", "exec": "yes",
"last_update": "2024-06-20T14:45:03Z", "last_update": "2024-07-21T09:19:41Z",
"downloads": "/home/jaandrle/bin/fedistar", "downloads": "/home/jaandrle/bin/fedistar",
"version": "v1.9.7", "version": "v1.9.9",
"glare": ".*amd64.*.AppImage" "glare": ".*amd64.*.AppImage"
}, },
{ {
@ -176,9 +188,9 @@
"group": "ai", "group": "ai",
"file_name": "ollama", "file_name": "ollama",
"exec": "yes", "exec": "yes",
"last_update": "2024-07-02T19:25:35Z", "last_update": "2024-07-21T18:21:56Z",
"downloads": "/home/jaandrle/bin/ollama", "downloads": "/home/jaandrle/bin/ollama",
"version": "v0.1.49-rc3", "version": "v0.2.8-rc1",
"glare": "linux-amd64" "glare": "linux-amd64"
}, },
{ {
@ -200,9 +212,9 @@
"group": "dev", "group": "dev",
"file_name": "escrcpy", "file_name": "escrcpy",
"exec": "yes", "exec": "yes",
"last_update": "2024-07-02T01:38:32Z", "last_update": "2024-07-14T08:47:24Z",
"downloads": "/home/jaandrle/bin/escrcpy", "downloads": "/home/jaandrle/bin/escrcpy",
"version": "v1.19.4", "version": "v1.21.4",
"glare": ".*x86_64.*.AppImage" "glare": ".*x86_64.*.AppImage"
}, },
{ {
@ -224,9 +236,9 @@
"group": "ai", "group": "ai",
"file_name": "jan", "file_name": "jan",
"exec": "yes", "exec": "yes",
"last_update": "2024-06-21T09:44:25Z", "last_update": "2024-07-15T08:37:42Z",
"downloads": "/home/jaandrle/bin/jan", "downloads": "/home/jaandrle/bin/jan",
"version": "v0.5.1", "version": "v0.5.2",
"glare": ".*x86_64.*.AppImage" "glare": ".*x86_64.*.AppImage"
}, },
{ {

View File

@ -9,7 +9,11 @@ globalThis.cyclicLoop= function*(items){
} }
Reflect.defineProperty($, "clipboard", { Reflect.defineProperty($, "clipboard", {
get(){ return s.$().run`xclip -o -selection clipboard`; } get(){
if($.env.XDG_SESSION_TYPE === "x11")
return s.$().run`xclip -o -selection clipboard`;
return s.$().run`wl-paste`;
}
}) })
// /** Custom uncaughtException function */ // /** Custom uncaughtException function */

View File

@ -44,7 +44,9 @@ unbindurl ^https://www.youtube.com/* <<
bindurl ^https://www.youtube.com/* ss fillcmdline open B: YT bindurl ^https://www.youtube.com/* ss fillcmdline open B: YT
bindurl ^https://www.o2tv.cz/* ss fillcmdline open B: O2 bindurl ^https://www.o2tv.cz/* ss fillcmdline open B: O2
bindurl ^https://chatgpt.com/* ss fillcmdline open B: OPENAI bindurl ^https://chatgpt.com/* ss fillcmdline open B: OPENAI
bindurl ^https://chat.mistral.ai/chat* ss fillcmdline open B: OPENAI
bindurl ^https://rss.jaandrle.cz/* ss nmode ignore 1 mode normal
bindurl ^https://rss.jaandrle.cz/* sn hint -c div
command pauseVideos js Array.from(document.querySelectorAll("video")).forEach(el=> ( location.hostname!=="www.o2tv.cz" ? el.pause() : [ "Pauza" ].map(l=> document.querySelector(`[aria-label=${l}]`)).find(Boolean)?.dispatchEvent(new Event("click")) )) command pauseVideos js Array.from(document.querySelectorAll("video")).forEach(el=> ( location.hostname!=="www.o2tv.cz" ? el.pause() : [ "Pauza" ].map(l=> document.querySelector(`[aria-label=${l}]`)).find(Boolean)?.dispatchEvent(new Event("click")) ))
tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${document.title.replace(/["':|\.,\?\!_]/g, '').replace(/ /g, '-').toLowerCase()}`) tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${document.title.replace(/["':|\.,\?\!_]/g, '').replace(/ /g, '-').toLowerCase()}`)
@ -64,6 +66,7 @@ bind dd tabclose
unbind --mode=normal s unbind --mode=normal s
bind st fillcmdline_notrail tab bind st fillcmdline_notrail tab
bind \t fillcmdline_notrail tab
" h keyboardlayoutoverrides … https://gistpreview.github.io/?324119c773fac31651f6422087b36804 " h keyboardlayoutoverrides … https://gistpreview.github.io/?324119c773fac31651f6422087b36804
" set keyboardlayoutoverrides "Digit2: ;, Backquote: :" " set keyboardlayoutoverrides "Digit2: ;, Backquote: :"
@ -83,7 +86,7 @@ bind --mode=normal n fillcmdline tabopen
bind --mode=normal N current_url tabopen bind --mode=normal N current_url tabopen
bind -c fillcmdline recontain bind -c fillcmdline recontain
bind sc fillcmdline_notrail container bind \c fillcmdline_notrail container
bind --mode=visual \t composite js "https://libretranslate.com/?source=auto&target=cs&q="+encodeURI(document.getSelection().toString()) | tabopen bind --mode=visual \t composite js "https://libretranslate.com/?source=auto&target=cs&q="+encodeURI(document.getSelection().toString()) | tabopen
bind --mode=visual \T composite js "https://translate.google.com/?sl=auto&tl=cs&op=translate&text="+encodeURI(document.getSelection().toString()) | tabopen bind --mode=visual \T composite js "https://translate.google.com/?sl=auto&tl=cs&op=translate&text="+encodeURI(document.getSelection().toString()) | tabopen
@ -96,12 +99,6 @@ bind gnC tabopen -c osobní https://calendar.google.com
bind goC open -c osobní https://calendar.google.com bind goC open -c osobní https://calendar.google.com
bind gwC winopen -c osobní https://calendar.google.com bind gwC winopen -c osobní https://calendar.google.com
" Sites (mails) notes using Github Gists
bind sn js tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${document.title.replace(/["':|\.,\?\!_]/g, '').replace(/ /g, '-').toLowerCase()}`)
bind sN composite clipboard yankmd ; tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62/edit
bindurl ^https://mail.centrum.cz/* sn js tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${(new URLSearchParams(window.location.search)).get("msg")}`)
bindurl ^https://mail.centrum.cz/* sN composite js tri.controller.acceptExCmd(`clipboard yank [${(new URLSearchParams(window.location.search)).get("msg")}](https://mail.centrum.cz/?msg=${(new URLSearchParams(window.location.search)).get("msg")})`) ; tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62/edit
alias hint_focus hint -; alias hint_focus hint -;
quickmark c moz-extension://616498c0-3916-4f0b-b0a9-ce01ecf2298d/popup.html quickmark c moz-extension://616498c0-3916-4f0b-b0a9-ce01ecf2298d/popup.html

View File

@ -35,3 +35,8 @@ export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
PATH=/home/jaandrle/.local/share/umake/bin:$PATH PATH=/home/jaandrle/.local/share/umake/bin:$PATH
[ -f /home/jaandrle/.bash/.profile_androidsdk ] && . /home/jaandrle/.bash/.profile_androidsdk [ -f /home/jaandrle/.bash/.profile_androidsdk ] && . /home/jaandrle/.bash/.profile_androidsdk
# Added by Toolbox App
export PATH="$PATH:/home/jaandrle/.local/share/JetBrains/Toolbox/scripts"

View File

@ -1,3 +1,3 @@
execute "source ".system("mdexpr-agenda vim 2> /dev/null") execute "source ".system("mdexpr-agenda vim 2> /dev/null")
command MDEXPRclose lclose | lexpr [] command MDEXPRclose lclose | lexpr []
call scommands#map('m', 'MDEXPR', "n") cabbrev žm feedkeys("MDEXPR")

View File

@ -9,10 +9,13 @@ let g:user_tips_list= [
\ ':set foldopen-=search', \ ':set foldopen-=search',
\ 'Buffer info → <c-g> g<c-g> … :map <buffer><tab>', \ 'Buffer info → <c-g> g<c-g> … :map <buffer><tab>',
\ 'Rename file → :saveas * | :silent !rm # | :bw #', \ 'Rename file → :saveas * | :silent !rm # | :bw #',
\ 'packadd cfilter', \ 'packadd cfilter justify',
\ 'Next word location → ]I [I ]<c-I> [<c-I> … <leader>]I <leader>[I', \ 'Next word location → ]I [I ]<c-I> [<c-I> … <leader>]I <leader>[I',
\ ':w !sudo tee > /dev/null %', \ ':w !sudo tee > /dev/null %',
\ 'v`]o`[ visual last change — https://www.reddit.com/r/vim/comments/ypt6uf/comment/ivl68xu/?utm_source=share&utm_medium=web2x&context=3', \ 'v`]o`[ visual last change — https://www.reddit.com/r/vim/comments/ypt6uf/comment/ivl68xu/?utm_source=share&utm_medium=web2x&context=3',
\ ':exec ''argdo bw'' | %argdelete',
\ 'changes g, g; || jumps ^i ^o || marks g`…',
\ 'set foldmethod=marker/indent foldlevel=i foldnestmax=j',
\ '`0·`"·`.·`` … last exit·edit·change·pre-jump … also g''*', \ '`0·`"·`.·`` … last exit·edit·change·pre-jump … also g''*',
\ 'q: q? q/ … @: ?<cr> /<cr> :&<cr> , ;', \ 'q: q? q/ … @: ?<cr> /<cr> :&<cr> , ;',
\ '<c-n><c-p> <c-x><c-l> <c-x><c-f> … :h ins-completion', \ '<c-n><c-p> <c-x><c-l> <c-x><c-f> … :h ins-completion',

75
.vimrc
View File

@ -1,10 +1,10 @@
""" VIM config file | Jan Andrle | 2024-02-07 (VIM >=8.1) """ VIM config file | Jan Andrle | 2024-07-10 (VIM >=8.1)
"" #region B Base "" #region B Base
scriptencoding utf-8 | set encoding=utf-8 scriptencoding utf-8 | set encoding=utf-8
let $BASH_ENV = "~/.bashrc" let $BASH_ENV = "~/.bashrc"
set runtimepath^=~/.vim/bundle/* set runtimepath^=~/.vim/bundle/*
packadd! matchit packadd! matchit
set hidden " set hidden
set title set title
colorscheme codedark colorscheme codedark
@ -13,6 +13,7 @@
set belloff=esc set belloff=esc
set confirm set confirm
set guioptions-=T set guioptions-=T
set shortmess-=i
cabbrev <expr> %PWD% execute('pwd') cabbrev <expr> %PWD% execute('pwd')
cabbrev <expr> %CD% fnameescape(expand('%:p:h')) cabbrev <expr> %CD% fnameescape(expand('%:p:h'))
@ -48,25 +49,15 @@
let g:vifm_replace_netrw= 1 | let g:loaded_netrw= 1 | let g:loaded_netrwPlugin= 1 " this line needs to be commented to let vim dowmload spelllangs!!! … see http://jdem.cz/fgyw25 let g:vifm_replace_netrw= 1 | let g:loaded_netrw= 1 | let g:loaded_netrwPlugin= 1 " this line needs to be commented to let vim dowmload spelllangs!!! … see http://jdem.cz/fgyw25
""" #endregion BB """ #endregion BB
"" #endregion B "" #endregion B
"" #region H Helpers + remap 'sS' (primary ss, see `vim-scommands`) "" #region H Helpers
nmap sh :execute 'ALTredir :map s \<bar> map '.mapleader.' \<bar> map § \<bar> map ů \<bar> map ; \<bar> map U \<bar> map ž'<cr>:g/^$/d<cr>:g/^v s/m$<cr>úgg
call scommands#map('s', 'CL', "n,v")
command! -nargs=? CLscratch 10split | enew | setlocal buftype=nofile bufhidden=wipe noswapfile nobuflisted | if <q-args>!='' | execute 'normal "'.<q-args>.'p' | endif | nnoremap <buffer> ;q :q<cr> command! -nargs=? CLscratch 10split | enew | setlocal buftype=nofile bufhidden=wipe noswapfile nobuflisted | if <q-args>!='' | execute 'normal "'.<q-args>.'p' | endif | nnoremap <buffer> ;q :q<cr>
call scommands#map('S', 'SET', "n,v")
call scommands#map('a', 'ALT', "n,V")
cabbrev ALTR ALTredrawSyntax cabbrev ALTR ALTredrawSyntax
set grepprg=LC_ALL=C\ grep\ -nrsH set grepprg=LC_ALL=C\ grep\ -nrsH
command! -nargs=0 command! -nargs=0
\ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft \ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft
command! -complete=command -bar -range -nargs=+ command! -complete=command -bar -range -nargs=+
\ ALTredir call jaandrle_utils#redir(0, <q-args>, <range>, <line1>, <line2>) \ ALTredir call jaandrle_utils#redir(0, <q-args>, <range>, <line1>, <line2>)
command! -nargs=+ -complete=file_in_path -bar
\ ALTgrep cgetexpr jaandrle_utils#grep(<f-args>) | call setqflist([], 'a', {'title': ':' . g:jaandrle_utils#last_command})
command! -nargs=+ -complete=file_in_path -bar
\ ALTlgrep lgetexpr jaandrle_utils#grep(<f-args>) | call setloclist(0, [], 'a', {'title': ':' . g:jaandrle_utils#last_command})
command! -nargs=0
\ ALTargsBWQA execute 'argdo bw' | %argdelete
let g:quickfix_len= 0 let g:quickfix_len= 0
function! QuickFixStatus() abort function! QuickFixStatus() abort
@ -99,7 +90,7 @@
"" #endregion H "" #endregion H
"" #region SLH Status Line + Command Line + History (general) + Sessions + File Update, … "" #region SLH Status Line + Command Line + History (general) + Sessions + File Update, …
set showcmd cmdheight=2 showmode set showcmd cmdheight=2 showmode
set wildmenu wildoptions=pum set wildmenu wildoptions=pum,fuzzy
"" wildmode=list:longest,list:full " Tab autocomplete in command mode "" wildmode=list:longest,list:full " Tab autocomplete in command mode
cabbrev wbw w<bar>bw cabbrev wbw w<bar>bw
@ -144,13 +135,12 @@
set pastetoggle=<F2> | nnoremap <F2> :set invpaste paste?<CR> set pastetoggle=<F2> | nnoremap <F2> :set invpaste paste?<CR>
nnoremap <silent> <leader>" :call jaandrle_utils#copyRegister()<cr> nnoremap <silent> <leader>" :call jaandrle_utils#copyRegister()<cr>
nmap <expr> š buffer_number("#")==-1 ? "sš<cr>" : "\<c-^>" nmap <expr> š buffer_number("#")==-1 ? "\<leader>š<cr>" : "\<c-^>"
nmap s3 :buffers<cr>:b<space> nmap <leader>3 :buffers<cr>:b<space>
nmap sš :CtrlPBuffer<cr> nmap <leader>š :CtrlPBuffer<cr>
nmap č sš nmap č <leader>š
let g:ctrlp_map = 'ě' let g:ctrlp_map = 'ě'
command! -nargs=? SETctrlp execute 'nnoremap '.g:ctrlp_map.' :CtrlP <args><cr>' command! -nargs=? SETctrlp execute 'nnoremap '.g:ctrlp_map.' :CtrlP <args><cr>'
call scommands#map(g:ctrlp_map, 'CtrlP', "n")
let g:ctrlp_clear_cache_on_exit = 0 let g:ctrlp_clear_cache_on_exit = 0
let g:ctrlp_prompt_mappings= { let g:ctrlp_prompt_mappings= {
\ 'ToggleType(1)': ['<c-up>'], \ 'ToggleType(1)': ['<c-up>'],
@ -173,7 +163,6 @@
set wildignore+=*.pdf,*.psd set wildignore+=*.pdf,*.psd
nmap <leader>e :Vifm<cr> nmap <leader>e :Vifm<cr>
call scommands#map('e', 'Vifm', "n")
nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand('<cfile>'), '?', '\\?', ''), 1)."'" \| redraw!<cr> nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand('<cfile>'), '?', '\\?', ''), 1)."'" \| redraw!<cr>
vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw!<cr> vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw!<cr>
"" #endregion FOS "" #endregion FOS
@ -182,12 +171,8 @@
if maparg('<C-L>', 'n') ==# '' if maparg('<C-L>', 'n') ==# ''
nnoremap <silent> <c-l> :nohlsearch<c-r>=has('diff')?'<bar>diffupdate':''<cr><cr><c-l> | endif nnoremap <silent> <c-l> :nohlsearch<c-r>=has('diff')?'<bar>diffupdate':''<cr><cr><c-l> | endif
call scommands#map('n', 'NAV', "n")
command! NAVjumps call jaandrle_utils#gotoJumpChange('jump')
command! NAVchanges call jaandrle_utils#gotoJumpChange('change')
command! NAVmarks call jaandrle_utils#gotoMarks()
let g:markbar_persist_mark_names = v:false let g:markbar_persist_mark_names = v:false
let g:markbar_cache_with_hidden_buffers = v:false " last buffers are reopened as hidden https://github.com/Yilin-Yang/vim-markbar/blob/9f5a948d44652074bf2b90d3da6a400d8a369ba5/doc/vim-markbar.txt#L136
nmap <Leader>m <Plug>ToggleMarkbar nmap <Leader>m <Plug>ToggleMarkbar
"" #endregion EN "" #endregion EN
"" #region EA Editing adjustment + Syntax + White chars + Folds "" #region EA Editing adjustment + Syntax + White chars + Folds
@ -250,10 +235,10 @@
nnoremap <s-k> a<cr><esc> nnoremap <s-k> a<cr><esc>
for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ] for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ]
execute m.'noremap <leader>'.l.' "+'.l | endfor | endfor execute m.'noremap <leader>'.l.' "+'.l | endfor | endfor
" FOLDS " TODO DEL: FOLDS
command! -nargs=0 SETFOLDregions set foldmethod=marker " TODO DEL: command! -nargs=0 SETFOLDregions set foldmethod=marker
command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel=<q-args> | let &foldnestmax=<q-args>+1 " TODO DEL: command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel=<q-args> | let &foldnestmax=<q-args>+1
command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(<q-args>, ' ')[0] | let &foldnestmax=split(<q-args>, ' ')[1] " TODO DEL: command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(<q-args>, ' ')[0] | let &foldnestmax=split(<q-args>, ' ')[1]
set foldmarker=#region,#endregion set foldmarker=#region,#endregion
" SAVE VIEW " SAVE VIEW
set viewoptions=cursor,folds set viewoptions=cursor,folds
@ -264,7 +249,6 @@
augroup END augroup END
"" #endregion EA "" #endregion EA
"" #region GIT "" #region GIT
call scommands#map('g', 'GIT', "n,V")
function s:gitCompletion(_, CmdLine, __) function s:gitCompletion(_, CmdLine, __)
let l:cmd= a:CmdLine->split() let l:cmd= a:CmdLine->split()
let l:cmd_start= l:cmd[0] let l:cmd_start= l:cmd[0]
@ -339,7 +323,7 @@
endif endif
endfunction endfunction
set completeopt=menuone,preview,noinsert,noselect set completeopt=menuone,longest,preview "longest vs ,noinsert,noselect
inoremap <silent><expr> <F1> coc#pum#visible() ? coc#pum#confirm() : coc#refresh() inoremap <silent><expr> <F1> coc#pum#visible() ? coc#pum#confirm() : coc#refresh()
set wildcharm=<f1> set wildcharm=<f1>
inoremap <silent><expr> <tab> coc#pum#visible() ? coc#pum#next(1) : <sid>check_back_space() ? "\<tab>" : coc#refresh() inoremap <silent><expr> <tab> coc#pum#visible() ? coc#pum#next(1) : <sid>check_back_space() ? "\<tab>" : coc#refresh()
@ -352,11 +336,13 @@
nmap <silent> gd <Plug>(coc-definition) nmap <silent> gd <Plug>(coc-definition)
nmap <leader>/ :CocSearch nmap <leader>/ :CocSearch
nmap <leader>? <leader>/ nmap <leader>? <leader>/
command! -bang NAVdiagnostic call CocActionAsync('diagnostic'.( "<bang>" == '!' ? 'Previous' : 'Next' )) command! -nargs=* -complete=customlist,<sid>SCommandCocActionComplete CocAction call CocActionAsync(<f-args>)
command! NAVdefinition call CocActionAsync('jumpDefinition') function s:SCommandCocActionComplete(argLead, cmdLine, cursorPos)
command! NAVtype call CocActionAsync('jumpTypeDefinition') return readfile(expand('~/.vim/pack/coc/start/coc.nvim/doc/tags'), 'r')
command! NAVimplementation call CocActionAsync('jumpImplementation') \->filter('v:val =~ ''^CocAction''')
command! NAVreferences call CocActionAsync('jumpReferences') \->map({ k, v -> strpart(v, 11, stridx(v, ')')-12) })
\->filter({ k, v -> v =~ a:argLead && !v->empty() })
endfunction
" navigate diagnostics, use `:CocDiagnostics` to get all diagnostics of current buffer in location list. " navigate diagnostics, use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nnoremap <silent> gh :call <sid>show_documentation(expand("<cword>"))<cr> nnoremap <silent> gh :call <sid>show_documentation(expand("<cword>"))<cr>
vnoremap <silent> gh :<c-u>call <sid>show_documentation(mini_enhancement#selectedText())<cr> vnoremap <silent> gh :<c-u>call <sid>show_documentation(mini_enhancement#selectedText())<cr>
@ -372,11 +358,13 @@
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
endif endif
""" #endregion COCP """ #endregion COCP
command! -nargs=? SETFOLDcoc :call CocAction('fold', <f-args>) " TODO DEL: command! -nargs=? SETFOLDcoc :call CocAction('fold', <f-args>)
call scommands#map('C', 'Coc', "n,v") command! -nargs=? CLhelpMy if <q-args>!='' | exec 'map '.<q-args> | else | call popup_notification([
nmap sc :CocList lists<cr> \ 'Custom mappings starting: '.mapleader.',§, ů, ;, U, ž',
nmap Sc :CocListResume<cr> \ 'Custom commands starting: CL, SET, ALT, CtrlP, Vifm, GIT, Coc',
\ 'Helpful commands: CocAction, CocCommand, CocList',
\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 }) | endif
nnoremap <c-g> :CLwhereami<cr> nnoremap <c-g> :CLwhereami<cr>
command! CLwhereami :call popup_notification([ command! CLwhereami :call popup_notification([
\expand('%:t').( coc#status() != "" ? '/'.CocAction("getCurrentFunctionSymbol")."\t…\t".coc#status() : '' ), \expand('%:t').( coc#status() != "" ? '/'.CocAction("getCurrentFunctionSymbol")."\t…\t".coc#status() : '' ),
@ -384,18 +372,13 @@
\"Line:\t".line('.').' / '.line('$'), \"Line:\t".line('.').' / '.line('$'),
\"Column:\t".col('.').' / '.col('$'), \"Column:\t".col('.').' / '.col('$'),
\"Path:\t".expand('%:p:h') \"Path:\t".expand('%:p:h')
\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 3000 }) \], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 })
command! CLhelpCocPlug call feedkeys(':<c-u>help <Plug>(coc ', 'tn') command! CLhelpCocPlug call feedkeys(':<c-u>help <Plug>(coc ', 'tn')
command! CLhelpCocAction call feedkeys(':<c-u>help CocAction('' ', 'tn') command! CLhelpCocAction call feedkeys(':<c-u>help CocAction('' ', 'tn')
command! CLrename call CocActionAsync('rename')
command! CLrenameFile exec 'CocCommand workspace.renameCurrentFile'
command! -nargs=? -bang command! -nargs=? -bang
\ CLreplace call feedkeys(':<c-u>'.(<q-args>==''?'.':<q-args>).'s/'.("<bang>"=='!'?mini_enhancement#selectedText():expand('<cword>')).'//cgODODOD', 'tn') \ CLreplace call feedkeys(':<c-u>'.(<q-args>==''?'.':<q-args>).'s/'.("<bang>"=='!'?mini_enhancement#selectedText():expand('<cword>')).'//cgODODOD', 'tn')
command! CLrepeatLastChange call feedkeys('/\V<C-r>"<CR>cgn<C-a><Esc>', 'tn') command! CLrepeatLastChange call feedkeys('/\V<C-r>"<CR>cgn<C-a><Esc>', 'tn')
command! CLjsdoc exec 'CocCommand docthis.documentThis'
command! CLjshintGlobal normal yiwmm?\/\* global<cr><c-l>f*hi, p`m command! CLjshintGlobal normal yiwmm?\/\* global<cr><c-l>f*hi, p`m
command! CLcodeactionCursor call CocActionAsync('codeAction', 'cursor')
command! CLfixCodeQuick call CocActionAsync('doQuickfix')
function! AIcodeFn(range, ...) range abort function! AIcodeFn(range, ...) range abort
let l:instruction = 'Hi, can you help me with ' . &filetype . 'code? Thanks in advance. I would like to: ' let l:instruction = 'Hi, can you help me with ' . &filetype . 'code? Thanks in advance. I would like to: '

View File

@ -37,7 +37,7 @@ const path_config= $.xdg.config`github-releases`;
const path_config_json= join(path_config, "config.json"); const path_config_json= join(path_config, "config.json");
const path_config_lock= join(path_config, "lock"); const path_config_lock= join(path_config, "lock");
const path_temp= $.xdg.temp`github-releases.json`; const path_temp= $.xdg.temp`github-releases.json`;
const url_api= "https://api.github.com/repos/"; const url_api= "https://api.github.com/repos/"; // "https://ungh.cc/repos/";
const url_download= "https://glare.now.sh/"; // https://github.com/Contextualist/glare const url_download= "https://glare.now.sh/"; // https://github.com/Contextualist/glare
const css= echo.css` const css= echo.css`
.pkg { color: lightcyan; } .pkg { color: lightcyan; }
@ -215,11 +215,19 @@ async function fetchRelease({ repository, tag_name_regex }, cache){
const releases= await fetch(url, { headers }).then(res=> res.json()); const releases= await fetch(url, { headers }).then(res=> res.json());
if(releases.message) return $.error(url+": "+releases.message); if(releases.message) return $.error(url+": "+releases.message);
if(url.includes("github.com"))
return releases.find(function ({ draft, published_at, tag_name }){ return releases.find(function ({ draft, published_at, tag_name }){
if(draft||!published_at) return false; if(draft||!published_at) return false;
if(!tag_name_regex) return true; if(!tag_name_regex) return true;
return (new RegExp(tag_name_regex, 'g')).test(tag_name); return (new RegExp(tag_name_regex, 'g')).test(tag_name);
}); });
const { draft, publishedAt, tag }= releases.releases.find(function ({ draft, publishedAt, tag }){
if(draft||!publishedAt) return false;
if(!tag_name_regex) return true;
return (new RegExp(tag_name_regex, 'g')).test(tag);
});
return { draft, published_at: publishedAt, tag_name: tag };
} }
function readConfig(){ function readConfig(){