0
0
mirror of https://github.com/vim/vim.git synced 2025-10-20 08:14:18 -04:00

patch 9.1.1821: filetype: Not all PKL files are recognized

Problem:  filetype: Not all PKL files are recognized
Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
          protocol as pkl filetype, include PKL syntax script
          (Jan Claußen)

This adds basic syntax support for the new PKL language by Apple.

What works:
- Shebang support
- Comment support
- Integers (decimal, hex, octal and binary) support
- Floating point support including exponentials
- Basic datatype support
- Unicode escape delimiters
- Escape code support
- String interpolation
- Support up to five pounds for custom delimiters
- Folding of multi-line comments and blocks

What doesn't work:

  The language heavily uses parameterized type declarations, which can get
  very complex. It is very hard to highlight this properly. There is
  official Tree-sitter support for this. Since it is hard to pull this off
  in a vim syntax file, I opted for basic support of the data types.

References:
  https://github.com/apple/pkl-pantry

fixes: #18271
closes: #18274

Signed-off-by: Jan Claußen <jan.claussen10@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Jan Claußen
2025-10-03 08:41:32 +00:00
committed by Christian Brabandt
parent f77c187277
commit 67a8f2945e
6 changed files with 179 additions and 5 deletions

View File

@@ -615,7 +615,7 @@ def s:GetFilenameChecks(): dict<list<string>>
pilrc: ['file.rcp'],
pine: ['.pinerc', 'pinerc', '.pinercex', 'pinercex'],
pinfo: ['/etc/pinforc', '/.pinforc', 'any/.pinforc', 'any/etc/pinforc'],
pkl: ['file.pkl'],
pkl: ['file.pkl', 'file.pcf'],
pli: ['file.pli', 'file.pl1'],
plm: ['file.plm', 'file.p36', 'file.pac'],
plp: ['file.plp'],

View File

@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1821,
/**/
1820,
/**/