⚡ batch update
This commit is contained in:
		@@ -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]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								.profile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								.profile
									
									
									
									
									
								
							@@ -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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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',
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										77
									
								
								.vimrc
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								.vimrc
									
									
									
									
									
								
							@@ -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
 | 
				
			||||||
@@ -181,13 +170,9 @@
 | 
				
			|||||||
	set hlsearch incsearch														  " highlight search, start when typing
 | 
						set hlsearch incsearch														  " highlight search, start when typing
 | 
				
			||||||
	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
 | 
				
			||||||
@@ -200,7 +185,7 @@
 | 
				
			|||||||
	let g:markdown_fenced_languages= [ 'javascript', 'js=javascript', 'json', 'html', 'php', 'bash', 'vim', 'vimscript=javascript', 'sass' ]
 | 
						let g:markdown_fenced_languages= [ 'javascript', 'js=javascript', 'json', 'html', 'php', 'bash', 'vim', 'vimscript=javascript', 'sass' ]
 | 
				
			||||||
	augroup conceal
 | 
						augroup conceal
 | 
				
			||||||
		autocmd!
 | 
							autocmd!
 | 
				
			||||||
		au FileType markdown 
 | 
							au FileType markdown
 | 
				
			||||||
			\  syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained conceal
 | 
								\  syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained conceal
 | 
				
			||||||
			\| syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\%(\_[^][]\|\[\_[^][]*\]\)*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart concealends
 | 
								\| syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\%(\_[^][]\|\[\_[^][]*\]\)*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart concealends
 | 
				
			||||||
		au FileType markdown,json 
 | 
							au FileType markdown,json 
 | 
				
			||||||
@@ -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: '
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return releases.find(function ({ draft, published_at, tag_name }){
 | 
						if(url.includes("github.com"))
 | 
				
			||||||
		if(draft||!published_at) return false;
 | 
							return releases.find(function ({ draft, published_at, tag_name }){
 | 
				
			||||||
 | 
								if(draft||!published_at) return false;
 | 
				
			||||||
 | 
								if(!tag_name_regex) return true;
 | 
				
			||||||
 | 
								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;
 | 
							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);
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
 | 
						return { draft, published_at: publishedAt, tag_name: tag };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function readConfig(){
 | 
					function readConfig(){
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user