Mercurial > vim
view runtime/autoload/context.vim @ 33767:4913b4f5a133 v9.0.2104
patch 9.0.2104: wast filetype should be replaced by wat filetype
Commit: https://github.com/vim/vim/commit/bc8f79d36a456054ed29f46585830af6d71f57c8
Author: rhysd <lin90162@yahoo.co.jp>
Date: Tue Nov 14 16:46:07 2023 +0100
patch 9.0.2104: wast filetype should be replaced by wat filetype
Problem: wast filetype should be replaced by wat filetype
Solution: start using the official wat filetype name
runtime: rename `wast` filetype to `wat` (Wasm text format)
The problem is the name of the current filetype wast. When the plugin
was initially created, the file extension for Wasm text format was not
fixed and .wast was more popular.
However, recently .wat became the official file extension for
WebAssembly text (WAT) format and .wast is now a file extension for the
unofficial WAST format, which is a superset of .wat for the convenience
to describe the Wasm specification conformance tests.
https://webassembly.js.org/docs/contrib-wat-vs-wast.html
However for now, let's keep using the `wat` filetype even for the .wast
extension, so that we at least do not lose the filetype settings and
syntax highlighting. This can be adjusted later, if it turns out to have
a separate need for.
closes: #13533
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 14 Nov 2023 17:15:03 +0100 |
parents | 1e91e26ceebf |
children | d81556766132 |
line wrap: on
line source
vim9script # Language: ConTeXt typesetting engine # Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> # Former Maintainers: Nikolai Weibull <now@bitwi.se> # Latest Revision: 2022 Sep 19 # Typesetting {{{ import autoload './typeset.vim' export def ConTeXtCmd(path: string): list<string> var cmd = ['mtxrun', '--script', 'context', '--nonstopmode', '--autogenerate'] if !empty(get(g:, 'context_extra_options', '')) cmd += g:context_extra_options endif cmd->add(path) return cmd enddef export def Typeset(bufname: string, env = {}, Cmd = ConTeXtCmd): bool return typeset.TypesetBuffer(bufname, Cmd, env, 'ConTeXt') enddef export def JobStatus() typeset.JobStatus('ConTeXt') enddef export def StopJobs() typeset.StopJobs('ConTeXt') enddef export def Log(bufname: string) execute 'edit' typeset.LogPath(bufname) enddef # }}} # Completion {{{ def BinarySearch(base: string, keywords: list<string>): list<string> const pat = '^' .. base const len = len(keywords) var res = [] var lft = 0 var rgt = len # Find the leftmost index matching base while lft < rgt var i = (lft + rgt) / 2 if keywords[i] < base lft = i + 1 else rgt = i endif endwhile while lft < len && keywords[lft] =~ pat add(res, keywords[lft]) lft += 1 endwhile return res enddef var isMetaPostBlock = false var MP_KEYWORDS: list<string> = [] var CTX_KEYWORDS: list<string> = [] # Complete only MetaPost keywords in MetaPost blocks, and complete only # ConTeXt keywords otherwise. export def Complete(findstart: number, base: string): any if findstart == 1 if len(synstack(line("."), 1)) > 0 && synIDattr(synstack(line("."), 1)[0], "name") ==# 'contextMPGraphic' isMetaPostBlock = true return match(getline('.'), '\S\+\%' .. col('.') .. 'c') endif # Complete only \commands starting with a backslash isMetaPostBlock = false var pos = match(getline('.'), '\\\zs\S\+\%' .. col('.') .. 'c') return (pos == -1) ? -3 : pos endif if isMetaPostBlock if empty(MP_KEYWORDS) MP_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList(['mf\w\+', 'mp\w\+'])) endif return BinarySearch(base, MP_KEYWORDS) endif if empty(CTX_KEYWORDS) CTX_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList([ 'context\w\+', 'texAleph', 'texEtex', 'texLuatex', 'texOmega', 'texPdftex', 'texTex', 'texXeTeX' ])) endif return BinarySearch(base, CTX_KEYWORDS) enddef # }}} # vim: sw=2 fdm=marker