annotate runtime/syntax/squirrel.vim @ 32876:522f16e3e058 v9.0.1747

patch 9.0.1747: screenpos() may cause unnecessary redraw Commit: https://github.com/vim/vim/commit/6235a109c48ff2559eca3b16578c429ffb61eadc Author: zeertzjq <zeertzjq@outlook.com> Date: Sat Aug 19 14:12:42 2023 +0200 patch 9.0.1747: screenpos() may cause unnecessary redraw Problem: screenpos() may cause unnecessary redraw. Solution: Don't unnecessarily reset VALID_WROW flag. VALID_WROW flag is only used by two functions: validate_cursor() and cursor_valid(), and cursor_valid() is only used once in ex_sleep(). When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it was called in two functions: comp_botline() and curs_rows(). - comp_botline() is called in two places: - onepage(), which resets VALID_WROW flag immediately afterwards. - validate_botline_win(), where resetting a VALID_ flag is strange. - curs_rows() is called in two places: - curs_columns(), which sets VALID_WROW flag afterwards. - validate_cline_row(), which is only used by GUI mouse focus. Therefore resetting VALID_WROW there doesn't seem to do anything useful. Also, a w_skipcol check (which resets VALID_WROW flag) was added to check_cursor_moved() in patch 9.0.0734, which seems to make more sense than resetting that flag in the middle of a computation. While at it make adjust_plines_for_skipcol() and textpos2screenpos() a bit less confusing: - Make adjust_plines_for_skipcol() return "off" instead of "n - off". - Use 0-based "row" in textpos2screenpos() until W_WINROW is added. closes: #12832 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Aug 2023 14:30:02 +0200
parents c725b8e17f1f
children c62bca3b8d82
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26438
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim syntax file
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Language: squirrel
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Current Maintainer: Matt Dunford (zenmatic@gmail.com)
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 " URL: https://github.com/zenmatic/vim-syntax-squirrel
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 " Last Change: 2021 Nov 28
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 " http://squirrel-lang.org/
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 " quit when a syntax file was already loaded
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 if exists("b:current_syntax")
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 finish
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 endif
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 " inform C syntax that the file was included from cpp.vim
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 let b:filetype_in_cpp_family = 1
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 " Read the C syntax to start with
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 runtime! syntax/c.vim
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 unlet b:current_syntax
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 " squirrel extensions
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 syn keyword squirrelStatement delete this in yield resume base clone
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 syn keyword squirrelAccess local
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 syn keyword cConstant null
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 syn keyword squirrelModifier static
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 syn keyword squirrelType bool instanceof typeof
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 syn keyword squirrelExceptions throw try catch
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 syn keyword squirrelStructure class function extends constructor
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 syn keyword squirrelBoolean true false
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 syn keyword squirrelRepeat foreach
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34 syn match squirrelShComment "^\s*#.*$"
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36 " Default highlighting
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 hi def link squirrelAccess squirrelStatement
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 hi def link squirrelExceptions Exception
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39 hi def link squirrelStatement Statement
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 hi def link squirrelModifier Type
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41 hi def link squirrelType Type
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 hi def link squirrelStructure Structure
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 hi def link squirrelBoolean Boolean
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 hi def link squirrelMultiString String
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 hi def link squirrelRepeat cRepeat
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46 hi def link squirrelShComment Comment
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 let b:current_syntax = "squirrel"
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
50 " vim: ts=8