patch 9.1.0919: filetype: some assembler files are not recognized
Problem: filetype: some assembler are files not recognized
Solution: detect '*.nasm' files as nasm filetype and '*.masm' as masm
filetype (Wu, Zhenyu)
closes: #16194
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index b0c77db..eb6c3b2 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 9.1. Last change: 2024 Nov 10
+*syntax.txt* For Vim version 9.1. Last change: 2024 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -883,12 +883,15 @@
extensions. Therefore you will have to select the type yourself, or add a
line in the assembly file that Vim will recognize. Currently these syntax
files are included:
- asm GNU assembly (the default)
+ asm GNU assembly (usually have .s or .S extension and were
+ already built using C compiler such as GCC or CLANG)
asm68k Motorola 680x0 assembly
asmh8300 Hitachi H-8300 version of GNU assembly
ia64 Intel Itanium 64
fasm Flat assembly (http://flatassembler.net)
- masm Microsoft assembly (probably works for any 80x86)
+ masm Microsoft assembly (.masm files are compiled with
+ Microsoft's Macro Assembler. This is only supported
+ for x86, x86_64, ARM and AARCH64 CPU families)
nasm Netwide assembly
tasm Turbo Assembly (with opcodes 80x86 up to Pentium, and
MMX)
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index fe12047..cac7c2c 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2024 Nov 24
+" Last Change: 2024 Dec 12
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Listen very carefully, I will say this only once
@@ -183,8 +183,15 @@
" Assembly (all kinds)
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
+" *.[sS], *.[aA] usually Assembly - GNU
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm()
+" Assembly - Netwide
+au BufNewFile,BufRead *.nasm setf nasm
+
+" Assembly - Microsoft
+au BufNewFile,BufRead *.masm setf masm
+
" Assembly - Macro (VAX)
au BufNewFile,BufRead *.mar setf vmasm