aboutsummaryrefslogtreecommitdiff
path: root/scripts/gen_vimdoc.py
Commit message (Collapse)AuthorAge
* feat(lua): add vim.iter (#23029)Gregory Anders2023-04-17
| | | | | vim.iter wraps a table or iterator function into an `Iter` object with methods such as `filter`, `map`, and `fold` which can be chained to produce iterator pipelines that do not create new tables at each step.
* feat(lua): add `vim.loader`Folke Lemaitre2023-03-26
| | | feat: new faster lua loader using byte-compilation
* feat(treesitter)!: deprecate top level indexes to modules (#22761)Lewis Russell2023-03-24
| | | | | | | | | | | | | | | | | The following top level Treesitter functions have been moved: - vim.treesitter.inspect_language() -> vim.treesitter.language.inspect() - vim.treesitter.get_query_files() -> vim.treesitter.query.get_files() - vim.treesitter.set_query() -> vim.treesitter.query.set() - vim.treesitter.query.set_query() -> vim.treesitter.query.set() - vim.treesitter.get_query() -> vim.treesitter.query.get() - vim.treesitter.query.get_query() -> vim.treesitter.query.get() - vim.treesitter.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.query.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.add_predicate() -> vim.treesitter.query.add_predicate() - vim.treesitter.add_directive() -> vim.treesitter.query.add_directive() - vim.treesitter.list_predicates() -> vim.treesitter.query.list_predicates() - vim.treesitter.list_directives() -> vim.treesitter.query.list_directives() - vim.treesitter.query.get_range() -> vim.treesitter.get_range() - vim.treesitter.query.get_node_text() -> vim.treesitter.get_node_text()
* docs(html): render @see items as a list #22675Justin M. Keyes2023-03-15
| | | | | | | | | | | Needed for "flow" HTML layout. Flow layout before: See also: https://github.com/kikito/inspect.lua https://github.com/mpeterv/vinspect Flow layout after: See also: - https://github.com/kikito/inspect.lua - https://github.com/mpeterv/vinspect
* refactor(vim.version): cleanupJustin M. Keyes2023-03-06
| | | | | | | - version.cmp(): assert valid version - add test for loading vim.version (the other tests use shared.lua in the test runner) - reduce test scopes, reword test descriptions
* feat(lua): add semver apiKelly Lin2023-03-06
|
* docs: module-level docstrings (@defgroup) #22498Justin M. Keyes2023-03-05
| | | | | | | | | | | | Problem: gen_vimdoc.py / lua2dox.lua does not support @defgroup or \defgroup except for "api-foo" modules. Solution: Modify `gen_vimdoc.py` to look for section names based on `helptag_fmt`. TODO: - Support @module ? https://github.com/LuaLS/lua-language-server/wiki/Annotations#module
* docs: lua2dox.lua debuggingJustin M. Keyes2023-03-03
|
* docs: fix vim.treesitter tagsJustin M. Keyes2023-03-03
| | | | | | | | | Problem: Help tags like vim.treesitter.language.add() are confusing because `vim.treesitter.language` is (thankfully) not a user-facing module. Solution: Ignore the "fstem" when generating "treesitter" tags.
* ci(fix): repair regen-api-docs (#22403)Mathias Fußenegger2023-02-25
| | | | | | | https://github.com/neovim/neovim/pull/22398 broke the job because there is no `build/bin/nvim` This keeps the preference for `build/bin/nvim` but adds back `nvim` as fallback if it doesn't exist.
* docs: use build/bin/nvim instead of nvim in gen_vimdoc (#22398)Mathias Fußenegger2023-02-25
| | | | | | | | | | Problem: `nvim` could point to stable release missing the `nvim -l` functionality. Solution: Require to build nvim first and use `build/bin/nvim`
* feat(lua)!: execute Lua with "nvim -l"Justin M. Keyes2023-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Nvim has Lua but the "nvim" CLI can't easily be used to execute Lua scripts, especially scripts that take arguments or produce output. Solution: - support "nvim -l [args...]" for running scripts. closes #15749 - exit without +q - remove lua2dox_filter - remove Doxyfile. This wasn't used anyway, because the doxygen config is inlined in gen_vimdoc.py (`Doxyfile` variable). - use "nvim -l" in docs-gen CI job Examples: $ nvim -l scripts/lua2dox.lua --help Lua2DoX (0.2 20130128) ... $ echo "print(vim.inspect(_G.arg))" | nvim -l - --arg1 --arg2 $ echo 'print(vim.inspect(vim.api.nvim_buf_get_text(1,0,0,-1,-1,{})))' | nvim +"put ='text'" -l - TODO? -e executes Lua code -l loads a module -i enters REPL _after running the other arguments_.
* feat: `vim.inspect_pos`, `vim.show_pos`, `:Inspect`Folke Lemaitre2022-12-17
|
* feat(lsp): initial support for semantic token highlightingJohn Drouhard2022-12-08
| | | | | | * credit to @smolck and @theHamsta for their contributions in laying the groundwork for this feature and for their work on some of the helper utility functions and tests
* docs(treesitter): use full function names in tags (#21321)Gregory Anders2022-12-07
|
* docs(gen): support language annotation in docstringsChristian Clason2022-12-02
|
* feat: add vim.secure.read()Gregory Anders2022-11-17
| | | | | | | | | This function accepts a path to a file and prompts the user if the file is trusted. If the user confirms that the file is trusted, the contents of the file are returned. The user's decision is stored in a trust database at $XDG_STATE_HOME/nvim/trust. When this function is invoked with a path that is already marked as trusted in the trust database, the user is not prompted for a response.
* feat(lua-api): avoid unnecessary allocations (#19877)Lewis Russell2022-11-14
| | | | Lua makes (or reuses) an internal copy of strings, so we can safely push buf pointers onto the stack.
* docs: fix/remove invalid URLs #20647Justin M. Keyes2022-10-14
|
* docs: various #12823Justin M. Keyes2022-10-09
| | | | | | | | | | | | - increase python line-length limit from 88 => 100. - gen_help_html: fix bug in "tag" case (tbl_count => tbl_contains) ref #15632 fix #18215 fix #18479 fix #20527 fix #20532 Co-authored-by: Ben Weedon <ben@weedon.email>
* feat(docs): format parameters as a list #20485Justin M. Keyes2022-10-05
| | | | | | | | | | | Problem: The {foo} parameters listed in `:help api` and similar generated docs, are intended to be a "list" but they aren't prefixed with a list symbol. This prevents parsers from understanding the list, which forces generators like `gen_help_html.lua` to use hard-wrapped/preformatted layout instead of a soft-wrapped "flow" layout. Solution: Modify gen_vimdoc.py to prefix {foo} parameters with a "•" symbol.
* fix(gen_vimdoc.py): handle missing luajitJustin M. Keyes2022-09-25
|
* docs(treesitter): clean up and update treesitter.txt (#20142)Christian Clason2022-09-14
| | | | | * add type annotations to code * clean up and expand static documentation * consistent use of tags for static and generated docs
* perf(api): allow to use an arena for return valuesbfredl2022-08-23
|
* docs: change gen_vimdoc indentation to 4 spacesii142022-08-11
|
* Merge pull request #19409 from bfredl/uiunpackbfredl2022-07-19
|\ | | | | perf(ui): some ui_client fixes/optimizations before externalized TUI
| * fix(rpc): break nvim_error_event feedback loop between two nvim instancesbfredl2022-07-19
| | | | | | | | | | | | In case nvim A sends nvim_error_event to nvim B, it would respond with another nvim_error_event due to unknown request name. Fix this by adding dummy request handler for now.
* | fix(docs): remove internal function from docs (nvim__*)Maverun2022-07-19
|/
* build(gen_vimdoc): remove needless list creation and unused variable (#19079)Axis2022-06-25
| | | build(gen_vimdoc): remove needless list creation
* refactor(api): update vimdocbfredl2022-06-12
|
* feat(fs): add vim.fs.parents()Gregory Anders2022-05-31
| | | | | vim.fs.parents() is a Lua iterator that returns the next parent directory of the given file or directory on each iteration.
* build(gen_vimdoc): eliminate non-constant global variables (#17781)dundargoc2022-05-15
|
* build(gen_vimdoc): print user's doxygen version if it's too oldDundar Goc2022-05-02
| | | | | | @theHamsta suggested in https://github.com/neovim/neovim/pull/18348#discussion_r862594173 to also print the users doxygen version if the version is too old.
* ci(gen_vimdoc): handle edge case when checking doxygen versionDundar Goc2022-05-02
| | | | | | | | | | | When checking the version of the doxygen installed from conda the output has the following format: 1.9.2 (ee54ebd4f0ad83d9c44f19a459146de64d0ffba2*) This would cause an error in the "Missing API docs" CI job. This fix will correctly parse the doxygen version for both stable releases ("1.9.2") as well as the version with the git commit hash attached.
* build(gen_vimdoc): abort if doxygen version is too oldDundar Goc2022-05-01
| | | | | | | | There have been a few instances where developers got confused as to why their generated documentation differs from the one generated by the CI. More often than not, the reason is that their doxygen version is older than 1.9.0, which is the current minimum version. Having a simple version check will help save future developers avoid this problem.
* docs(api): more API attributes #18336ii142022-04-30
|
* docs: remove extra whitespacesDaiki Mizukami2022-03-14
|
* chore(gen_vimdoc): fall back to `brief_desc_node` when `desc_node` is emptyDaiki Mizukami2022-03-14
|
* refactor(gen_vimdoc): simplify `files` in `CONFIG`Daiki Mizukami2022-03-14
|
* chore(gen_vimdoc): call `delete_lines_below` only if the file existsDaiki Mizukami2022-03-14
| | | | | | | Previously, `delete_lines_below` would raise `FileNotFoundError` when adding a new file to `CONFIG` and you had to manually write a file with help tag of the first section as placeholder. This change relieves you of that need.
* refactor(gen_vimdoc): detect `section_start_token` automaticallyDaiki Mizukami2022-03-14
|
* docs(lua): reference runtime/lua/vim/_editor.luazeertzjq2022-03-06
|
* feat(lua): add api and lua autocmdsTJ DeVries2022-02-27
|
* chore(gen_vimdoc): correct minimum python versionDundar Göc2022-02-05
|
* chore(gen_vimdoc): remove duplicate extmark.c entryDundar Göc2022-02-03
|
* feat(lua): add vim.keymapshadmansaleh2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | This introduces two new functions `vim.keymap.set` & `vim.keymap.del` differences compared to regular set_keymap: - remap is used as opposite of noremap. By default it's true for <Plug> keymaps and false for others. - rhs can be lua function. - mode can be a list of modes. - replace_keycodes option for lua function expr maps. (Default: true) - handles buffer specific keymaps Examples: ```lua vim.keymap.set('n', 'asdf', function() print("real lua function") end) vim.keymap.set({'n', 'v'}, '<leader>lr', vim.lsp.buf.references, {buffer=true}) vim.keymap.set('n', '<leader>w', "<cmd>w<cr>", {silent = true, buffer = 5 }) vim.keymap.set('i', '<Tab>', function() return vim.fn.pumvisible() == 1 and "<C-n>" or "<Tab>" end, {expr = true}) vim.keymap.set('n', '[%', '<Plug>(MatchitNormalMultiBackward)') vim.keymap.del('n', 'asdf') vim.keymap.del({'n', 'i', 'v'}, '<leader>w', {buffer = 5 }) ```
* feat: filetype.lua (#16600)Gregory Anders2022-01-04
| | | | Adds a new vim.filetype module that provides support for filetype detection in Lua.
* fix(docgen): add tagfunc.luaMichael Lingelbach2021-11-18
|
* fix(docs): add sync.lua to gen_vimdoc (#16285)Michael Lingelbach2021-11-11
|
* refactor(api): break out Vim script functions to its own fileBjörn Linse2021-10-29
|