summaryrefslogtreecommitdiffstatshomepage
path: root/src/nvim/strings.h
AgeCommit message (Collapse)AuthorFiles
2025-08-14refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guardsbfredl1
These are not needed after #35129 but making uncrustify still play nice with them was a bit tricky. Unfortunately `uncrustify --update-config-with-doc` breaks strings with backslashes. This issue has been reported upstream, and in the meanwhile auto-update on every single run has been disabled.
2025-05-01refactor: move StringBuilder to types_defs.h (#33745)Gregory Anders1
2024-12-23refactor: iwyu #31637Justin M. Keyes1
Result of `make iwyu` (after some "fixups").
2024-07-13refactor(declarations): also generate prototypes for functions in headersbfredl1
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).
2024-05-20vim-patch:9.1.0409: too many strlen() calls in the regexp engine (#28857)zeertzjq1
Problem: too many strlen() calls in the regexp engine Solution: refactor code to retrieve strlen differently, make use of bsearch() for getting the character class (John Marriott) closes: vim/vim#14648 https://github.com/vim/vim/commit/82792db6315f7c7b0e299cdde1566f2932a463f8 Cherry-pick keyvalue_T and its comparison functions from patch 9.1.0256. vim-patch:9.1.0410: warning about uninitialized variable vim-patch:9.1.0412: typo in regexp_bt.c in DEBUG code Co-authored-by: John Marriott <basilisk@internode.on.net>
2024-02-18refactor(api): use an arena for mappingsbfredl1
2023-11-30build: don't define FUNC_ATTR_* as empty in headers (#26317)zeertzjq1
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.
2023-11-29refactor: move function macros out of vim_defs.h (#26300)zeertzjq1
2023-11-28refactor: fix headers with IWYUdundargoc1
2023-11-28refactor: fix runtime_defs.h (#26259)zeertzjq1
2023-11-27refactor: rename types.h to types_defs.hdundargoc1
2023-11-12refactor: replace manual header guards with #pragma oncedundargoc1
It is less error-prone than manually defining header guards. Pretty much all compilers support it even if it's not part of the C standard.
2023-05-13refactor: remove typval.h from most header files (#23601)zeertzjq1
Because typval_defs.h is enough for most of them.
2022-09-25refactor: move klib out of src/nvim/ #20341dundargoc1
It's confusing to mix vendored dependencies with neovim source code. A clean separation is simpler to keep track of and simpler to document.
2022-05-20ci: lint with uncrustify #18563dundargoc1
This lint job will ensure that the C codebase is properly formatted at all times. This helps eliminate most of clint.py. To save CI time, it's faster to manually compile uncrustify and cache the binary instead of using homebrew (the apt-get package is too old).
2022-05-14refactor(api/nvim_cmd): use `kvec_t` for constructing cmdline stringFamiu Haque1
Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
2021-10-12refactor: format all C files under nvim/ #15977dundargoc1
* refactor: format all C files under nvim * refactor: disable formatting for Vim-owned files: * src/nvim/indent_c.c * src/nvim/regexp.c * src/nvim/regexp_nfa.c * src/nvim/testdir/samples/memfile_test.c
2018-04-09buffer: PVS/V557: Refactor maketitle()ZyX1
2017-03-29eval: Split eval.c into smaller filesZyX1
2017-03-27ci: Check that `#include "*.h"` works as a single includeEiichi NISHINA1
Lesser form of include-what-you-use: at least guarantees that header file did not forget to include something through some other included file. Activate run_single_includes_tests on CI. Fix some IWYU violations. References #5321
2017-02-20strings.h: Include <stdarg.h> for vim_vsnprintf's use of va_listJames McCoy1
This fully resolves #6141.
2017-02-14message,strings: Move vim_*printf functions to strings.cZyX1
Allows eval/typval.h to #include message.h.
2014-07-11Include stdbool.h in headers which have functions with bool in signaturePavel Platto1
Done by manual inspecting of the output of this script: grep -r -l -w "bool" * | grep 'c$' | sed 's/.c$//' > has_bool grep -r -l -w "stdbool.h" * | grep 'h$' | sed 's/.h$//' > has_include grep -F -x -v -f has_include has_bool
2014-06-02Add automatic generation of headersZyX1
- The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
2014-05-19Implement vim_str(n)save using xstrdup and strncpy/xmallocFelipe Oliveira Carvalho1
2014-05-15Introduce nvim namespace: Fix define guards.Eliseo Martínez1
Change define guards from NEOVIM_XXX_H to NVIM_XXX_H: - Change header files. - Change clint correct guard name calculation.
2014-05-15Introduce nvim namespace: Move files.Eliseo Martínez1
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.