annotate rc/vimrc @ 540:50fd59a959ea

Add support for lesscss.
author edogawaconan <me@myconan.net>
date Tue, 06 Jan 2015 03:25:01 +0900
parents 05785a85d603
children 5cdef8f4360f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
525
1dd96a55b7ac Invoke nocompatible earliest so it doesn't override anything preceeded it.
edogawaconan <me@myconan.net>
parents: 503
diff changeset
1 set nocompatible
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
2 set showmode " shows mode insert/replace/visual
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
3 set showcmd " shows last command on screen
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
4 set nomodeline " disallow automatic vim command execution on arbitrary file
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
5 set autoindent
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
6 set lazyredraw
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
7 set vb t_vb= " disables visual bell
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
8 set ruler
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
9 set backspace=2 " make backspace work like most other apps
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
10 set esckeys
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
11 set noerrorbells
536
d4e874f04bc6 Set tab space to 4. Just because.
edogawaconan <me@myconan.net>
parents: 535
diff changeset
12 set ts=4
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
13 set sw=2
535
70d4fb4f7d9f copyindent instead of expandtab.
edogawaconan <me@myconan.net>
parents: 531
diff changeset
14 set copyindent
32
2cf5492ac78d Vim title.
Edho Prima Arief <me@myconan.net>
parents: 3
diff changeset
15 set title
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
16 set incsearch
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
17 set ignorecase
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
18 set smartcase
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
19 set hlsearch
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
20 set ls=2 " always show status line
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
21 set list listchars=tab:>-,trail:.,extends:>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
22 set number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
23
529
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
24 " http://stackoverflow.com/questions/14635295/vim-takes-a-very-long-time-to-start-up
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
25 set clipboard=exclude:.*
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
26
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
27 if has('call')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
28 call pathogen#infect()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
29 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
30 if has('filetype')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
31 filetype plugin indent on
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
32 endif
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
34 map <C-t><up> :tabr<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
35 map <C-t><down> :tabl<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
36 map <C-t><left> :tabp<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
37 map <C-t><right> :tabn<cr>
35
a8dc309a1b8a Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents: 33
diff changeset
38 map <C-t>p :tabp<cr>
a8dc309a1b8a Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents: 33
diff changeset
39 map <C-t>n :tabn<cr>
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
40 map <C-t><C-t> :NERDTreeToggle<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
41 map <C-t><C-m> :NERDTreeMirror<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
42
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
43 " clears out highlight
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
44 nmap <leader>c :nohlsearch<cr>
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
45
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
46 " toggles paste mode
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
47 nmap <leader>p :set paste!<cr>
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
48
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
49 " removes prefix for windows copypasta
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
50 nmap _pa :set number! list!<cr>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
51
467
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
52 " format JSON
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
53 map <leader>j <esc>:%!python -m json.tool<cr>
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
54
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
55 " visual navigation instead of logical
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
56 nmap j gj
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
57 nmap k gk
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
58
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
59 "autocmd VimEnter * NERDTree
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
60 "autocmd BufEnter * NERDTreeMirror
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
61
329
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
62 if has('syntax')
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
63 syntax on
431
be08a29208ab Added foldmethod setting.
Edho Arief <edho@myconan.net>
parents: 430
diff changeset
64 set foldmethod=syntax
432
087278fd11d8 Don't fold by default.
Edho Arief <edho@myconan.net>
parents: 431
diff changeset
65 set nofoldenable
446
3022c5d1f8ed Back to dark theme for compatibility with non-personal systems.
Edho Arief <edho@myconan.net>
parents: 432
diff changeset
66 set background=dark
503
e2b52663763b Replace solarized with base16.
edogawaconan <me@myconan.net>
parents: 496
diff changeset
67 set t_Co=256
e2b52663763b Replace solarized with base16.
edogawaconan <me@myconan.net>
parents: 496
diff changeset
68 colorscheme base16-default
329
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
69 endif
350
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
70
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
71 if has("autocmd")
467
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
72 augroup json_autocmd
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
73 autocmd!
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
74 autocmd FileType json set autoindent
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
75 autocmd FileType json set formatoptions=tcq2l
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
76 autocmd FileType json set textwidth=78 shiftwidth=2
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
77 autocmd FileType json set softtabstop=2 tabstop=8
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
78 autocmd FileType json set expandtab
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
79 autocmd FileType json set foldmethod=syntax
539
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
80
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
81 " required by syntax file
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
82 " reference: https://github.com/elzr/vim-json/blob/master/ftplugin/json.vim
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
83 let g:vim_json_syntax_conceal = 1
467
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
84 augroup END
350
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
85 autocmd BufRead,BufNewFile supervisord.conf :set ft=dosini
353
dd0b17d4b57a Gemfile is ruby.
Edho Arief <edho@myconan.net>
parents: 350
diff changeset
86 autocmd BufRead,BufNewFile Gemfile :set ft=ruby
454
57b104afb2ac config.ru is ruby file.
Edho Arief <edho@myconan.net>
parents: 451
diff changeset
87 autocmd BufRead,BufNewFile config.ru :set ft=ruby
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
88 autocmd BufRead,BufNewFile crontab.* :set noet
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
89 autocmd BufRead,BufNewFile crontab :set noet
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
90 autocmd BufRead,BufNewFile fstab :set noet
496
6bdf99bfbe97 Newer git use different filename, I think.
edogawaconan <me@myconan.net>
parents: 494
diff changeset
91 autocmd BufRead,BufNewFile */.git/COMMIT_EDITMSG :set noet
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
92 autocmd BufRead,BufNewFile .git/COMMIT_EDITMSG :set noet
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
93 autocmd BufRead,BufNewFile .gitconfig :set noet
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
94 autocmd BufRead,BufNewFile .git/config :set noet
476
064970c9df7c Sort syntax list.
edogawaconan <me@myconan.net>
parents: 475
diff changeset
95 autocmd BufRead,BufNewFile *.coffee :set ft=coffee
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
96 autocmd BufRead,BufNewFile *.erb :set ft=eruby
540
50fd59a959ea Add support for lesscss.
edogawaconan <me@myconan.net>
parents: 539
diff changeset
97 autocmd BufRead,BufNewFile *.less :set ft=less
393
0aabb2b34ef6 Added scss vim syntax support.
Edho Arief <edho@myconan.net>
parents: 390
diff changeset
98 autocmd BufRead,BufNewFile *.scss :set ft=scss
475
86873b811343 Add slim syntax to vim.
edogawaconan <me@myconan.net>
parents: 467
diff changeset
99 autocmd BufRead,BufNewFile *.slim :set ft=slim
538
f5b6dba3308b Add syntax highlight for blade (laravel).
edogawaconan <me@myconan.net>
parents: 536
diff changeset
100 autocmd BufRead,BufNewFile *.blade.php :set ft=blade
539
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
101 autocmd BufNewFile,BufRead *.json set filetype=json
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
102 autocmd BufNewFile,BufRead *.jsonp set filetype=json
350
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
103 endif
412
7ceec4404caf Add restore cursor position for vim.
Edho Arief <edho@myconan.net>
parents: 410
diff changeset
104
448
e0e8de4135bc Testing for function never returns true. Replaced with autocmd.
Edho Arief <edho@myconan.net>
parents: 446
diff changeset
105 if has('autocmd')
418
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
106 "Restore cursor position
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
107 set viminfo='10,\"100,:20,%,n~/.viminfo
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
108 function! ResCur()
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
109 if line("'\"") <= line("$")
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
110 normal! g`"
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
111 return 1
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
112 endif
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
113 endfunction
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
114 augroup resCur
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
115 autocmd!
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
116 autocmd BufWinEnter * call ResCur()
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
117 augroup END
496
6bdf99bfbe97 Newer git use different filename, I think.
edogawaconan <me@myconan.net>
parents: 494
diff changeset
118 autocmd BufWinEnter */.git/COMMIT_EDITMSG exe "normal! gg"
451
abb434518e1f Always start editing git commit message from line 1.
Edho Arief <edho@myconan.net>
parents: 448
diff changeset
119 autocmd BufWinEnter .git/COMMIT_EDITMSG exe "normal! gg"
418
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
120 endif
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
121
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
122 if has('statusline')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
123 " Status line detail:
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
124 " %f file path
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
125 " %y file type between braces (if defined)
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
126 " %([%R%M]%) read-only, modified and modifiable flags between braces
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
127 " %{'!'[&ff=='default_file_format']}
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
128 " shows a '!' if the file format is not the platform
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
129 " default
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
130 " %{'$'[!&list]} shows a '*' if in list mode
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
131 " %{'~'[&pm=='']} shows a '~' if in patchmode
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
132 " (%{synIDattr(synID(line('.'),col('.'),0),'name')})
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
133 " only for debug : display the current syntax item name
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
134 " %= right-align following items
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
135 " #%n buffer number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
136 " %l/%L,%c%V line number, total number of lines, and column number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
137 function SetStatusLineStyle()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
138 if &stl == '' || &stl =~ 'synID'
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
139 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]}%{'~'[&pm=='']}%=#%n %l/%L,%c%V "
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
140 else
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
141 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]} (%{synIDattr(synID(line('.'),col('.'),0),'name')})%=#%n %l/%L,%c%V "
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
142 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
143 endfunc
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
144 " Switch between the normal and vim-debug modes in the status line
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
145 nmap _ds :call SetStatusLineStyle()<CR>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
146 call SetStatusLineStyle()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
147 " Window title
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
148 if has('title')
493
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
149 if &term == "screen"
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
150 set t_ts=]0;
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
151 set t_fs=
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
152 endif
494
229acf12b960 Better vim titlestring.
edogawaconan <me@myconan.net>
parents: 493
diff changeset
153 set title
229acf12b960 Better vim titlestring.
edogawaconan <me@myconan.net>
parents: 493
diff changeset
154 let &titlestring = $user
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
155 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
156 endif