runtime(algol68): Add new syntax file, ftplugin and filetype detection

Commit: 
https://github.com/vim/vim/commit/3cc7d5071619f30bba2ae4ccfa992dccb8fd5e51
Author: Doug Kearns <[email protected]>
Date:   Sun Apr 26 14:31:55 2026 +0000

    runtime(algol68): Add new syntax file, ftplugin and filetype detection
    
    - Add a syntax file update to Neville Dempsey's long-serving version
    - Add a new rudimentary ftplugin
    - Add filetype detection
    
    Changes to the syntax file include:
    - improved prelude, number and symbol highlighting
    - prelude highlighting tests
    - updated boiler plate
    
    Note that these runtime files currently target Algol 68 Genie employing
    the default UPPER stropping regime.  Support for GNU Algol 68 should
    also be usable with the UPPER stropping regime, although somewhat less
    complete.  Full support for the SUPPER stropping regime in GNU Algol 68
    is also planned.
    
    closes: #19818
    
    Co-authored-by: Doug Kearns <[email protected]>
    Signed-off-by: Doug Kearns <[email protected]>
    Signed-off-by: Janis Papanagnou <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS
index 17458f2d2..d73c7f10d 100644
--- a/.github/MAINTAINERS
+++ b/.github/MAINTAINERS
@@ -133,6 +133,7 @@ runtime/doc/xxd-ru.1                                        
@RestorerZ
 runtime/doc/xxd-ru.UTF-8.1                             @RestorerZ
 runtime/ftplugin/abaqus.vim                            @costerwi
 runtime/ftplugin/abnf.vim                              @A4-Tacks
+runtime/ftplugin/algol68.vim                           @dkearns
 runtime/ftplugin/antlr4.vim                            @jiangyinzuo
 runtime/ftplugin/apache.vim                            @dubgeiser
 runtime/ftplugin/arduino.vim                           @k-takata
@@ -472,6 +473,7 @@ runtime/syntax/shared/hgcommitDiff.vim                      
@vegerot
 runtime/syntax/abaqus.vim                              @costerwi
 runtime/syntax/abnf.vim                                        @A4-Tacks
 runtime/syntax/aidl.vim                                        @dpelle
+runtime/syntax/algol68.vim                             @dkearns
 runtime/syntax/amiga.vim                               @sodero
 runtime/syntax/ant.vim                                 @dkearns
 runtime/syntax/antlr4.vim                              @jiangyinzuo
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 761ff644c..17b261823 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -1726,6 +1726,8 @@ const ft_from_ext = {
   "tdf": "ahdl",
   # AIDL
   "aidl": "aidl",
+  # Algol 68
+  "a68": "algol68",
   # AMPL
   "run": "ampl",
   # ANTLR / PCCTS
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 2102debf2..c18c2b5e3 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*   For Vim version 9.2.  Last change: 2026 Apr 14
+*syntax.txt*   For Vim version 9.2.  Last change: 2026 Apr 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -849,6 +849,20 @@ ADA
 See |ft-ada-syntax|
 
 
+ALGOL 68                                       *algol68* *ft-algol68-syntax*
+
+This syntax file currently targets the Algol 68 Genie project using the
+default UPPER stropping regime.  It should also be usuable in other
+environments using the UPPER stropping regime, though somewhat less complete.
+
+Highlighting can be further configured with the following variables.
+
+Variable                       Highlight ~
+*algol68_no_preludes*          no prelude identifiers, procedures or
+                               bold word operators
+*algol68_symbolic_operators*   all prelude symbolic operators
+
+
 ANT                                            *ant.vim* *ft-ant-syntax*
 
 The ant syntax file provides syntax highlighting for javascript and python
diff --git a/runtime/doc/tags b/runtime/doc/tags
index c4cc01bdc..80b1d18be 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6233,6 +6233,9 @@ added-win32-GUI   version5.txt    /*added-win32-GUI*
 aff-dic-format spell.txt       /*aff-dic-format*
 after-directory        options.txt     /*after-directory*
 aleph  options.txt     /*aleph*
+algol68        syntax.txt      /*algol68*
+algol68_no_preludes    syntax.txt      /*algol68_no_preludes*
+algol68_symbolic_operators     syntax.txt      /*algol68_symbolic_operators*
 alt    intro.txt       /*alt*
 alt-input      debugger.txt    /*alt-input*
 alternate-file editing.txt     /*alternate-file*
@@ -7519,6 +7522,7 @@ ft-ada-options    ft_ada.txt      /*ft-ada-options*
 ft-ada-plugin  ft_ada.txt      /*ft-ada-plugin*
 ft-ada-syntax  ft_ada.txt      /*ft-ada-syntax*
 ft-ada-variables       ft_ada.txt      /*ft-ada-variables*
+ft-algol68-syntax      syntax.txt      /*ft-algol68-syntax*
 ft-ant-syntax  syntax.txt      /*ft-ant-syntax*
 ft-apache-syntax       syntax.txt      /*ft-apache-syntax*
 ft-arduino-plugin      filetype.txt    /*ft-arduino-plugin*
diff --git a/runtime/ftplugin/algol68.vim b/runtime/ftplugin/algol68.vim
new file mode 100644
index 000000000..b995a1fce
--- /dev/null
+++ b/runtime/ftplugin/algol68.vim
@@ -0,0 +1,47 @@
+" Vim filetype plugin
+" Language:            Algol 68
+" Maintainer:          Doug Kearns <[email protected]>
+" Last Change:         2026 Apr 23
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" TODO: 'comments'
+
+setlocal commentstring=#\ %s\ #
+
+let &l:include='

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1wH0jJ-002NSB-9r%40256bit.org.

Raspunde prin e-mail lui