1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 11:10:05 +08:00
SpaceVim/bundle/calendar.vim/autoload/calendar/setlocal.vim
2022-05-28 15:29:51 +08:00

62 lines
1.8 KiB
VimL

" =============================================================================
" Filename: autoload/calendar/setlocal.vim
" Author: itchyny
" License: MIT License
" Last Change: 2019/07/20 13:22:17.
" =============================================================================
let s:save_cpo = &cpo
set cpo&vim
" All the setlocal commands are executed using the functions in this file.
" Set all the local settings for the current calendar buffer.
let s:undolevels = v:version > 704 || v:version == 704 && has('patch073')
let s:colorcolumn = exists('&colorcolumn')
let s:relativenumber = exists('&relativenumber')
function! calendar#setlocal#new() abort
setlocal nomodifiable buftype=nofile noswapfile readonly
\ bufhidden=hide wrap nowrap nobuflisted nofoldenable foldcolumn=0
\ nolist completefunc= omnifunc=
\ nocursorcolumn nocursorline nomodeline
if &number
setlocal nonumber
endif
if s:undolevels
setlocal undolevels=-1
endif
if s:colorcolumn
setlocal colorcolumn=
endif
if s:relativenumber && &relativenumber
setlocal norelativenumber
endif
call calendar#setlocal#filetype()
endfunction
" Set modifiable so that the controller can modify the contents in the buffer.
function! calendar#setlocal#modifiable() abort
setlocal modifiable noreadonly
endfunction
" Set nomodifiable after the controller modify the contents in the buffer.
function! calendar#setlocal#nomodifiable() abort
setlocal nomodifiable readonly
endfunction
" Set filetype once.
function! calendar#setlocal#filetype() abort
if &l:filetype !=# 'calendar'
setlocal filetype=calendar
endif
endfunction
" Set filetype forcibly. (see 'autocmd ColorScheme' in autocmd.vim)
function! calendar#setlocal#filetype_force() abort
setlocal filetype=
setlocal filetype=calendar
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo