-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfiletype.vim
More file actions
165 lines (134 loc) · 5.11 KB
/
filetype.vim
File metadata and controls
165 lines (134 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
function! HelpFileMode()
"wincmd _ " Maximize the help on open
nnoremap <buffer> <tab> :call search('\|.\{-}\|', 'w')<cr>:noh<cr>2l
nnoremap <buffer> <S-tab> F\|:call search('\|.\{-}\|', 'wb')<cr>:noh<cr>2l
nnoremap <buffer> <cr> <c-]>
nnoremap <buffer> <bs> <c-T>
nnoremap <buffer> q :q<CR>
setlocal nonumber
endfunction
" 1. Select the group with ":augroup {name}".
" 2. Delete any old autocommands with ":au!".
" 3. Define the autocommands.
" 4. Go back to the default group with "augroup END".
"""""""""""""""""""""""""""""""
" default file type
"""""""""""""""""""""""""""""""
augroup defaultFiletypeGroup
" Remove all group autocommands
autocmd!
" if no filetype specified, set ft=text
autocmd BufEnter * if &filetype == "" | setlocal ft=text | endif
augroup END
"""""""""""""""""""""""""""""""
" helpfile
"""""""""""""""""""""""""""""""
augroup helpFiletypeGroup
" Remove all group autocommands
autocmd!
autocmd filetype help call HelpFileMode()
augroup END
" Ensure 'q' closes Fugitive blame windows
augroup fugitive_q_close
autocmd!
autocmd FileType fugitiveblame nnoremap <buffer> q :q<CR>
augroup END
"""""""""""""""""""""""""""""""
" NFO
"""""""""""""""""""""""""""""""
" Common code for encodings, used by *.nfo files
function! SetFileEncodings(encodings)
let b:myfileencodingsbak=&fileencodings
let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
let &fileencodings=b:myfileencodingsbak
unlet b:myfileencodingsbak
endfunction
" Grouped syntax highlighting autocmds
augroup syntaxHighlighting
autocmd!
autocmd FileType crontab syntax on
autocmd FileType dockerfile syntax on
autocmd FileType jsonc syntax on
autocmd FileType conf syntax on
augroup END
augroup nfoFiletypeGroup
autocmd!
autocmd BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
autocmd BufReadPost *.nfo call RestoreFileEncodings()
augroup END
augroup aleCheckers
autocmd!
autocmd FileType sh let b:ale_sh_shellcheck_exclusions = 'SC1090,SC1091,SC2034,SC2154,SC2164'
augroup END
augroup filetypeGroup
autocmd!
autocmd BufRead,BufNewFile *.hurl set filetype=hurl
autocmd BufRead,BufNewFile Jenkinsfile* set filetype=groovy
autocmd BufRead,BufNewFile *.templ set filetype=templ
autocmd BufRead,BufNewFile *conkyrc set filetype=conkyrc
autocmd BufRead,BufNewFile */vimwiki/* set filetype=vimwiki
" direnv
autocmd BufRead,BufNewFile *.envrc set filetype=sh
" dotenv
autocmd BufRead,BufNewFile .env.*,.env set filetype=sh
" markdown
autocmd BufRead,BufNewFile *.mdx set filetype=markdown
" dokuwiki
autocmd BufRead,BufNewFile *.dokuwiki set filetype=dokuwiki
" NGINX
autocmd BufRead,BufNewfile nginx.conf set filetype=nginx
autocmd BufRead,BufNewFile */nginx/* set filetype=nginx
" toml
autocmd BufRead,BufNewFile */ghostty/* set filetype=toml
" dosini
autocmd BufRead,BufNewFile *npmrc* set filetype=dosini
autocmd BufRead,BufNewFile /etc/supervisor/conf.d/* set filetype=dosini
autocmd BufRead,BufNewFile supervisord.conf set filetype=dosini
autocmd BufRead,BufNewFile */.weechat/*.conf set filetype=dosini
autocmd BufRead,BufNewFile editorconfig set filetype=dosini
" php-fpm config
autocmd BufRead,BufNewFile php-fpm.conf set filetype=dosini
autocmd BufRead,BufNewFile www.conf set filetype=dosini
" PHP
autocmd BufRead,BufNewFile *.phps set filetype=php
autocmd BufRead,BufNewFile *.php_cs set filetype=php
autocmd BufRead,BufNewFile php_cs set filetype=php
" Drupal files
autocmd BufRead,BufNewFile *.install set filetype=php
autocmd BufRead,BufNewFile *.module set filetype=php
" json
autocmd BufRead,BufNewFile .swift-format set filetype=json
autocmd BufRead,BufNewFile .swcrc set filetype=json
autocmd BufRead,BufNewFile .jscsrc set filetype=json
autocmd BufRead,BufNewFile .babelrc set filetype=json
autocmd BufRead,BufNewFile .jshintrc set filetype=json
autocmd BufRead,BufNewFile .tern-config set filetype=json
autocmd BufRead,BufNewFile *.code-workspace set filetype=json
" jsonc
autocmd BufRead,BufNewFile *.jsonc set filetype=jsonc
" json5
autocmd BufRead,BufNewFile tsconfig.json set filetype=json5
autocmd BufRead,BufNewFile tsconfig.app.json set filetype=json5
autocmd BufRead,BufNewFile tsconfig.app.json set filetype=json5
autocmd BufRead,BufNewFile turbo.json set filetype=json5
autocmd BufRead,BufNewFile repomix.config.json set filetype=json5
autocmd BufRead,BufNewFile .eslintrc set filetype=json5
autocmd BufRead,BufNewFile */mdk/config-dist.json set filetype=json5
" mojo
autocmd BufRead,BufNewFile *.mojo set filetype=mojo
" graphql
autocmd BufNewFile,BufRead *.prisma set filetype=graphql
" git
autocmd BufRead,BufNewFile *gitconfig* set filetype=gitconfig
autocmd BufRead,BufNewFile */git/config set filetype=gitconfig
autocmd BufRead,BufNewFile */.git/config set filetype=gitconfig
autocmd BufRead,BufNewFile */gitconfig.d/* set filetype=gitconfig
" zmk
autocmd BufRead,BufNewFile *zmk*/**/*.keymap set filetype=dts
" terraform
autocmd BufRead,BufNewFile *.tf set filetype=terraform
" ruby
autocmd BufRead,BufNewFile Podfile set filetype=ruby
augroup END