| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
Problem:
gen_declarations.lua is complex and has duplicate logic with
c_grammar.lua
Solution:
Move all lpeg logic to c_grammar.lua and refactor gen_declarations.lua.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the api_info() output:
:new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val')
...
{'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1}
The `ArrayOf(Integer, 2)` return type didn't break clients when we added
it, which is evidence that clients don't use the `return_type` field,
thus renaming Dictionary => Dict in api_info() is not (in practice)
a breaking change.
|
|
|
|
| |
And also check in .c files, as the attributes may be silently missing
there as well.
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, "static inline" functions in headers needed to have
their function attributes specified in a completely different way. The
prototype had to be duplicated, and REAL_FATTR_ had to be used instead
of the public FUNC_ATTR_ names.
TODO: need a check that a "header.h.inline.generated.h" file is not
forgotten when the first "static inline" function with attributes
is added to a header (they would just be silently missing).
|
|
|
|
|
| |
"export" only prevents IWYU from adding these headers if the headers
that export them are included, while "private" ensures that IWYU never
adds these headers.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Not all Lua code is checked by stylua. Automating code-style is an
important mechanism for reducing time spent on accidental
(non-essential) complexity.
Solution:
- Enable lintlua for `src/` directory.
followup to 517f0cc634b985057da5b95cf4ad659ee456a77e
|
|
|
|
|
|
| |
FUNC_ATTR_* should only be used in .c files with generated headers.
Defining FUNC_ATTR_* as empty in headers causes misuses of them to be
silently ignored. Instead don't define them by default, and only define
them as empty after a .c file has included its generated header.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and
others.
Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the
GUI build. (Hirohito Higashi, closes vim/vim#3932)
https://github.com/vim/vim/commit/4f97475d326c2773a78561fb874e4f23c25cbcd9
|
|
|
|
|
|
| |
Closes https://github.com/neovim/neovim/issues/15063
Allows using Neovim core functions using LuaJIT FFI on Windows.
|
|
|
|
|
|
|
| |
Do not copy a lot of lua strings (dict keys) to just strequal() them
Just compare them directly to a dedicated hash function.
feat(generators): HASHY McHASHFACE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PVS erroneously flags our DEFINE_FUNC_ATTRIBUTES guard:
V1049 The 'DEFINE_FUNC_ATTRIBUTES' include guard is already defined in
the 'lang.h.generated.h' header. The 'profile.h.generated.h' header
will be excluded from compilation.
To satisfy PVS, just remove the `#ifndef` check. It's not needed anyway:
C allows to redundantly #define a macro.
https://gcc.gnu.org/onlinedocs/cpp/Undefining-and-Redefining-Macros.html
> if an identifier which is currently a macro is redefined, then the new
> definition must be effectively the same as the old one
> ...
> If a macro is redefined with a definition that is not effectively the
> same as the old one, the preprocessor issues a warning and changes the
> macro to use the new definition. If the new definition is effectively
> the same, the redefinition is silently ignored. This allows, for
> instance, two different headers to define a common macro. The
> preprocessor will only complain if the definitions do not match.
|
| |
|
|
|
|
| |
Preprocessor directives on the first line of the file were not being parsed.
|
| |
|
| |
|
|
|