Mercurial > vim
view runtime/indent/hog.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 | 63b0b7b79b25 |
children |
line wrap: on
line source
" Vim indent file " Language: hog (Snort.conf) " Maintainer: Victor Roemer, <vroemer@badsec.org> " Last Change: Mar 7, 2013 " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 let b:undo_indent = 'setlocal smartindent< indentexpr< indentkeys<' setlocal nosmartindent setlocal indentexpr=GetHogIndent() setlocal indentkeys+=!^F,o,O,0# " Only define the function once. if exists("*GetHogIndent") finish endif let s:cpo_save = &cpo set cpo&vim let s:syn_blocks = '\<SnortRuleTypeBody\>' function s:IsInBlock(lnum) return synIDattr(synID(a:lnum, 1, 1), 'name') =~ s:syn_blocks endfunction function GetHogIndent() let prevlnum = prevnonblank(v:lnum-1) " Comment blocks have identical indent if getline(v:lnum) =~ '^\s*#' && getline(prevlnum) =~ '^\s*#' return indent(prevlnum) endif " Ignore comment lines when calculating indent while getline(prevlnum) =~ '^\s*#' let prevlnum = prevnonblank(prevlnum-1) if !prevlnum return previndent endif endwhile " Continuation of a line that wasn't indented let prevline = getline(prevlnum) if prevline =~ '^\k\+.*\\\s*$' return shiftwidth() endif " Continuation of a line that was indented if prevline =~ '\k\+.*\\\s*$' return indent(prevlnum) endif " Indent the next line if previous line contained a start of a block " definition ('{' or '('). if prevline =~ '^\k\+[^#]*{}\@!\s*$' " TODO || prevline =~ '^\k\+[^#]*()\@!\s*$' return shiftwidth() endif " Match inside of a block if s:IsInBlock(v:lnum) if prevline =~ "^\k\+.*$" return shiftwidth() else return indent(prevlnum) endif endif return 0 endfunction let &cpo = s:cpo_save unlet s:cpo_save