Hirokazu Hata
ae5bd0454e
lua: add tbl_deep_extend ( #11969 )
2020-05-17 13:24:34 -04:00
TJ DeVries
1407899c32
lua: Add buffer, window and tab accessors ( #12268 )
...
* Add buffer, window and tab accessors
* Fix deletion and add tests
2020-05-07 15:22:24 -04:00
Mathias Fußenegger
2c40a38b39
LSP: Avoid URI-to-fname conversion for non-file URIs #12243
...
Fixes https://github.com/neovim/neovim/issues/12210
2020-05-04 20:06:40 -07:00
Tristan Konolige
bf0f745861
lua: allow deepcopy of functions ( #12136 )
2020-04-19 01:04:37 +02:00
Hirokazu Hata
4139678f97
vim.uri: fix uri_to_fname ( #12059 )
...
fix : #12056
If the colon of the drive letter of windows is URI encoded,
it doesn't match the expected pattern, so decode it first.
2020-03-30 14:30:24 +02:00
Hirokazu Hata
e35ff7371f
lua: add vim.tbl_len() #11889
2020-03-01 23:38:43 -08:00
Björn Linse
9c00fea585
lua: add regex support, and @match
support in treesitter queries
2020-02-26 19:39:02 +01:00
Hirokazu Hata
e2ed8053bf
lua: move test helper function, map and filter, to vim.shared module
2020-02-18 17:43:10 +09:00
Björn Linse
dc0e534a91
Merge pull request #11864 from h-michael/deepcopy
...
lua: vim.deepcopy() and vim.tbl_extend() should preserve vim.empty_dict()
2020-02-15 18:10:48 +01:00
Hirokazu Hata
cdb729b746
lua: add vim.tbl_extend and vim.deepcopy test
2020-02-14 22:36:21 +09:00
Hirokazu Hata
417fc6ccf7
lua: vim.deepcopy uses empty_dict() instead of {} for empty_dict()
...
fix: https://github.com/neovim/nvim-lsp/issues/94
2020-02-13 11:55:43 +09:00
Hirokazu Hata
032ede0203
test: add json_encode test for vim.empty_dict()
2020-02-12 21:08:12 +09:00
Björn Linse
00c57c98df
treesitter: add standard &rtp/parser/ search path for parsers
2020-02-07 09:22:55 +01:00
Hye Sung Jung
14a8b3b98c
doc: fix typos [ci skip] #11787
2020-01-30 22:56:34 -08:00
Axel Forsman
2538e61513
Fix shift change callbacks reading bad cursor ( #11782 )
...
Sloppy code inherited from Vim caused user scripts to be able
to observe the cursor line in an invalid intermediary state,
due to Neovim change callbacks being unbuffered unlike Vim listeners.
Manifested in Vimscript executed from the callback possibly erroring
when `:call`:ing any function,
due to the implicit range `curwin->w_cursor.lnum,curwin->w_cursor.lnum`
failing validation.
Fixed by deferring the call to `changed_lines()` until after
`curwin->w_cursor.lnum` gets its correct value.
2020-01-30 07:34:34 +01:00
Daniel Hahler
3d1531aee5
API: include invalid buffer/window/tabpage in error message ( #11712 )
2020-01-14 09:21:10 +01:00
Björn Linse
ea4127e9a7
lua: metatable for empty dict value
2020-01-01 19:26:29 +01:00
Björn Linse
440695c296
tree-sitter: implement query functionality and highlighting prototype [skip.lint]
2019-12-22 12:51:46 +01:00
Ashkan Kiani
0e6c6261e1
Fix access on vim.wo ( #11517 )
...
* Add more tests for vim.wo
2019-12-07 03:34:02 -08:00
Justin M. Keyes
a3b6c2a3dc
API: rename nvim_execute_lua => nvim_exec_lua
...
- We already find ourselves renaming nvim_execute_lua in tests and
scripts, which suggests "exec" is the verb we actually want.
- Add "exec" verb to `:help dev-api`.
2019-12-02 22:06:42 -08:00
Ashkan Kiani
70b6061666
Add vim.startswith and vim.endswith ( #11248 )
2019-12-01 05:32:55 -08:00
Ashkan Kiani
e6da21d128
Add vim.cmd as an alias for nvim_command ( #11446 )
2019-12-01 05:28:53 -08:00
Ashkan Kiani
edca84cfc9
Return nil instead of NIL for vim.env ( #11486 )
2019-12-01 05:04:57 -08:00
Björn Linse
a76a669ac2
lua: make vim.wo and vim.bo used nested indexing for specified handle
...
Also missing option should be an error. Options are functionality,
not arbitrary variable names (as for vim.g)
2019-11-26 18:44:36 +01:00
Ashkan Kiani
b78fdd7ce5
Merge branch 'master' into lsp-followup
2019-11-24 02:29:23 -08:00
Ashkan Kiani
d0d38fc36e
Lua: vim.env, vim.{g,v,w,bo,wo} #11442
...
- Add vim variable meta accessors: vim.env, vim.{g,v,w,bo,wo}
- Redo gen_char_blob to generate multiple blobs instead of just one
so that multiple Lua modules can be inlined.
- Reorder vim.lua inclusion so that it can use previously defined C
functions and utility functions like vim.shared and vim.inspect things.
- Inline shared.lua into nvim, but also keep it available in runtime.
2019-11-24 02:28:48 -08:00
Ashkan Kiani
b984f613c1
Extend list_extend to take start/finish.
2019-11-20 17:09:21 -08:00
Björn Linse
dab40f43b1
Add v:lua.func() vimL syntax for calling lua
...
Also simplify error messages when calling lua from vimL.
2019-11-16 22:33:21 +01:00
Ashkan Kiani
00dc12c5d8
lua LSP client: initial implementation ( #11336 )
...
Mainly configuration and RPC infrastructure can be considered "done". Specific requests and their callbacks will be improved later (and also served by plugins). There are also some TODO:s for the client itself, like incremental updates.
Co-authored by at-tjdevries and at-h-michael, with many review/suggestion contributions.
2019-11-13 21:55:26 +01:00
Justin M. Keyes
a0d992785f
Lua: Use vim.validate() instead of assert()
2019-11-10 23:43:49 -08:00
Justin M. Keyes
7aa4042d3b
Lua: vim.validate()
2019-11-10 23:43:49 -08:00
Hirokazu Hata
678a51b1da
Lua: vim.validate()
...
We often want to do type checking of public function arguments.
- test: Rename utility_function_spec.lua to vim_spec.lua
- .luacov: Map lua module names
2019-11-10 22:50:24 -08:00
Björn Linse
d200a818a7
tests: vim.rpcnotify test is flaky
2019-11-10 17:13:53 +01:00
Björn Linse
474d0bcbf7
lua: vim.rpcrequest, vim.rpcnotify, vim.NIL
2019-11-10 13:08:05 +01:00
Justin M. Keyes
9ef16a1628
doc: vim.fn, vim.call(), vim.api [ci skip]
2019-11-06 01:37:50 -08:00
Björn Linse
8ee7c94a92
lua: add vim.fn.{func} for direct access to vimL function
...
compared to vim.api.|nvim_call_function|, this fixes some typing issues
due to the indirect conversion via the API. float values are preserved
as such (fixes #9389 ) as well as empty dicts/arrays.
Ref https://github.com/norcalli/nvim.lua for the call syntax
2019-10-27 17:23:17 +01:00
Justin M. Keyes
316c29bbf3
test/pcall_err(): truncate full paths, omit linenr
...
ref #11271
2019-10-26 02:00:58 -07:00
Hirokazu Hata
996a057fb9
lua/stdlib: adjust some validation messages #11271
...
close #11271
2019-10-26 00:27:01 -07:00
Björn Linse
9fa850991d
tree-sitter: improve and cleanup tests
2019-09-28 17:46:25 +02:00
Björn Linse
d5a69eb076
tree-sitter: handle node equality
2019-09-28 17:46:25 +02:00
Björn Linse
e0d6228978
tree-sitter: use "range" instead of "point_range" consistently in lua API
2019-09-28 17:46:25 +02:00
Björn Linse
06ee45b9b1
tree-sitter: fix lint, delete "demo" plugin (replaced by functional tests)
2019-09-28 17:46:25 +02:00
Björn Linse
167a1cfdef
tree-sitter: improve parser API (shared parser between plugins)
2019-09-28 14:55:43 +02:00
Björn Linse
c8f861b739
tree-sitter: rename tree_sitter => treesitter for consistency
2019-09-28 14:55:43 +02:00
Björn Linse
4ea5e63aa8
tree-sitter: add basic testing on ci
...
build tree-sitter c parser on ci for testing purposes
2019-09-28 14:55:43 +02:00
Justin M. Keyes
af946046b9
test: Rename meth_pcall to pcall_err
...
- Rename `meth_pcall`.
- Make `pcall_err` raise an error if the function does not fail.
- Add `vim.pesc()` to treat a string as literal where a Lua pattern is
expected.
2019-09-06 17:19:07 -07:00
Björn Linse
7e07efaff4
api: make try_end clean-up after an exception properly. Fixes #10809
...
Otherwise `force_abort` will cause an emsg() higher on the stack
to be converted to an exception, even though it is outside any
try/catch.
2019-09-02 23:01:16 +02:00
Björn Linse
1f54f68732
lua: minimal UTF-16 support needed for LSP
2019-08-08 20:10:14 +02:00
Björn Linse
c0993ed343
lua: support getting UTF-32 and UTF-16 sizes of replaced text
2019-08-06 20:24:36 +02:00
Björn Linse
b0e26199ec
lua: add {old_byte_size} to on_lines buffer change event
2019-08-06 17:01:47 +02:00