Mercurial > vim
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 |
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: |