Lines Matching refs:lua

7 The Lua Interface to Vim				*lua* *Lua*
9 1. Commands |lua-commands|
10 2. The vim module |lua-vim|
11 3. List userdata |lua-list|
12 4. Dict userdata |lua-dict|
13 5. Blob userdata |lua-blob|
14 6. Funcref userdata |lua-funcref|
15 7. Buffer userdata |lua-buffer|
16 8. Window userdata |lua-window|
17 9. luaeval() Vim function |lua-luaeval|
18 10. Dynamic loading |lua-dynamic|
20 {only available when Vim was compiled with the |+lua| feature}
23 1. Commands *lua-commands*
25 *:lua*
26 :[range]lua {chunk}
31 :lua print("Hello, Vim!")
32 :lua local curbuf = vim.buffer() curbuf[7] = "line #7"
35 :[range]lua << [trim] [{endmarker}]
47 This form of the |:lua| command is mainly useful for including Lua code
53 lua << EOF
62 :lua print(_VERSION)
65 :lua print(jit.version)
81 :lua require"lpeg"
82 :lua -- balanced parenthesis grammar:
83 :lua bp = lpeg.P{ "(" * ((1 - lpeg.S"()") + lpeg.V(1))^0 * ")" }
94 :luafile script.lua
98 All these commands execute a Lua chunk from either the command line (:lua and
105 Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
106 and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
112 2. The vim module *lua-vim*
124 the list. See also |lua-eval| for conversion
126 :lua t = {math.pi, false, say = 'hi'}
136 |lua-eval| for conversion rules. Example: >
137 :lua t = {math.pi, false, say = 'hi'}
146 :lua s = "12ab\x00\x80\xfe\xff"
174 :lua l = vim.list()
175 :lua print(type(l), vim.type(l))
181 :lua vim.command"set tw=60"
182 :lua vim.command"normal ddp"
183 lua << trim END
195 userdata (see |lua-list| and |lua-dict|).
197 :lua tw = vim.eval"&tw"
198 :lua print(vim.eval"{'a': 'one'}".a)
212 :lua print(vim.call('has', 'timers'))
216 :lua print(vim.fn.has('timers'))
227 *lua-vim-variables*
260 3. List userdata *lua-list*
298 :lua l = vim.eval('l') -- same 'l'
299 :lua l:add(vim.list())
300 :lua l[1] = math.pi
302 :lua l[1] = nil -- remove first item
303 :lua l:insert(true, 1)
304 :lua print(l, #l, l[1], l[2])
305 :lua l[#l + 1] = 'value'
306 :lua table.insert(l, 100)
307 :lua table.insert(l, 2, 200)
308 :lua table.remove(l, 1)
309 :lua for item in l() do print(item) end
312 4. Dict userdata *lua-dict*
331 :lua d = vim.eval('d') -- same 'd'
332 :lua print(d, d.n, #d)
334 :lua for k, v in d() do print(d, k, v) end
335 :lua d.x = math.pi
336 :lua d.self = nil -- remove entry
341 5. Blob userdata *lua-blob*
359 :lua b = vim.eval('b') -- same 'b'
360 :lua print(b, b[0], #b)
361 :lua b[1] = 32
362 :lua b[#b] = 0x33 -- append a byte to tail
363 :lua b:add("\x80\x81\xfe\xff")
368 6. Funcref userdata *lua-funcref*
386 :lua i1 = vim.funcref('I')
387 :lua i2 = vim.eval('R')
388 :lua print(#i1, #i2) -- both 'I'
389 :lua print(i1, i2, #i2(i1) == #i1(i2))
394 :lua d = vim.eval('mydict'); d.len = vim.funcref('Mylen')
396 :lua l = d.len -- assign d as 'self'
397 :lua print(l())
402 lua <<EOF
409 7. Buffer userdata *lua-buffer*
439 :lua b = vim.buffer() -- current buffer
440 :lua print(b.name, b.number)
441 :lua b[1] = "first line"
442 :lua b:insert("FIRST!", 0)
443 :lua b[1] = nil -- delete top line
444 :lua for i=1,3 do b:insert(math.random()) end
445 :3,4lua for i=vim.lastline,vim.firstline,-1 do b[i] = nil end
446 :lua vim.open"myfile"() -- open buffer and set it as current
449 lua << EOF
461 8. Window userdata *lua-window*
484 :lua w = vim.window() -- current window
485 :lua print(w.buffer.name, w.line, w.col)
486 :lua w.width = w.width + math.random(10)
487 :lua w.height = 2 * math.random() * w.height
488 :lua n,w = 0,vim.window(true) while w~=nil do n,w = n + 1,w:next() end
489 :lua print("There are " .. n .. " windows")
493 9. luaeval() Vim function *lua-luaeval* *lua-eval*
514 :lua a = vim.list():add('newlist')
524 10. Dynamic loading *lua-dynamic*
527 |:version| output then includes |+lua/dyn|.