diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2021-12-11 18:10:46 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2021-12-11 18:10:46 +0000 |
| commit | a6f0a2f4c34f5158355100d7df4ae7398ade37d3 (patch) | |
| tree | 13aa4ff0b59902ebbe855b7327c0b8ddd6790560 | |
| parent | d9702f5b02c84306eb0a8148364dc3f781c0cdd8 (diff) | |
Removed irrelevant stuff
| -rw-r--r-- | .config/screenrc | 10 | ||||
| -rw-r--r-- | .config/texts/setsail | 26 | ||||
| -rw-r--r-- | .config/texts/todo.md | 4 | ||||
| -rw-r--r-- | .config/vim/autoload/pathogen.vim | 264 | ||||
| -rw-r--r-- | .config/vim/ftdetect/c.vim | 4 | ||||
| -rw-r--r-- | .config/vim/ftdetect/cpp.vim | 2 | ||||
| -rw-r--r-- | .config/vim/ftdetect/cu.vim | 1 | ||||
| -rw-r--r-- | .config/vim/ftdetect/fsharp.vim | 2 | ||||
| -rw-r--r-- | .config/vim/ftdetect/fut.vim | 2 | ||||
| -rw-r--r-- | .config/vim/ftdetect/ispc.vim | 1 | ||||
| -rw-r--r-- | .config/vim/ftdetect/nesl.vim | 1 | ||||
| -rw-r--r-- | .config/vim/ftdetect/tex.vim | 9 | ||||
| -rw-r--r-- | .config/vim/indent/fsharp.vim | 249 | ||||
| -rw-r--r-- | .config/vim/indent/fut.vim | 90 |
14 files changed, 8 insertions, 657 deletions
diff --git a/.config/screenrc b/.config/screenrc index 3be1a9f..6c5357b 100644 --- a/.config/screenrc +++ b/.config/screenrc @@ -1,7 +1,13 @@ -caption always "%{=b dw}═%{-b dw}╡%{=b dk}[ %{-b dw}%{-b db}$USER%{-b dw}@%{-b db}%H %{=b dk}] [ %= %?%{-b dk}%-Lw%?%{+b dk}%{+b dy}%n:%t%{+b dk}%?(%u)%?%{-b dw}%?%{-b dk}%+Lw%? %{=b dk}]%{-b dw}╞%{+b dw}═" +#caption always "%{=b dw}═%{-b dw}╡%{=b dk}[ %{-b dw}%{-b db}$USER%{-b dw}@%{-b db}%H %{=b dk}] [ %= %?%{-b dk}%-Lw%?%{+b dk}%{+b dy}%n:%t%{+b dk}%?(%u)%?%{-b dw}%?%{-b dk}%+Lw%? %{=b dk}]%{-b dw}╞%{+b dw}═" vbell off utf8 on altscreen on encoding UTF-8 +startup_message off +truecolor on +hardstatus off +backtick 0 5 5 "/bin/date" '+%F %R' +backtick 2 1800 1800 "/bin/whoami" +hardstatus alwayslastline '%{-d dk}-[ %2`@%H %{-d dk}][%{-}%= %{7}%?%-Lw%?%{1;0}%{1}(%{15}%n%f%t%?(%u)%?%{1;0}%{1})%{7}%?%+Lw%?%? %=%{+d dk}][ %{-d dk}%{6}%0` %{-d dk}]-' -term screen-256color +term st-256color diff --git a/.config/texts/setsail b/.config/texts/setsail deleted file mode 100644 index 19ae457..0000000 --- a/.config/texts/setsail +++ /dev/null @@ -1,26 +0,0 @@ --- .-""-. - ) ( ) - ( ) ( - / ) - (_ _) 0_,-.__ - (_ )_ |_.-._/ - ( ) |lulz..\ - (__) |__--_/ - |'' ``\ | - | [Lulz] \ | /b/ - | \ ,,,---===?A`\ | ,==y' - ___,,,,,---==""\ |M] \ | ;|\ |> - _ _ \ ___,|H,,---==""""bno, - o O (_) (_) \ / _ AWAW/ - / _(+)_ dMM/ - \@_,,,,,,---==" \ \\|// MW/ ---''''" === d/ - // SET SAIL FOR FAIL! - ,'_________________________ - \ \ \ \ ,/~~~~~~~~~~~~~~~~~~~~~~~~~~~ - _____ ,' ~~~ .-""-.~~~~~~ .-""-. - .-""-. ///==--- /`-._ ..-' -.__..-' - `-.__..-' =====\\\\\\ V/ .---\. - ~~~~~~~~~~~~, _',--/_.\ .-""-. - .-""-.___` -- \| -.__..- - diff --git a/.config/texts/todo.md b/.config/texts/todo.md deleted file mode 100644 index 62cdc37..0000000 --- a/.config/texts/todo.md +++ /dev/null @@ -1,4 +0,0 @@ -# Todo - -* ... -* ... diff --git a/.config/vim/autoload/pathogen.vim b/.config/vim/autoload/pathogen.vim deleted file mode 100644 index 3582fbf..0000000 --- a/.config/vim/autoload/pathogen.vim +++ /dev/null @@ -1,264 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope <http://tpo.pe/> -" Version: 2.4 - -" Install in ~/.vim/autoload (or ~\vimfiles\autoload). -" -" For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your -" .vimrc is the only other setup necessary. -" -" The API is documented inline below. - -if exists("g:loaded_pathogen") || &cp - finish -endif -let g:loaded_pathogen = 1 - -" Point of entry for basic default usage. Give a relative path to invoke -" pathogen#interpose() or an absolute path to invoke pathogen#surround(). -" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all -" subdirectories inside "bundle" inside all directories in the runtime path. -" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" -" on versions of Vim without native package support. -function! pathogen#infect(...) abort - if a:0 - let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') - else - let paths = ['bundle/{}', 'pack/{}/start/{}'] - endif - if has('packages') - call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') - endif - let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' - for path in filter(copy(paths), 'v:val =~# static') - call pathogen#surround(path) - endfor - for path in filter(copy(paths), 'v:val !~# static') - if path =~# '^\%([$~\\/]\|\w:[\\/]\)' - call pathogen#surround(path) - else - call pathogen#interpose(path) - endif - endfor - call pathogen#cycle_filetype() - if pathogen#is_disabled($MYVIMRC) - return 'finish' - endif - return '' -endfunction - -" Split a path into a list. -function! pathogen#split(path) abort - if type(a:path) == type([]) | return a:path | endif - if empty(a:path) | return [] | endif - let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,') - return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")') -endfunction - -" Convert a list to a path. -function! pathogen#join(...) abort - if type(a:1) == type(1) && a:1 - let i = 1 - let space = ' ' - else - let i = 0 - let space = '' - endif - let path = "" - while i < a:0 - if type(a:000[i]) == type([]) - let list = a:000[i] - let j = 0 - while j < len(list) - let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g') - let path .= ',' . escaped - let j += 1 - endwhile - else - let path .= "," . a:000[i] - endif - let i += 1 - endwhile - return substitute(path,'^,','','') -endfunction - -" Convert a list to a path with escaped spaces for 'path', 'tag', etc. -function! pathogen#legacyjoin(...) abort - return call('pathogen#join',[1] + a:000) -endfunction - -" Turn filetype detection off and back on again if it was already enabled. -function! pathogen#cycle_filetype() abort - if exists('g:did_load_filetypes') - filetype off - filetype on - endif -endfunction - -" Check if a bundle is disabled. A bundle is considered disabled if its -" basename or full name is included in the list g:pathogen_blacklist or the -" comma delimited environment variable $VIMBLACKLIST. -function! pathogen#is_disabled(path) abort - if a:path =~# '\~$' - return 1 - endif - let sep = pathogen#slash() - let blacklist = get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) + pathogen#split($VIMBLACKLIST) - if !empty(blacklist) - call map(blacklist, 'substitute(v:val, "[\\/]$", "", "")') - endif - return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1 -endfunction - -" Prepend the given directory to the runtime path and append its corresponding -" after directory. Curly braces are expanded with pathogen#expand(). -function! pathogen#surround(path) abort - let sep = pathogen#slash() - let rtp = pathogen#split(&rtp) - let path = fnamemodify(a:path, ':s?[\\/]\=$??') - let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)') - let after = filter(reverse(pathogen#expand(path, sep.'after')), '!pathogen#is_disabled(v:val[0:-7])') - call filter(rtp, 'index(before + after, v:val) == -1') - let &rtp = pathogen#join(before, rtp, after) - return &rtp -endfunction - -" For each directory in the runtime path, add a second entry with the given -" argument appended. Curly braces are expanded with pathogen#expand(). -function! pathogen#interpose(name) abort - let sep = pathogen#slash() - let name = a:name - if has_key(s:done_bundles, name) - return "" - endif - let s:done_bundles[name] = 1 - let list = [] - for dir in pathogen#split(&rtp) - if dir =~# '\<after$' - let list += reverse(filter(pathogen#expand(dir[0:-6].name, sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir] - else - let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)') - endif - endfor - let &rtp = pathogen#join(pathogen#uniq(list)) - return 1 -endfunction - -let s:done_bundles = {} - -" Invoke :helptags on all non-$VIM doc directories in runtimepath. -function! pathogen#helptags() abort - let sep = pathogen#slash() - for glob in pathogen#split(&rtp) - for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep') - if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags')) - silent! execute 'helptags' pathogen#fnameescape(dir) - endif - endfor - endfor -endfunction - -command! -bar Helptags :call pathogen#helptags() - -" Execute the given command. This is basically a backdoor for --remote-expr. -function! pathogen#execute(...) abort - for command in a:000 - execute command - endfor - return '' -endfunction - -" Section: Unofficial - -function! pathogen#is_absolute(path) abort - return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]') -endfunction - -" Given a string, returns all possible permutations of comma delimited braced -" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields -" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard -" and globbed. Actual globs are preserved. -function! pathogen#expand(pattern, ...) abort - let after = a:0 ? a:1 : '' - let pattern = substitute(a:pattern, '^[~$][^\/]*', '\=expand(submatch(0))', '') - if pattern =~# '{[^{}]\+}' - let [pre, pat, post] = split(substitute(pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1) - let found = map(split(pat, ',', 1), 'pre.v:val.post') - let results = [] - for pattern in found - call extend(results, pathogen#expand(pattern)) - endfor - elseif pattern =~# '{}' - let pat = matchstr(pattern, '^.*{}[^*]*\%($\|[\\/]\)') - let post = pattern[strlen(pat) : -1] - let results = map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post') - else - let results = [pattern] - endif - let vf = pathogen#slash() . 'vimfiles' - call map(results, 'v:val =~# "\\*" ? v:val.after : isdirectory(v:val.vf.after) ? v:val.vf.after : isdirectory(v:val.after) ? v:val.after : ""') - return filter(results, '!empty(v:val)') -endfunction - -" \ on Windows unless shellslash is set, / everywhere else. -function! pathogen#slash() abort - return !exists("+shellslash") || &shellslash ? '/' : '\' -endfunction - -function! pathogen#separator() abort - return pathogen#slash() -endfunction - -" Convenience wrapper around glob() which returns a list. -function! pathogen#glob(pattern) abort - let files = split(glob(a:pattern),"\n") - return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")') -endfunction - -" Like pathogen#glob(), only limit the results to directories. -function! pathogen#glob_directories(pattern) abort - return filter(pathogen#glob(a:pattern),'isdirectory(v:val)') -endfunction - -" Remove duplicates from a list. -function! pathogen#uniq(list) abort - let i = 0 - let seen = {} - while i < len(a:list) - if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i]) - call remove(a:list,i) - elseif a:list[i] ==# '' - let i += 1 - let empty = 1 - else - let seen[a:list[i]] = 1 - let i += 1 - endif - endwhile - return a:list -endfunction - -" Backport of fnameescape(). -function! pathogen#fnameescape(string) abort - if exists('*fnameescape') - return fnameescape(a:string) - elseif a:string ==# '-' - return '\-' - else - return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','') - endif -endfunction - -" Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) abort - let rtp = pathogen#join(1,pathogen#split(&rtp)) - let file = findfile(a:file,rtp,a:count) - if file ==# '' - return '' - else - return fnamemodify(file,':p') - endif -endfunction - -" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/.config/vim/ftdetect/c.vim b/.config/vim/ftdetect/c.vim deleted file mode 100644 index b58d297..0000000 --- a/.config/vim/ftdetect/c.vim +++ /dev/null @@ -1,4 +0,0 @@ -autocmd BufRead *.c setlocal tabstop=4 -autocmd BufRead *.c setlocal shiftwidth=4 -autocmd BufRead *.c setlocal noexpandtab -autocmd BufRead *.c setlocal smarttab diff --git a/.config/vim/ftdetect/cpp.vim b/.config/vim/ftdetect/cpp.vim deleted file mode 100644 index 3166fda..0000000 --- a/.config/vim/ftdetect/cpp.vim +++ /dev/null @@ -1,2 +0,0 @@ -autocmd BufRead *.cpp setlocal tabstop=4 -autocmd BufRead *.cpp setlocal shiftwidth=4 diff --git a/.config/vim/ftdetect/cu.vim b/.config/vim/ftdetect/cu.vim deleted file mode 100644 index d7e8516..0000000 --- a/.config/vim/ftdetect/cu.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.cu,*.cuh,*.cu.h set filetype=cuda diff --git a/.config/vim/ftdetect/fsharp.vim b/.config/vim/ftdetect/fsharp.vim deleted file mode 100644 index 16243a6..0000000 --- a/.config/vim/ftdetect/fsharp.vim +++ /dev/null @@ -1,2 +0,0 @@ -" F#, fsharp -autocmd BufNewFile,BufRead *.fs,*.fsi,*.fsx,*.fsp set filetype=fsharp diff --git a/.config/vim/ftdetect/fut.vim b/.config/vim/ftdetect/fut.vim deleted file mode 100644 index 2c281c7..0000000 --- a/.config/vim/ftdetect/fut.vim +++ /dev/null @@ -1,2 +0,0 @@ -au BufRead,BufNewFile *.fut set filetype=fut -au BufRead,BufNewFile *.fut set includeexpr=v:fname.'.fut' diff --git a/.config/vim/ftdetect/ispc.vim b/.config/vim/ftdetect/ispc.vim deleted file mode 100644 index 9a3bf54..0000000 --- a/.config/vim/ftdetect/ispc.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.ispc set filetype=ispc diff --git a/.config/vim/ftdetect/nesl.vim b/.config/vim/ftdetect/nesl.vim deleted file mode 100644 index fb84b7b..0000000 --- a/.config/vim/ftdetect/nesl.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.nesl set filetype=nesl diff --git a/.config/vim/ftdetect/tex.vim b/.config/vim/ftdetect/tex.vim deleted file mode 100644 index 43f5fde..0000000 --- a/.config/vim/ftdetect/tex.vim +++ /dev/null @@ -1,9 +0,0 @@ -" put \begin{} \end{} tags tags around the current word -autocmd BufRead *.tex map <C-B> YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA -autocmd BufRead *.tex map! <C-B> <ESC>YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA -autocmd BufRead *.tex map <C-M> :call Synctex()<CR> - -"autocmd BufRead *.tex imap /\ \land -"autocmd BufRead *.tex imap \/ \lor -"autocmd BufRead *.tex imap -> \rightarrow -"autocmd BufRead *.tex imap ~~ \neg diff --git a/.config/vim/indent/fsharp.vim b/.config/vim/indent/fsharp.vim deleted file mode 100644 index 6227bdd..0000000 --- a/.config/vim/indent/fsharp.vim +++ /dev/null @@ -1,249 +0,0 @@ -" Vim indent file -" Language: FSharp -" Maintainers: Jean-Francois Yuen <jfyuen@happycoders.org> -" Mike Leary <leary@nwlink.com> -" Markus Mottl <markus.mottl@gmail.com> -" Rudi Grinberg <rudi.grinberg@gmail.com> -" Gregor Uhlenheuer <kongo2002@gmail.com> -" Last Change: 2013 Jun 29 -" 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working -" 2005 May 09 - Added an option to not indent OCaml-indents specially (MM) -" 2013 June - commented textwidth (Marc Weber) -" 2014 August - Ported to F# -" 2014 August - F# specific cleanup -" -" Marc Weber's comment: This file may contain a lot of (very custom) stuff -" which eventually should be moved somewhere else .. - -" Only load this indent file when no other was loaded. - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal indentexpr=GetFsharpIndent() -setlocal indentkeys+=0=and,0=class,0=constraint,0=done,0=else,0=end,0=exception,0=external,0=if,0=in,0=include,0=inherit,0=let,0=method,0=open,0=then,0=type,0=val,0=with,0;;,0>\],0\|\],0>},0\|,0},0\],0) - -" Only define the function once. -if exists("*GetFsharpIndent") - finish -endif - -" Skipping pattern, for comments -function! s:GetLineWithoutFullComment(lnum) - let lnum = prevnonblank(a:lnum - 1) - let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') - while lline =~ '^\s*$' && lnum > 0 - let lnum = prevnonblank(lnum - 1) - let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') - endwhile - return lnum -endfunction - -" Indent for ';;' to match multiple 'let' -function! s:GetInd(lnum, pat, lim) - let llet = search(a:pat, 'bW') - let old = indent(a:lnum) - while llet > 0 - let old = indent(llet) - let nb = s:GetLineWithoutFullComment(llet) - if getline(nb) =~ a:lim - return old - endif - let llet = search(a:pat, 'bW') - endwhile - return old -endfunction - -" Indent pairs -function! s:FindPair(pstart, pmid, pend) - call search(a:pend, 'bW') - return indent(searchpair(a:pstart, a:pmid, a:pend, 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"')) -endfunction - -" Indent 'let' -function! s:FindLet(pstart, pmid, pend) - call search(a:pend, 'bW') - return indent(searchpair(a:pstart, a:pmid, a:pend, 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment" || getline(".") =~ "^\\s*let\\>.*=.*\\<in\\s*$" || getline(prevnonblank(".") - 1) =~ s:beflet')) -endfunction - -function! GetFsharpIndent() - " Find a non-commented line above the current line. - let lnum = s:GetLineWithoutFullComment(v:lnum) - - " At the start of the file use zero indent. - if lnum == 0 - return 0 - endif - - let ind = indent(lnum) - let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') - - " " Return single 'shiftwidth' after lines matching: - " if lline =~ '^\s*|.*->\s*$' - " return ind + &sw - " endif - - let line = getline(v:lnum) - - " Indent if current line begins with 'end': - if line =~ '^\s*end\>' - return s:FindPair(s:module, '','\<end\>') - - " Indent if current line begins with 'done' for 'do': - elseif line =~ '^\s*done\>' - return s:FindPair('\<do\>', '','\<done\>') - - " Indent if current line begins with '}' or '>}': - elseif line =~ '^\s*\(\|>\)}' - return s:FindPair('{', '','}') - - " Indent if current line begins with ']', '|]' or '>]': - elseif line =~ '^\s*\(\||\|>\)\]' - return s:FindPair('\[', '','\]') - - " Indent if current line begins with ')': - elseif line =~ '^\s*)' - return s:FindPair('(', '',')') - - " Indent if current line begins with 'let': - elseif line =~ '^\s*let\>' - if lline !~ s:lim . '\|' . s:letlim . '\|' . s:beflet - return s:FindLet(s:type, '','\<let\s*$') - endif - - " Indent if current line begins with 'class' or 'type': - elseif line =~ '^\s*\(class\|type\)\>' - if lline !~ s:lim . '\|\<and\s*$\|' . s:letlim - return s:FindLet(s:type, '','\<\(class\|type\)\s*$') - endif - - " Indent for pattern matching: - elseif line =~ '^\s*|' - if lline !~ '^\s*\(|[^\]]\|\(match\|type\|with\)\>\)\|\<\(function\|private\|with\)\s*$' - call search('|', 'bW') - return indent(searchpair('^\s*\(match\|type\)\>\|\<\(function\|private\|with\)\s*$', '', '^\s*|', 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment" || getline(".") !~ "^\\s*|.*->"')) - endif - - " Indent if current line begins with ';;': - elseif line =~ '^\s*;;' - if lline !~ ';;\s*$' - return s:GetInd(v:lnum, s:letpat, s:letlim) - endif - - " Indent if current line begins with 'in': - elseif line =~ '^\s*in\>' - if lline !~ '^\s*\(let\|and\)\>' - return s:FindPair('\<let\>', '', '\<in\>') - endif - - " Indent if current line begins with 'else': - elseif line =~ '^\s*else\>' - if lline !~ '^\s*\(if\|then\)\>' - return s:FindPair('\<if\>', '', '\<else\>') - endif - - " Indent if current line begins with 'then': - elseif line =~ '^\s*then\>' - if lline !~ '^\s*\(if\|else\)\>' - return s:FindPair('\<if\>', '', '\<then\>') - endif - - " Indent if current line begins with 'and': - elseif line =~ '^\s*and\>' - if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$' - return ind - &sw - endif - - " Indent if current line begins with 'with': - elseif line =~ '^\s*with\>' - if lline !~ '^\s*\(match\|try\)\>' - return s:FindPair('\<\%(match\|try\)\>', '','\<with\>') - endif - - " Indent if current line begins with 'exception', 'external', 'include' or - " 'open': - elseif line =~ '^\s*\(exception\|external\|include\|open\)\>' - if lline !~ s:lim . '\|' . s:letlim - call search(line) - return indent(search('^\s*\(\(exception\|external\|include\|open\|type\)\>\|val\>.*:\)', 'bW')) - endif - - " Indent if current line begins with 'val': - elseif line =~ '^\s*val\>' - if lline !~ '^\s*\(exception\|external\|include\|open\)\>\|' . s:obj . '\|' . s:letlim - return indent(search('^\s*\(\(exception\|include\|initializer\|method\|open\|type\|val\)\>\|external\>.*:\)', 'bW')) - endif - - " Indent if current line begins with 'constraint', 'inherit', 'initializer' - " or 'method': - elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>' - if lline !~ s:obj - return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + &sw - endif - - endif - - " Add a 'shiftwidth' after lines ending with: - if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$' - let ind = ind + &sw - - " Back to normal indent after lines ending with ';;': - elseif lline =~ ';;\s*$' && lline !~ '^\s*;;' - let ind = s:GetInd(v:lnum, s:letpat, s:letlim) - - " Back to normal indent after lines ending with 'end': - elseif lline =~ '\<end\s*$' - let ind = s:FindPair(s:module, '','\<end\>') - - " Back to normal indent after lines ending with 'in': - elseif lline =~ '\<in\s*$' && lline !~ '^\s*in\>' - let ind = s:FindPair('\<let\>', '', '\<in\>') - - " Back to normal indent after lines ending with 'done': - elseif lline =~ '\<done\s*$' - let ind = s:FindPair('\<do\>', '','\<done\>') - - " Back to normal indent after lines ending with '}' or '>}': - elseif lline =~ '\(\|>\)}\s*$' - let ind = s:FindPair('{', '','}') - - " Back to normal indent after lines ending with ']', '|]' or '>]': - elseif lline =~ '\(\||\|>\)\]\s*$' - let ind = s:FindPair('\[', '','\]') - - " Back to normal indent after comments: - elseif lline =~ '\*)\s*$' - call search('\*)', 'bW') - let ind = indent(searchpair('(\*', '', '\*)', 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')) - - " Back to normal indent after lines ending with ')': - elseif lline =~ ')\s*$' - let ind = s:FindPair('(', '',')') - - " If this is a multiline comment then align '*': - elseif lline =~ '^\s*(\*' && line =~ '^\s*\*' - let ind = ind + 1 - - else - " Don't change indentation of this line - " for new lines (indent==0) use indentation of previous line - - " This is for preventing removing indentation of these args: - " let f x = - " let y = x + 1 in - " Printf.printf - " "o" << here - " "oeuth" << don't touch indentation - - let i = indent(v:lnum) - return i == 0 ? ind : i - - endif - - return ind - -endfunction - -" vim: sw=4 et sts=4 diff --git a/.config/vim/indent/fut.vim b/.config/vim/indent/fut.vim deleted file mode 100644 index fb0df69..0000000 --- a/.config/vim/indent/fut.vim +++ /dev/null @@ -1,90 +0,0 @@ -" Vim indent file -" Language: Futhark -" Authors: Bene Collyridam, 0undefined -" Last Change: 2020/01/11 - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal nolisp -setlocal autoindent - -setlocal indentkeys=0{,0},0),0],!^F,e,o,O -setlocal indentexpr=FutharkIndent(v:lnum) - -if exists("*FutharkIndent") - finish -endif - -let s:save_cpo = &cpo -set cpo&vim - -function! s:get_line_trimmed(lnum) - " Get the line and remove a trailing comment. - " Use syntax highlighting attributes when possible. - " NOTE: this is not accurate; /* */ or a line continuation could trick it - let line = getline(a:lnum) - let line_len = strlen(line) - if has('syntax_items') - " If the last character in the line is a comment, do a binary search for - " the start of the comment. synID() is slow, a linear search would take - " too long on a long line. - if synIDattr(synID(a:lnum, line_len, 1), "name") =~ 'Comment\|Todo' - let min = 1 - let max = line_len - while min < max - let col = (min + max) / 2 - if synIDattr(synID(a:lnum, col, 1), "name") =~ 'Comment\|Todo' - let max = col - else - let min = col + 1 - endif - endwhile - let line = strpart(line, 0, min - 1) - endif - return substitute(line, "\s*$", "", "") - else - " Sorry, this is not complete, nor fully correct (e.g. string "--"). - " Such is life. - return substitute(line, "\s*--.*$", "", "") - endif -endfunction - -function! FutharkIndent(lnum) - let line = getline(a:lnum) - let prevNum = prevnonblank(a:lnum - 1) - let prev = s:get_line_trimmed(prevNum) - while prevNum > 1 && prevline !~ '[^[:blank:]]' - let prevNum = prevnonblank(prevNum - 1) - let prev = s:get_line_trimmed(prevNum) - endwhile - - if prev[len(prevline) - 1] == "," - \ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]' - \ && prevline !~ '^\s*let\s' - \ && prevline !~ '([^()]\+,$' - \ && s:get_line_trimmed(a:lnum) !~ '^\s*\S\+\s*=>' - return indent(prevNum) - endif - - " Indent extra if matching these patterns - if prev =~ "=$" - \ || prev =~ "->$" - \ || prev =~ "do$" - \ || prev =~ "($" - \ || prev =~ "in$" - \ || prev =~ "then$" - \ || prev =~ "else$" - return indent(prevNum) + &shiftwidth - - " Else keep same level of indentation - else - return indent(prevNum) - - endif -endfunction - -let &cpo = s:save_cpo -unlet s:save_cpo |
