diff options
author | Lewis Russell <lewis6991@gmail.com> | 2025-02-26 11:38:07 +0000 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2025-02-26 16:54:37 +0000 |
commit | 0f24b0826a27b7868a3aacc25199787e7453d4cc (patch) | |
tree | 49585aac252581a735577f2e5711201a85ab8a7e /scripts/cdoc_grammar.lua | |
parent | 85caaa70d44b7b18c633aa0b140de5f3f6d3eee7 (diff) | |
download | rneovim-0f24b0826a27b7868a3aacc25199787e7453d4cc.tar.gz rneovim-0f24b0826a27b7868a3aacc25199787e7453d4cc.tar.bz2 rneovim-0f24b0826a27b7868a3aacc25199787e7453d4cc.zip |
build: move all generator scripts to `src/gen/`
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
- Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
- `require('scripts.foo')` -> `require('gen.foo')`
- `require('src.nvim.options')` -> `require('nvim.options')`
- `require('api.dispatch_deprecated')` -> `require('nvim.api.dispatch_deprecated')`
Diffstat (limited to 'scripts/cdoc_grammar.lua')
-rw-r--r-- | scripts/cdoc_grammar.lua | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/scripts/cdoc_grammar.lua b/scripts/cdoc_grammar.lua deleted file mode 100644 index 6a7610883b..0000000000 --- a/scripts/cdoc_grammar.lua +++ /dev/null @@ -1,87 +0,0 @@ ---[[! -LPEG grammar for C doc comments -]] - ---- @class nvim.cdoc.Param ---- @field kind 'param' ---- @field name string ---- @field desc? string - ---- @class nvim.cdoc.Return ---- @field kind 'return' ---- @field desc string - ---- @class nvim.cdoc.Note ---- @field desc? string - ---- @alias nvim.cdoc.grammar.result ---- | nvim.cdoc.Param ---- | nvim.cdoc.Return ---- | nvim.cdoc.Note - ---- @class nvim.cdoc.grammar ---- @field match fun(self, input: string): nvim.cdoc.grammar.result? - -local lpeg = vim.lpeg -local P, R, S = lpeg.P, lpeg.R, lpeg.S -local Ct, Cg = lpeg.Ct, lpeg.Cg - ---- @param x vim.lpeg.Pattern -local function rep(x) - return x ^ 0 -end - ---- @param x vim.lpeg.Pattern -local function rep1(x) - return x ^ 1 -end - ---- @param x vim.lpeg.Pattern -local function opt(x) - return x ^ -1 -end - -local nl = P('\r\n') + P('\n') -local ws = rep1(S(' \t') + nl) - -local any = P(1) -- (consume one character) -local letter = R('az', 'AZ') + S('_$') -local ident = letter * rep(letter + R('09')) - -local io = P('[') * (P('in') + P('out') + P('inout')) * P(']') - ---- @param x string -local function Pf(x) - return opt(ws) * P(x) * opt(ws) -end - ---- @type table<string,vim.lpeg.Pattern> -local v = setmetatable({}, { - __index = function(_, k) - return lpeg.V(k) - end, -}) - -local grammar = P { - rep1(P('@') * v.ats), - - ats = v.at_param + v.at_return + v.at_deprecated + v.at_see + v.at_brief + v.at_note + v.at_nodoc, - - at_param = Ct( - Cg(P('param'), 'kind') * opt(io) * ws * Cg(ident, 'name') * opt(ws * Cg(rep(any), 'desc')) - ), - - at_return = Ct(Cg(P('return'), 'kind') * opt(S('s')) * opt(ws * Cg(rep(any), 'desc'))), - - at_deprecated = Ct(Cg(P('deprecated'), 'kind')), - - at_see = Ct(Cg(P('see'), 'kind') * ws * opt(Pf('#')) * Cg(rep(any), 'desc')), - - at_brief = Ct(Cg(P('brief'), 'kind') * ws * Cg(rep(any), 'desc')), - - at_note = Ct(Cg(P('note'), 'kind') * ws * Cg(rep(any), 'desc')), - - at_nodoc = Ct(Cg(P('nodoc'), 'kind')), -} - -return grammar --[[@as nvim.cdoc.grammar]] |