diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-02-18 03:32:57 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-03-01 14:03:58 +0100 |
commit | 5c421080f8d993b0a825a22dc3474e40db4d780d (patch) | |
tree | f3e1165fb4a37c08c704b817db8719ab91810f51 /runtime | |
parent | 500454227f6a55d0497ac837669736e9eff482a7 (diff) | |
download | rneovim-5c421080f8d993b0a825a22dc3474e40db4d780d.tar.gz rneovim-5c421080f8d993b0a825a22dc3474e40db4d780d.tar.bz2 rneovim-5c421080f8d993b0a825a22dc3474e40db4d780d.zip |
win/package: runtime files
runtime/plugin/gui_shim.vim is from Neovim-Qt. This is a temporary
measure, we will add real UI events which obviate gui_shim.vim.
Closes #6145
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/plugin/gui_shim.vim | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/runtime/plugin/gui_shim.vim b/runtime/plugin/gui_shim.vim new file mode 100644 index 0000000000..28d82eb1c7 --- /dev/null +++ b/runtime/plugin/gui_shim.vim @@ -0,0 +1,73 @@ +" A Neovim plugin that implements GUI helper commands +if !has('win32') || !has('nvim') || exists('g:GuiLoaded') + finish +endif +let g:GuiLoaded = 1 + +" A replacement for foreground() +function! GuiForeground() abort + call rpcnotify(0, 'Gui', 'Foreground') +endfunction + +" Set maximized state for GUI window (1 is enabled, 0 disabled) +function! GuiWindowMaximized(enabled) abort + call rpcnotify(0, 'Gui', 'WindowMaximized', a:enabled) +endfunction + +" Set fullscreen state for GUI window (1 is enabled, 0 disabled) +function! GuiWindowFullScreen(enabled) abort + call rpcnotify(0, 'Gui', 'WindowFullScreen', a:enabled) +endfunction + +" Set GUI font +function! GuiFont(fname, ...) abort + let force = get(a:000, 0, 0) + call rpcnotify(0, 'Gui', 'Font', a:fname, force) +endfunction + +" Set additional linespace +function! GuiLinespace(height) abort + call rpcnotify(0, 'Gui', 'Linespace', a:height) +endfunction + +" Configure mouse hide behaviour (1 is enabled, 0 disabled) +function! GuiMousehide(enabled) abort + call rpcnotify(0, 'Gui', 'Mousehide', a:enabled) +endfunction + +" The GuiFont command. For compatibility there is also Guifont +function s:GuiFontCommand(fname, bang) abort + if a:fname ==# '' + if exists('g:GuiFont') + echo g:GuiFont + else + echo 'No GuiFont is set' + endif + else + call GuiFont(a:fname, a:bang ==# '!') + endif +endfunction +command! -nargs=? -bang Guifont call s:GuiFontCommand("<args>", "<bang>") +command! -nargs=? -bang GuiFont call s:GuiFontCommand("<args>", "<bang>") + +function s:GuiLinespaceCommand(height) abort + if a:height ==# '' + if exists('g:GuiLinespace') + echo g:GuiLinespace + else + echo 'No GuiLinespace is set' + endif + else + call GuiLinespace(a:height) + endif +endfunction +command! -nargs=? GuiLinespace call s:GuiLinespaceCommand("<args>") + +" GuiDrop('file1', 'file2', ...) is similar to :drop file1 file2 ... +" but it calls fnameescape() over all arguments +function GuiDrop(...) + let l:fnames = deepcopy(a:000) + let l:args = map(l:fnames, 'fnameescape(v:val)') + exec 'drop '.join(l:args, ' ') + doautocmd BufEnter +endfunction |