aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/sign.c
Commit message (Collapse)AuthorAge
* vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | Problem: The screen.c file is much too big. Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943) https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964 This is an approximation vim-patch 8.1.2057. Applying the patch directly isn't feasible since our version of screen.c has diverged too much, however we still introduce drawscreen.c and drawline.c: - screen.c is now a much smaller file used for low level screen functions - drawline.c contains everything needed for win_line() - drawscreen.c contains everything needed for update_screen() Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor(signs): handle non-sign attrs separately (#19784)Lewis Russell2022-08-16
|
* refactor: use CLEAR_FIELD and CLEAR_POINTER macros (#19709)zeertzjq2022-08-11
| | | | | | | vim-patch:8.2.0559: clearing a struct is verbose Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
* vim-patch:8.2.1281: the "trailing characters" error can be hard to understandzeertzjq2022-08-07
| | | | | | Problem: The "trailing characters" error can be hard to understand. Solution: Add the trailing characters to the message. https://github.com/vim/vim/commit/2d06bfde29bd3a62fc85823d2aa719ef943bd319
* refactor: move FunPtr to types.h (#19466)zeertzjq2022-07-22
| | | | | This type itself is not eval-specific. Moving it to types.h can avoid including eval/funcs.h in many headers, and types.h is already included by many headers.
* refactor: replace char_uDundar Goc2022-07-02
| | | | Work on https://github.com/neovim/neovim/issues/459
* Merge #19060 memory leaksJustin M. Keyes2022-06-28
|\
| * fix(coverity/348300): free memory when overiding sing attributeThomas Vigouroux2022-06-27
| | | | | | | | | | Nothing prevent the user from doing `:sign define abc culhl=Normal culhl=Normal` and thus this leads to an obvious memory leak.
* | refactor: replace char_u #18429dundargoc2022-06-28
|/ | | Work on https://github.com/neovim/neovim/issues/459
* refactor: change type of linenr_T from long to int32_tDundar Goc2022-06-10
| | | | | | | | | | | | | The size of long varies depending on architecture, in contrast to the MAXLNUM constant which sets the maximum allowable number of lines to 2^32-1. This discrepancy may lead to hard to detect bugs, for example https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a fix maximum size of 2^32-1 will prevent this type of errors in the future. Also change the variables `amount` and `amount_after` to be linenr_T since they're referring to "the line number difference" between two texts.
* 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-16
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-11
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
* refactor(uncrustify): format all c code under /src/nvim/Dundar Goc2022-04-29
|
* refactor(build): remove unused includes #17078kylo2522022-04-26
| | | | Remove unused includes in src/nvim/buffer.c|h using the IWYU library. Yet another step towards #6371 and #549
* vim-patch:8.1.1608: the evalfunc.c file is too big (#17807)Lewis Russell2022-03-23
| | | | | | Problem: The evalfunc.c file is too big. Solution: Move sign functionality to sign.c. https://github.com/vim/vim/commit/b60d8514b8813e2f3acefd454efcccbe04ac135a
* vim-patch:8.1.1693: syntax coloring and highlighting is in one big file (#17721)Lewis Russell2022-03-18
| | | | | | | | | | | Problem: Syntax coloring and highlighting is in one big file. Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan, closes vim/vim#4674) https://github.com/vim/vim/commit/f9cc9f209ede9f15959e4c2351e970477c139614 Name the new file highlight_group.c instead. Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor(signcol): smarter invalidation (#17533)Lewis Russell2022-03-06
| | | | | | | | | | Previously b_signcols was invalidated whenever a sign was added/removed or when a buffer line was added/removed. This change introduces a sentinel linenr_T into the buffer state which is a line number used to determine the signcolumn. With this information, we can invalidate the signcolumn less often. Now the signcolumn is only invalidated when a sign or line at the sentinel line number is removed.
* feat(decorations): support signsLewis Russell2022-03-05
| | | | | | | | | | | | Add the following options to extmarks: - sign_text - sign_hl_group - number_hl_group - line_hl_group - cursorline_hl_group Note: ranges are unsupported and decorations are only applied to start_row
* vim-patch:8.2.4241: some type casts are redundantDundar Göc2022-01-30
| | | | | | | | Problem: Some type casts are redundant. Solution: Remove the type casts. (closes vim/vim#9643) https://github.com/vim/vim/commit/420fabcd4ffeaf79082a6e43db91e1d363f88f27 This is not a literal port but an equivalent one.
* vim-patch:8.2.3874: cannot highlight the number column for a signJames McCoy2021-12-22
| | | | | | Problem: Cannot highlight the number column for a sign. Solution: Add the "numhl" argument. (James McCoy, closes vim/vim#9381) https://github.com/vim/vim/commit/a80aad717464760a5a50ac2201ce35b24a0cf7a5
* vim-patch:8.2.3748: giving an error for an empty sign argument breaks a pluginJames McCoy2021-12-08
| | | | | | Problem: Giving an error for an empty sign argument breaks a plugin. Solution: Do not give an error. https://github.com/vim/vim/commit/e5710a02cb78c2a0a868ea55740835c78ddecbb4
* vim-patch:8.2.3747: cannot remove highlight from an existing signJames McCoy2021-12-08
| | | | | | Problem: Cannot remove highlight from an existing sign. (James McCoy) Solution: Only reject empty argument for a new sign. https://github.com/vim/vim/commit/0bac5fc5e125b7aa0f3b596c9b7f4381279e6688
* vim-patch:8.2.3743: ":sign" can add a highlight group without a nameJames McCoy2021-12-08
| | | | | | Problem: ":sign" can add a highlight group without a name. Solution: Give an error if the group name is missing. (closes vim/vim#9280) https://github.com/vim/vim/commit/5e18ccc60bdddc4aa39ab039f1a7c918f29e67ce
* vim-patch:8.2.3664: cannot adjust sign highlighting for 'cursorline'James McCoy2021-12-08
| | | | | | | Problem: Cannot adjust sign highlighting for 'cursorline'. Solution: Add CursorLineSign and CursorLineFold highlight groups. (Gregory Anders, closes vim/vim#9201) https://github.com/vim/vim/commit/e413ea04b716effb28eb49dbc98ad3f9f761545a
* vim-patch:8.1.1393: unnecessary type castsVVKot2021-11-22
| | | | | | Problem: Unnecessary type casts. Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams) https://github.com/vim/vim/commit/51e14387f120392b74b84408cafec33942337a05
* refactor: saner options for uncrustify (#16204)dundargoc2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | * sp_enum_after_assign = force * sp_brace_typedef = force * nl_do_brace = remove * sp_do_brace_open = force * sp_brace_close_while = force * sp_before_semi = remove * sp_before_semi_for = remove * sp_before_semi_for_empty = remove * sp_between_semi_for_empty = remove * sp_after_semi_for_empty = remove * sp_before_square = remove * sp_before_squares = remove * sp_inside_square = remove * sp_inside_fparens = remove * sp_inside_fparen = remove * sp_inside_tparen = remove * sp_after_tparen_close = remove * sp_return_paren = force * pos_bool = lead * sp_pp_concat = remove * sp_pp_stringify = remove * fixup: disable formatting for the INIT section
* refactor(multibyte): eliminate mb_ptr2len alias for utfc_ptr2lenBjörn Linse2021-11-14
|
* vim-patch:8.1.0779: argument for message functions is inconsistentJames McCoy2021-11-01
| | | | | | Problem: Argument for message functions is inconsistent. Solution: Make first argument to msg() "char *". https://github.com/vim/vim/commit/32526b3c1846025f0e655f41efd4e5428da16b6c
* vim-patch:8.1.0743: giving error messages is not flexibleJames McCoy2021-11-01
| | | | | | | | | Problem: Giving error messages is not flexible. Solution: Add semsg(). Change argument from "char_u *" to "char *", also for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts. https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
* refactor: saner options for uncrustify #16196dundargoc2021-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor: general good option changes sp_deref = remove sp_not = remove sp_inv = remove sp_inside_paren_cast = remove mod_remove_duplicate_include = true sp_after_semi = add sp_after_semi_for = force sp_sizeof_paren = remove nl_return_expr = remove nl_else_brace = remove nl_else_if = remove * refactor: mod_remove_extra_semicolon = true * refactor: nl_max = 3 * refactor: sp_bool = force * refactor: sp_compare = force * refactor: sp_inside_paren = remove * refactor: sp_paren_paren = remove * refactor: sp_inside_sparen = remove * refactor: sp_before_sparen = force * refactor: sp_sign = remove * refactor: sp_addr = remove * refactor: sp_member = remove * refactor: nl_struct_brace = remove * refactor: nl_before_if_closing_paren = remove * refactor: nl_fdef_brace = force * refactor: sp_paren_comma = force * refactor: mod_full_brace_do = add
* refactor: reduce number of unique char casts (#15995)dundargoc2021-10-12
|
* refactor: format with uncrustify #15778dundargoc2021-09-25
| | | * fixup: force exactly one whitespace between type and variable
* refactor: replace TRUE/FALSE macros with C99 true/falseDundar Göc2021-07-25
|
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* signs: Change b_signcols_max -> b_signcols_validLewis Russell2021-07-04
| | | | | b_signcols_max isn't used to store the max value, it is use to invalidate b_signcols.
* sign: pvs/v547Jan Edmund Lazo2021-06-05
| | | | vim_strsave() returns nonnull.
* signs: fix overflow during adjustment on Windows (#14472)statiolake2021-05-02
| | | | | | | | | | | | | On Windows, `new_lnum + MAXLNUM` causes overflow and as a result the line number of that sign becomes invalid negative number. This occurs when the `set signcolumn=yes`, in other words `signcolumn` is not `auto` and the sign column is less than 2 columns. The related change was made in the commit f2ed7605da45eb79a4f7bb89fb19f680fb5a4927. Originally the above addition is only executed if `amount != MAXLNUM`, so reintroducing this check fixes the bug and will hardly produces a new bug. Fixes https://github.com/neovim/neovim/issues/14460
* Handle 'orphaned signs' on line deletion for signcolumn >= 2Dan Aloni2021-04-17
|
* vim-patch:8.1.2205: sign entry structure has confusing name (#14289)Lewis Russell2021-04-05
| | | | Problem: Sign entry structure has confusing name. Solution: Rename signlist_T to sign_entry_T and prefix se_ to the fields.
* vim-patch:8.1.1899: sign_place() does not work as documentedLewis Russell2021-04-03
| | | | | | Problem: sign_place() does not work as documented. Solution: Make accept line numbers like line(). (Yegappan Lakshmanan, closes #4848)
* vim-patch:8.1.1682: placing a larger number of ...Lewis Russell2021-04-03
| | | | | | | | ...signs is slow Problem: Placing a larger number of signs is slow. Solution: Add functions for dealing with a list of signs. (Yegappan Lakshmanan, closes #4636)
* vim-patch:8.1.1631: displaying signs is inefficientLewis Russell2021-04-03
| | | | | | | | + support for neovim's dynamic width signcolumn Problem: Displaying signs is inefficient. Solution: Avoid making multiple calls to get information about a placed sign. (Yegappan Lakshmanan, closes #4586)
* feat(sign):Allow signs to be 0 width (#13290)Lukas Reineke2020-12-24
| | | | Adds support for signs to be 0 cells wide. If all signs of the same group have no width, the signcolumn will not be rendered for that group.
* vim-patch:8.1.1623: display wrong with signs in narrow number columnerw72020-07-23
| | | | | | | Problem: Display wrong with signs in narrow number column. Solution: Increase the numbercolumn width if needed. (Yegappan Lakshmanan, closes vim/vim#4606) https://github.com/vim/vim/commit/e4b407f536ba8bd007152649a347a95320d80fce
* vim-patch:8.2.0108: when sign text is changed a manual redraw is neededJan Edmund Lazo2020-03-01
| | | | | | | Problem: When sign text is changed a manual redraw is needed. (Pontus Lietzler) Solution: Redraw automatically. (closes vim/vim#5455) https://github.com/vim/vim/commit/bf0acff012c2f75563c20241f1a5478534fe2c7a