This repository has been archived by the owner on Feb 20, 2020. It is now read-only.
forked from dlam26/xqueryvim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
72 lines (50 loc) · 3.06 KB
/
README
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
This is the BaseX specific version of https://github.com/dlam26/xqueryvim
__description__
This plugin configures Vim to be a little more efficient at editing XQuery...!
It also sets up Exuberant Ctags for XQuery, since it's not one of the supported languages.
ftplugin/xquery.vim:
-Makes keys like gd and<C-]> and i_CTRL-p work better when editing XQuery files by temporarily adding the hyphen - to the 'iskeyword' option
-Sets options useful when editing XQuery (like 'set comments')
-Sets a few variables to make matchit.vim and taglist.vim work better with XQuery
-Comment regions out via surround.vim by visually selecting an area, then pressing Sc
xquerycomplete.vim:
-Completes W3C XQuery 'fn' functions, types and keywords.
-Also completes any BaseX functions
(BaseX specific code for function completion may be generated
running the XQuery script `basex-fn2vim.xq` inside the
BaseX Docu Project: https://github.com/arolle/basex-docu )
Examples:
fn<CTRL-x><CTRL-o>
-> list of functions in the 'fn' namespace
fn:doc<CTRL-x><CTRL-o>
-> fn:doc(
fn:doc-available(
fn:document-uri(
xs<CTRL-x><CTRL-o>
-> list of all xquery types
decl<CTRL-x><CTRL-o>
-> declare
declare function
declare namespace
declare option
declare default
indent/xquery.vim:
- Attempts to indent according to the 'XQuery Style Conventions' here: http://xqdoc.org/xquery-style.html
- Typing out certain keywords (like for/let/where/order/group/return/else) will automatically indent to the correct location when typed out.
- It can recognize complex FLOWR expressions. For example in the example below,
if in insert mode, hitting enter after the first line will immediately
align the cursor with the 'for'.
Also, typing out the 'let' in the fourth line will immediately re-indent the line to align with the 'let' on the first line.
let $foo := for $editor in $editors
where not(contains($editor, "emacs"))
return $editor
let $bar := "bar"
return
$bar
__install details__
1. Copy ftplugin/xquery.vim to $HOME/.vim/ftplugin or $HOME/vimfiles/ftplugin or $VIM/vimfiles/ftplugin (and set 'filetype plugin on')
2. Copy autoload/xquerycomplete.vim to $HOME/.vim/autoload or $HOME/vimfiles/autoload or $VIM/vimfiles/autoload
3. Copy indent/xquery.vim to $HOME/.vim/indent/ or $HOME/vimfiles/indent or $VIM/vimfiles/indent (and set 'filetype indent on').
4. Copy _ctags to $HOME/.ctags (or one of the alternatives at http://ctags.sourceforge.net/ctags.html#FILES)
5. Download Exuberant Ctags and put it on your path. Use 'ctags -R' to build a tags file for your XQuery source folder
The steps are mostly optional, so if you don't want automatic indentation for instance, you can just skip step #3.