annotate runtime/autoload/modula2.vim @ 34153:c7779252fab5 v9.1.0037

patch 9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol Commit: https://github.com/vim/vim/commit/5b0722b86445158f0b502ffc48a5847b0d0187bd Author: zeertzjq <zeertzjq@outlook.com> Date: Wed Jan 17 20:42:53 2024 +0100 patch 9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol Problem: Calling get_breakindent_win() repeatedly when computing virtual column, and get_breakindent_win() does a STRCMP() on the whole line since patch 9.0.0016. Solution: Cache the result, since the line doesn't change. (zeertzjq) closes: #13879 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 17 Jan 2024 20:45:03 +0100
parents ff27442e7851
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34092
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Vim filetype plugin file
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2 " Language: Modula-2
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 " Last Change: 2024 Jan 04
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 " Dialect can be one of pim, iso, r10
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 function modula2#GetDialect() abort
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 if exists("b:modula2.dialect")
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 return b:modula2.dialect
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 endif
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 if exists("g:modula2_default_dialect")
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 let dialect = g:modula2_default_dialect
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 else
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 let dialect = "pim"
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 endif
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 return dialect
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 endfunction
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 function modula2#SetDialect(dialect, extension = "") abort
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 if exists("b:modula2")
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 unlockvar! b:modula2
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 endif
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 let b:modula2 = #{ dialect: a:dialect, extension: a:extension }
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 lockvar! b:modula2
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 endfunction
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30
ff27442e7851 patch 9.1.0013: Modula2 filetype support lacking
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 " vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: