Mercurial > vim
view runtime/import/dist/vimhelp.vim @ 33119:bede81965821 v9.0.1842
patch 9.0.1842: Need more accurate profiling
Commit: https://github.com/vim/vim/commit/21d3212361f687704acb52cad7c1b9228e7c83f0
Author: Ernie Rael <errael@raelity.com>
Date: Sat Sep 2 15:09:18 2023 +0200
patch 9.0.1842: Need more accurate profiling
Problem: Need more accurate profiling
Solution: Improve profiling results
closes: #12192
Reduce overhead of checking if a function should be profiled,
by caching results of checking (which are done with regexp).
Cache uf_hash for uf_name in ufunc_T.
Cache cleared when regexps are changed.
Break at first match for has_profiling lookup.
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 02 Sep 2023 15:15:06 +0200 |
parents | 2a1f9b4a5ac9 |
children |
line wrap: on
line source
vim9script # Extra functionality for displaying Vim help . # Called when editing the doc/syntax.txt file export def HighlightGroups() var save_cursor = getcurpos() var buf: number = bufnr('%') var start: number = search('\*highlight-groups\*', 'c') var end: number = search('^======') for lnum in range(start, end) var word: string = getline(lnum)->matchstr('^\w\+\ze\t') if word->hlexists() var type = 'help-hl-' .. word if prop_type_list({bufnr: buf})->index(type) != -1 # was called before, delete existing properties prop_remove({type: type, bufnr: buf}) prop_type_delete(type, {bufnr: buf}) endif prop_type_add(type, { bufnr: buf, highlight: word, combine: false, }) prop_add(lnum, 1, {length: word->strlen(), type: type}) endif endfor setpos('.', save_cursor) enddef