aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/arabic.c
Commit message (Collapse)AuthorAge
* refactor: fix headers with IWYUdundargoc2023-11-28
|
* build(IWYU): fix includes for func_attr.hdundargoc2023-11-27
|
* refactor: iwyu (#26062)zeertzjq2023-11-16
|
* build: remove PVSdundargoc2023-11-12
| | | | | | | We already have an extensive suite of static analysis tools we use, which causes a fair bit of redundancy as we get duplicate warnings. PVS is also prone to give false warnings which creates a lot of work to identify and disable.
* refactor(grid): do arabic shaping in one placebfredl2023-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | The 'arabicshape' feature of vim is a transformation of unicode text to make arabic and some related scripts look better at display time. In particular the content of a cell will be adjusted depending on the (original) content of the cells just before and after it. This is implemented by the arabic_shape() function in nvim. Before this commit, shaping was invoked in four different contexts: - when rendering buffer text in win_line() - in line_putchar() for rendering virtual text - as part of grid_line_puts, used by messages and statuslines and similar - as part of draw_cmdline() for drawing the cmdline This replaces all these with a post-processing step in grid_put_linebuf(), which has become the entry point for all text rendering after recent refactors. An aim of this is to make the handling of multibyte text yet simpler. One of the main reasons multibyte chars needs to be "parsed" into codepoint arrays of composing chars is so that these could be inspected for the purpose of shaping. This can likely be vastly simplified in many contexts where only the total length (in bytes) and width of composed char is needed.
* refactor: reorganize option header files (#25437)zeertzjq2023-09-30
| | | | | | - Move vimoption_T to option.h - option_defs.h is for option-related types - option_vars.h corresponds to Vim's option.h - option_defs.h and option_vars.h don't include each other
* build: allow IWYU to fix includes for all .c filesdundargoc2022-11-15
| | | | | | | | | | Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
* refactor: fix clang-tidy warningsdundargoc2022-11-06
| | | | | | | | Enable and fix bugprone-misplaced-widening-cast warning. Fix some modernize-macro-to-enum and readability-else-after-return warnings, but don't enable them. While the warnings can be useful, they are in general too noisy to enable.
* vim-patch:8.1.1085: compiler warning for possibly uninitialized variablezeertzjq2022-08-25
| | | | | | | Problem: Compiler warning for possibly uninitialized variable. (Tony Mechelynck) Solution: Make conditions more logical. https://github.com/vim/vim/commit/bd9bf266fccbf7b7f09e476e09b61f0133e914db
* vim-patch:8.1.1038: Arabic support excludes Farsi (#19285)zeertzjq2022-07-10
| | | | | | | | Problem: Arabic support excludes Farsi. Solution: Add Farsi support to the Arabic support. (Ali Gholami Rudi, Ameretat Reith) https://github.com/vim/vim/commit/dc4fa190e7b9d6ba49416ce875d2192c4444d3eb Omit Test_shape_final_to_medial(): removed in later patches.
* refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
|
* refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: add pure attribute to pure functionsDundar Göc2022-04-13
| | | | | This will allow compilers that support the pure attribute to make further optimizations to functions.
* refactor: format with uncrustify #15722dundargoc2021-09-19
|
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* vim-patch:8.1.1032: warnings from clang static analyzerJan Edmund Lazo2020-12-28
| | | | | | Problem: Warnings from clang static analyzer. (Yegappan Lakshmanan) Solution: Fix relevant warnings. https://github.com/vim/vim/commit/2c519cf3bfe76083767ac94c674d2e161ed36587
* Refactor: Remove occurences of mb_char2bytesZviRackover2018-09-09
|
* vim-patch:8.0.0497: arabic support is not fully tested (#8404)nthanben2018-05-19
| | | | | | Problem: Arabic support is not fully tested. Solution: Add more tests for the untested functions. Comment out unreachable code. vim/vim@3ff2f09
* vim-patch:8.0.0406: arabic shaping code is verboseckelsel2018-01-15
| | | | | | | Problem: The arabic shaping code is verbose. Solution: Shorten the code without changing the functionality. https://github.com/vim/vim/commit/7f73b54631af3f0e6f0acd1a1b4c9e8436784705
* vim-patch:8.0.0391: arabic support is verbose and not well testedckelsel2018-01-15
| | | | | | | Problem: Arabic support is verbose and not well tested. Solution: Simplify the code. Add more tests. https://github.com/vim/vim/commit/5f53dd3f747711be90879fa2f22a207970b86750
* *: Add comment to all C filesZyX2017-04-19
|
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* Fix lint errors #3204Steven Oliver2015-08-20
| | | | Remove formatting errors from arabic.c and cursor_shape.c
* arabic.c: Comment fixesMichael Reed2014-11-15
| | | | | - Use C99 style comments everywhere - Fix incorrect references to return values
* clang-analyzer: Reduce scope in arabic.c.Florian Walch2014-08-07
|
* Include stdbool.h in some files which use itPavel Platto2014-07-11
| | | | | | | Done by manual inspection of the output of this script: grep -r -l -w "bool\|true\|false" * | grep 'c$\|h$' > has_bool grep -r -l "stdbool.h" * | grep 'c$\|h$' > has_include grep -F -x -v -f has_include has_bool
* move ascii.h include out of vim.hBrandon Coleman2014-07-09
|
* Replaced most TRUE/FALSE macros in arabic, mbyte and spell. #645Klemen Košir2014-07-08
|
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - 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.
* Introduce nvim namespace: Fix project-local includes.Eliseo Martínez2014-05-15
| | | | Prepend 'nvim/' in all project-local (non-system) includes.
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
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.