34084ee62b4a

More
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Fri, 06 Nov 2020 11:01:07 -0500
parents 0ad0176a5755
children 48b460573f0d
branches/tags (none)
files .hgsubstate bin/bootstrap.sh stumpwmrc vim/syntax/arm64asm.vim vim/vimrc

Changes

--- a/.hgsubstate	Wed Sep 23 12:34:48 2020 -0400
+++ b/.hgsubstate	Fri Nov 06 11:01:07 2020 -0500
@@ -1,4 +1,4 @@
-9f0b70dfcf525f323c588375ea0d17cd8284cde1 mercurial/hg-prompt
+0d3229120aff331970cba4591c1304f7fc59b394 mercurial/hg-prompt
 1fc4a9fbead7e0acc4c828b346f3be2658ec3df9 mercurial/templates
 b6a8b49e2173ba5a1b34d00e68e0ed8addac3ebd vim/bundle/abolish
 a16a9b63eb85cc0960a7f25c54647ac1f99f3360 vim/bundle/ack
--- a/bin/bootstrap.sh	Wed Sep 23 12:34:48 2020 -0400
+++ b/bin/bootstrap.sh	Fri Nov 06 11:01:07 2020 -0500
@@ -6,6 +6,7 @@
     test -L "$HOME/$2" || test ! -e "$HOME/$1" || ln -s "$HOME/$1" "$HOME/$2"
 }
 
+mkdir -p ~/.local/share
 mkdir -p ~/.config/fish
 mkdir -p ~/.config/nvim
 mkdir -p ~/src/hg
@@ -24,41 +25,42 @@
 
 test -d ~/src/dotfiles || hg clone https://hg.stevelosh.com/dotfiles ~/src/dotfiles
 
-ensure_link "src/dotfiles/Xmodmap"                ".Xmodmap"
-ensure_link "src/dotfiles/abclrc"                 ".abclrc"
-ensure_link "src/dotfiles/agignore"               ".agignore"
-ensure_link "src/dotfiles/bash_profile"           ".bash_profile"
-ensure_link "src/dotfiles/browsrc"                ".browsrc"
-ensure_link "src/dotfiles/ccl-init.lisp"          ".ccl-init.lisp"
-ensure_link "src/dotfiles/config-nvim-init.vim"   ".config/nvim/init.vim"
-ensure_link "src/dotfiles/ctags"                  ".ctags"
-ensure_link "src/dotfiles/dunstrc"                ".dunstrc"
-ensure_link "src/dotfiles/eclrc"                  ".eclrc"
-ensure_link "src/dotfiles/ffignore"               ".ffignore"
-ensure_link "src/dotfiles/fish/config.fish"       ".config/fish/config.fish"
-ensure_link "src/dotfiles/fish/functions"         ".config/fish/functions"
-ensure_link "src/dotfiles/gitconfig"              ".gitconfig"
-ensure_link "src/dotfiles/gitignore"              ".gitignore"
-ensure_link "src/dotfiles/gnuplot"                ".gnuplot"
-ensure_link "src/dotfiles/hgignore"               ".hgignore"
-ensure_link "src/dotfiles/lisprc"                 ".lisprc"
-ensure_link "src/dotfiles/lispwords"              ".lispwords"
-ensure_link "src/dotfiles/mutt"                   ".mutt"
-ensure_link "src/dotfiles/mutt/mailcap"           ".mailcap"
-ensure_link "src/dotfiles/mutt/muttrc"            ".muttrc"
-ensure_link "src/dotfiles/mutt/notmuch-config"    ".notmuch-config"
-ensure_link "src/dotfiles/psqlrc"                 ".psqlrc"
-ensure_link "src/dotfiles/sbclrc"                 ".sbclrc"
-ensure_link "src/dotfiles/shellcheckrc"           ".shellcheckrc"
-ensure_link "src/dotfiles/sqliterc"               ".sqliterc"
-ensure_link "src/dotfiles/stumpwmrc"              ".stumpwmrc"
-ensure_link "src/dotfiles/tmux/tmux.conf"         ".tmux.conf"
-ensure_link "src/dotfiles/vim"                    ".vim"
-ensure_link "src/dotfiles/vim/vimrc"              ".vimrc"
-ensure_link "src/dotfiles/w3m-keymap"             ".w3m/keymap"
-ensure_link "src/dotfiles/w3m-config"             ".w3m/config"
-ensure_link "src/dotfiles/weechat"                ".weechat"
-ensure_link "src/dotfiles/xbindkeysrc"            ".xbindkeysrc"
-ensure_link "src/dotfiles/xsessionrc"             ".xsessionrc"
+ensure_link "src/dotfiles/Xmodmap"                     ".Xmodmap"
+ensure_link "src/dotfiles/abclrc"                      ".abclrc"
+ensure_link "src/dotfiles/agignore"                    ".agignore"
+ensure_link "src/dotfiles/bash_profile"                ".bash_profile"
+ensure_link "src/dotfiles/browsrc"                     ".browsrc"
+ensure_link "src/dotfiles/ccl-init.lisp"               ".ccl-init.lisp"
+ensure_link "src/dotfiles/config-nvim-init.vim"        ".config/nvim/init.vim"
+ensure_link "src/dotfiles/ctags"                       ".ctags"
+ensure_link "src/dotfiles/dunstrc"                     ".dunstrc"
+ensure_link "src/dotfiles/eclrc"                       ".eclrc"
+ensure_link "src/dotfiles/ffignore"                    ".ffignore"
+ensure_link "src/dotfiles/fish/config.fish"            ".config/fish/config.fish"
+ensure_link "src/dotfiles/fish/functions"              ".config/fish/functions"
+ensure_link "src/dotfiles/gitconfig"                   ".gitconfig"
+ensure_link "src/dotfiles/gitignore"                   ".gitignore"
+ensure_link "src/dotfiles/gnuplot"                     ".gnuplot"
+ensure_link "src/dotfiles/hgignore"                    ".hgignore"
+ensure_link "src/dotfiles/lisprc"                      ".lisprc"
+ensure_link "src/dotfiles/lispwords"                   ".lispwords"
+ensure_link "src/dotfiles/mutt"                        ".mutt"
+ensure_link "src/dotfiles/mutt/mailcap"                ".mailcap"
+ensure_link "src/dotfiles/mutt/muttrc"                 ".muttrc"
+ensure_link "src/dotfiles/mutt/notmuch-config"         ".notmuch-config"
+ensure_link "src/dotfiles/psqlrc"                      ".psqlrc"
+ensure_link "src/dotfiles/sbclrc"                      ".sbclrc"
+ensure_link "src/dotfiles/shellcheckrc"                ".shellcheckrc"
+ensure_link "src/dotfiles/sqliterc"                    ".sqliterc"
+ensure_link "src/dotfiles/stumpwmrc"                   ".stumpwmrc"
+ensure_link "src/dotfiles/stumpwm/local-share-stumpwm" ".local/share/stumpwm"
+ensure_link "src/dotfiles/tmux/tmux.conf"              ".tmux.conf"
+ensure_link "src/dotfiles/vim"                         ".vim"
+ensure_link "src/dotfiles/vim/vimrc"                   ".vimrc"
+ensure_link "src/dotfiles/w3m-keymap"                  ".w3m/keymap"
+ensure_link "src/dotfiles/w3m-config"                  ".w3m/config"
+ensure_link "src/dotfiles/weechat"                     ".weechat"
+ensure_link "src/dotfiles/xbindkeysrc"                 ".xbindkeysrc"
+ensure_link "src/dotfiles/xsessionrc"                  ".xsessionrc"
 
 echo done
--- a/stumpwmrc	Wed Sep 23 12:34:48 2020 -0400
+++ b/stumpwmrc	Fri Nov 06 11:01:07 2020 -0500
@@ -710,6 +710,12 @@
 (defvar *tray-loaded* (run-commands "stumptray"))
 
 
+;;;; Unbreak Typing -----------------------------------------------------------
+(defun stumpwm::input-insert-hyphen-or-space (input key)
+  (declare (ignore key))
+  (input-insert-char input #\space))
+
+
 ;;;; Startup ------------------------------------------------------------------
 ;; (defvar *network-manager*
   ;; (run-shell-command "nm-applet --sm-disable"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/syntax/arm64asm.vim	Fri Nov 06 11:01:07 2020 -0500
@@ -0,0 +1,290 @@
+" vim: set et ft=vim sw=2 sts=2 ts=8 tw=80 :
+" Script:   arm64asm.vim
+" Author:   Saleem Abdulrasool <compnerd@compnerd.org>
+" Homepage: http://github.com/compnerd/arm64asm
+" Requires: Vim 7
+" License:  Redistribute under the same terms as Vim itself
+" Purpose:  ARM64 Assembly Syntax Highlighting
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" NOTE(compnerd) '.' is not in the default keyword, and will cause the
+" directives to not be recognised by default.  Also add '!' to ensure that the
+" increment operator is matched.
+if version < 600
+  set iskeyword=!,#,$,%,.,48-57,:,;,=,@,_
+else
+  setlocal iskeyword=!,#,$,.,48-57,:,;,=,@,_
+endif
+
+syntax case match
+
+syntax keyword AArch64Special NOTE TODO XXX contained
+
+syntax case ignore
+
+syntax region AArch64Comment start="//" end="$" keepend contains=AArch64Special
+syntax region AArch64Comment start="/\*" end="\*/" contains=AArch64Special
+" MachO uses ; as a comment leader
+syntax region AArch64Comment start=";" end="$" contains=todo
+
+syntax keyword AArch64Directive .align .p2align
+syntax keyword AArch64Directive .global .globl .type
+syntax keyword AArch64Directive .hword .word .xword .long .quad
+syntax keyword AArch64Directive .loh
+syntax keyword AArch64Directive .tlsdesccall
+syntax keyword AArch64Directive .ltorg .pool
+syntax keyword AArch64Directive .req .unreq
+syntax keyword AArch64Directive .inst
+syntax keyword AArch64Directive .private_extern .extern
+syntax keyword AArch64Directive .section .text .data
+" NOTE(compnerd) .type is already listed above
+syntax keyword AArch64Directive .def .endef .scl
+syntax keyword AArch64Directive .macro .endmacro .endm
+syntax keyword AArch64Directive .set
+syntax keyword AArch64Directive .if .else .endif
+syntax keyword AArch64Directive .fill
+
+syntax match AArch64Modifier /:lo12:/ contained
+syntax match AArch64Modifier /:abs_g3:/ contained
+syntax match AArch64Modifier /:abs_g2:/ contained
+syntax match AArch64Modifier /:abs_g2_s:/ contained
+syntax match AArch64Modifier /:abs_g2_nc:/ contained
+syntax match AArch64Modifier /:abs_g1:/ contained
+syntax match AArch64Modifier /:abs_g1_s:/ contained
+syntax match AArch64Modifier /:abs_g1_nc:/ contained
+syntax match AArch64Modifier /:abs_g0:/ contained
+syntax match AArch64Modifier /:abs_g0_s:/ contained
+syntax match AArch64Modifier /:abs_g0_nc:/ contained
+syntax match AArch64Modifier /:dtprel_g2:/ contained
+syntax match AArch64Modifier /:dtprel_g1:/ contained
+syntax match AArch64Modifier /:dtprel_g1_nc:/ contained
+syntax match AArch64Modifier /:dtprel_g0:/ contained
+syntax match AArch64Modifier /:dtprel_g0_nc:/ contained
+syntax match AArch64Modifier /:dtprel_hi12:/ contained
+syntax match AArch64Modifier /:dtprel_lo12:/ contained
+syntax match AArch64Modifier /:dtprel_lo12_nc:/ contained
+syntax match AArch64Modifier /:tprel_g2:/ contained
+syntax match AArch64Modifier /:tprel_g1:/ contained
+syntax match AArch64Modifier /:tprel_g1_nc:/ contained
+syntax match AArch64Modifier /:tprel_g0:/ contained
+syntax match AArch64Modifier /:tprel_g0_nc:/ contained
+syntax match AArch64Modifier /:tprel_hi12:/ contained
+syntax match AArch64Modifier /:tprel_lo12:/ contained
+syntax match AArch64Modifier /:tprel_lo12_nc:/ contained
+syntax match AArch64Modifier /:tlsdesc:/ contained
+syntax match AArch64Modifier /:tlsdesc_lo12:/ contained
+syntax match AArch64Modifier /:got:/ contained
+syntax match AArch64Modifier /:got_lo12:/ contained
+syntax match AArch64Modifier /:gottprel:/ contained
+syntax match AArch64Modifier /:gottprel_lo12:/ contained
+syntax match AArch64Modifier /:gottprel_g1:/ contained
+syntax match AArch64Modifier /:gottprel_g0_nc:/ contained
+
+syntax match AArch64Modifier /@PAGE/ contained
+syntax match AArch64Modifier /@PAGEOFF/ contained
+
+syntax match AArch64Identifier /[-_$.A-Za-z0-9]\+/
+syntax match AArch64Identifier /:.*:[-_$.A-Za-z0-9]\+/ contains=AArch64Modifier
+" MachO uses @modifiers
+syntax match AArch64Identifier /[-_$.A-Za-z0-9]\+@[a-zA-Z]\+/ contains=AArch64Modifier
+" MachO uses L for the PrivateGloablPrefix, ELF uses .L
+syntax match AArch64Identifier /\.\?L[-_$.A-Za-z0-9]\+/ contains=AArch64Modifier
+syntax match AArch64Identifier /:.*:\.\?L[-_$.A-Za-z0-9]\+/ contains=AArch64Modifier
+" MachO uses @modifiers
+syntax match AArch64Identifier /\.\?L[-_$.A-Za-z0-9]\+[a-zA-Z]\+/ contains=AArch64Modifier
+
+syntax match AArch64Label /^[-_$.A-Za-z0-9]\+\s*:/
+" MachO uses L for the PrivateGloablPrefix, ELF uses .L
+syntax match AArch64Label /^\.\?L[-_$.A-Za-z0-9]\+\s*:/
+syntax match AArch64Label /^"[-_$.A-Za-z0-9 ]\+\s*":/
+
+syntax keyword AArch64Mnemonic ADC ADCS ADD ADDS ADR ADRP AND ANDS ASR ASRV AT
+
+syntax keyword AArch64Mnemonic BEQ BNE BCS BHS BCC BLO BMI BPL BVS BVC BHI BLS
+syntax keyword AArch64Mnemonic BGE BLT BGT BLE BAL BNV
+syntax keyword AArch64Mnemonic B.EQ B.NE B.CS B.HS B.CC B.LO B.MI B.PL B.VS B.VC
+syntax keyword AArch64Mnemonic B.HI B.LS B.GE B.LT B.GT B.LE B.AL B.NV
+syntax keyword AArch64Mnemonic B BFI BFM BFXIL BIC BICS BL BLR BR BRK
+
+syntax keyword AArch64Mnemonic CBNZ CBZ CCMN CINC CINV CLREX CLS CLZ CMN CMP
+syntax keyword AArch64Mnemonic CNEG CRC32B CRC32H CRC32W CRC32X CRC32CB CRC32CH
+syntax keyword AArch64Mnemonic CRC32CW CRC32CX
+syntax keyword AArch64Mnemonic CSEL CSET CSINC CSINV CSNEG
+
+syntax keyword AArch64Mnemonic DC DCPS1 DCPS2 DCP3 DMB DRPS DSB
+
+syntax keyword AArch64Mnemonic EON EOR ERET EXTR
+
+syntax keyword AArch64Mnemonic HINT HLT HVC
+
+syntax keyword AArch64Mnemonic IC ISB
+
+syntax keyword AArch64Mnemonic LDAR LDARB LDARH LDAXP LDAXR LDAXRB LDAXRH LDNP
+syntax keyword AArch64Mnemonic LDP LDPSW LDR LDRB LDRH LDRSH LDRSW LDTR LDTRB
+syntax keyword AArch64Mnemonic LDTRH LDTRSB LDTRSH LDTRSW LDUR LDURB LDURH
+syntax keyword AArch64Mnemonic LDURSB LDURSH LDURSW LDXP LDXR LDXRB LDXRH LSL
+syntax keyword AArch64Mnemonic LSLV LSR LSRV
+
+syntax keyword AArch64Mnemonic MADD MNEG MOV MOVK MOVN MOVZ MRS MSUB MUL MVN
+
+syntax keyword AArch64Mnemonic NEGS NGC NGCS NOP
+
+syntax keyword AArch64Mnemonic ORN ORR
+
+syntax keyword AArch64Mnemonic PRFM PRFUM
+
+syntax keyword AArch64Mnemonic RBIT RET REV REV16 REV32 ROR RORV
+
+syntax keyword AArch64Mnemonic SBC SBCS SBFIZ SBFM SBFX SDIV SEV SEVL SMADDL
+syntax keyword AArch64Mnemonic SMC SMNEGL SMSUBL SMULH SMULL STLR STLRB STLRH
+syntax keyword AArch64Mnemonic STLXP STLXR STLXRB STLXRH XTNP STP STR STRB STRH
+syntax keyword AArch64Mnemonic STTTR STTRB STTRH STUR STURB STURH STXP STXR
+syntax keyword AArch64Mnemonic STXRB STXRH SUB SUBS SVC SXTB SXTH SXTW SYS SYSL
+
+syntax keyword AArch64Mnemonic TBNZ TBZ TLBI TST
+
+syntax keyword AArch64Mnemonic UBFIZ UBFM UBFX UDIV UMADDL UMNEGL UMSUBL UMULH
+syntax keyword AArch64Mnemonic UMULL UXTB UXTH
+
+syntax keyword AArch64Mnemonic WFE WFI
+
+syntax keyword AArch64Mnemonic YIELD
+
+syntax keyword AArch64Mnemonic ABS ADD ADDHN ADDHN2 ADDP ADDV AESD AESE AESIMC
+syntax keyword AArch64Mnemonic AESMC AND
+
+syntax keyword AArch64Mnemonic BIC BIF BIT BSL
+
+syntax keyword AArch64Mnemonic CLS CLZ CMEQ CMGE CMGT CMHI CMHS CMLE CMLT CMTST
+syntax keyword AArch64Mnemonic CNT
+
+syntax keyword AArch64Mnemonic DUP
+
+syntax keyword AArch64Mnemonic EOR EXT
+
+syntax keyword AArch64Mnemonic FABD FABS FACGE FACGT FADD FADDP FCCMP FCCMPE
+syntax keyword AArch64Mnemonic FCMEQ FCMGE FCMGT FCMLE FCMLT FCMP FCMPE FCSEL
+syntax keyword AArch64Mnemonic FCVT FCVTAS FCVTAU FCVTL FCVTL2 FCVTNS FCVTNU
+syntax keyword AArch64Mnemonic FCVTPS FCVTPU FCVTXN FCVTXN2 FCVTZS FCVTZU FDIV
+syntax keyword AArch64Mnemonic FMADD FMAX FMAXNM FMAXMP FMAXNMV FMAXP FMAXV FMIN
+syntax keyword AArch64Mnemonic FMINNM FMINNMP FMINNMV FMINP FMINV FMLA FMLS FMOV
+syntax keyword AArch64Mnemonic FMSUB FMUL FMULX FNEG FNMADD FNMSUB FNMUL FRECPE
+syntax keyword AArch64Mnemonic FRECPS FRECPX FRINTA FRINTI FRINTM FRINTN FRINTP
+syntax keyword AArch64Mnemonic FRINTX FRINTX FRINTZ FRSQRTE FRSQRTS FSQRT FSUB
+
+syntax keyword AArch64Mnemonic INS
+
+syntax keyword AArch64Mnemonic LD1 LD1R LD2 LD2R LD3 LD3R LD4 LD4R LDNP LDP LDR
+syntax keyword AArch64Mnemonic LDUR
+
+syntax keyword AArch64Mnemonic MLA MLS MOV MOVI MUL MVN MVNI
+
+syntax keyword AArch64Mnemonic NEG NOT
+
+syntax keyword AArch64Mnemonic ORN ORR
+
+syntax keyword AArch64Mnemonic PMUL PMULL PMULL2
+
+syntax keyword AArch64Mnemonic RBIT REV16 REV32 REV64 RSHRN RSHRN2 RSUBHN
+syntax keyword AArch64Mnemonic RSUBHN2
+
+syntax keyword AArch64Mnemonic SABA SABAL SABAL2 SABD SABDL SABDL2 SADALP SADDL
+syntax keyword AArch64Mnemonic SADDL2 SADDLP SADDLV SADDW SADDW2 SCVTF SHA1C
+syntax keyword AArch64Mnemonic SHA1H SHA1M SHA1P SHA1SU0 SHA1SU1 SHA256H2
+syntax keyword AArch64Mnemonic SHA256H SHA256SU0 SHA256SU1 SHADD SHL SHLL SHLL2
+syntax keyword AArch64Mnemonic SHRN SHRN2 SHSUB SLI SMAX SMAXP SMAXV SMIN SMINP
+syntax keyword AArch64Mnemonic SMINV SMLAL SMLAL2 SMLSL SMLSL2 SMOV SMULL SMULL2
+syntax keyword AArch64Mnemonic SQABS SQADD SQDMLAL SQDMLAL2 SQDMLSL SQDMLSL2
+syntax keyword AArch64Mnemonic SQDMULH SQDMULL SQDMULL2 SQNEG SQRDMULH SQRSHL
+syntax keyword AArch64Mnemonic SQRSHRN SQRSHRN2 SQSHL SQSHLU SQSHRN SQSHRN2
+syntax keyword AArch64Mnemonic SQSUB SQXTN SQXTN2 SQXTUN SQXTUN2 SHRADD SRI
+syntax keyword AArch64Mnemonic SRSHL SRSHR SRSRA SSHL SSHLL SSHLL2 SSHHR SSRA
+syntax keyword AArch64Mnemonic SSUBL SSUBL2 SSUBW SSUBW2 ST1 ST2 ST3 ST4 STNP
+syntax keyword AArch64Mnemonic STP STR STUR SUB SUBHN SUBHN2 SUQADD SXTL
+
+syntax keyword AArch64Mnemonic TBL TBX TRN1 TRN2
+
+syntax keyword AArch64Mnemonic UABA UABAL UABAL2 UABD UABDL UABDL2 UADALP UADDL
+syntax keyword AArch64Mnemonic UADDL2 UADDLP UADDLV UADDW UADDW2 UCVTF UHADD
+syntax keyword AArch64Mnemonic UHSUB UMAX UMAXP UMAXV UMIN UMINP UMINV UMLAL
+syntax keyword AArch64Mnemonic UMLAL2 UMLSL UMLSL2 UMOV UMULL UMULL2 UQADD
+syntax keyword AArch64Mnemonic UQRSHL UQRSHRN UQRSHRN2 UQSHL UQSHRN UQSUB UQXTN
+syntax keyword AArch64Mnemonic UQXTN2 URECPE URHADD URSHL URSHR URSQRTE URSRA
+syntax keyword AArch64Mnemonic USHL USHLL USHLL2 USHR USQADD USRA USUBL USUBL2
+syntax keyword AArch64Mnemonic USUBW USUBW2 UXTL UZP1 UZP2
+
+syntax keyword AArch64Mnemonic XTN XTN2
+
+syntax keyword AArch64Mnemonic ZIP1 ZIP2
+
+syntax match AArch64Macro  /#[_a-zA-Z][_a-zA-Z0-9]*/
+syntax match AArch64Number /#-\?\d\+/
+syntax match AArch64Number /#([^)]\+)/
+" TODO(compnerd) add floating point and hexadecimal numeric literal
+
+" NOTE(compnerd) this must be matched after numerics
+syntax match AArch64Label /\d\{1,2\}[:fb]/
+
+syntax keyword AArch64Operator ! ==
+
+syntax keyword AArch64Register  w0  w1  w2  w3  w4  w5  w6  w7  w8  w9 w10
+syntax keyword AArch64Register w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20
+syntax keyword AArch64Register w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30
+syntax keyword AArch64Register w31
+
+syntax keyword AArch64Register  x0  x1  x2  x3  x4  x5  x6  x7  x8  x9 x10
+syntax keyword AArch64Register x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
+syntax keyword AArch64Register x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30
+syntax keyword AArch64Register x31
+
+syntax keyword AArch64Register  v0  v1  v2  v3  v4  v5  v6  v7  v8  v9 v10
+syntax keyword AArch64Register v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20
+syntax keyword AArch64Register v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30
+syntax keyword AArch64Register v31
+
+syntax keyword AArch64Register  q0  q1  q2  q3  q4  q5  q6  q7  q8  q9 q10
+syntax keyword AArch64Register q10 q11 q12 q13 q14 q15 q16 q17 q18 q19 q20
+syntax keyword AArch64Register q20 q21 q22 q23 q24 q25 q26 q27 q28 q29 q30
+syntax keyword AArch64Register q31
+
+syntax keyword AArch64Register  d0  d1  d2  d3  d4  d5  d6  d7  d8  d9 d10
+syntax keyword AArch64Register d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20
+syntax keyword AArch64Register d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30
+syntax keyword AArch64Register d31
+
+syntax keyword AArch64Register  s0  s1  s2  s3  s4  s5  s6  s7  s8  s9 s10
+syntax keyword AArch64Register s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20
+syntax keyword AArch64Register s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30
+syntax keyword AArch64Register s31
+
+syntax keyword AArch64Register wzr xzr
+
+syntax keyword AArch64Register sp pc pstate
+
+syntax match AArch64Type /[@%]function/
+syntax match AArch64Type /[@%]object/
+syntax match AArch64Type /[@%]tls_object/
+syntax match AArch64Type /[@%]common/
+syntax match AArch64Type /[@%]notype/
+syntax match AArch64Type /[@%]gnu_unique_object/
+
+highlight default link AArch64Comment    Comment
+highlight default link AArch64Directive  PreProc
+highlight default link AArch64Identifier Identifier
+highlight default link AArch64Label      Label
+highlight default link AArch64Macro      Macro
+highlight default link AArch64Mnemonic   Keyword
+highlight default link AArch64Modifier   Special
+highlight default link AArch64Number     Number
+highlight default link AArch64Operator   Operator
+highlight default link AArch64Register   StorageClass
+highlight default link AArch64Type       Tag
+highlight default link AArch64TODO       Todo
+
+let b:current_syntax = "arm64asm"
+
--- a/vim/vimrc	Wed Sep 23 12:34:48 2020 -0400
+++ b/vim/vimrc	Fri Nov 06 11:01:07 2020 -0500
@@ -835,7 +835,8 @@
 
 augroup ft_asm
     au!
-    au FileType asm setlocal noexpandtab shiftwidth=8 tabstop=8 softtabstop=8
+    au BufNewFile,BufRead *.s set filetype=arm64asm
+    au FileType arm64asm setlocal noexpandtab shiftwidth=8 tabstop=8 softtabstop=8
 augroup END
 
 " }}}