From af52441fe70727e9f2716217bc0b124065751a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ho=C3=A0ng=20Long?= Date: Sat, 26 Sep 2026 19:14:11 +0700 Subject: [PATCH 1/7] Add files via upload --- UDLs/Elvish_byHoangLong.xml | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 UDLs/Elvish_byHoangLong.xml diff --git a/UDLs/Elvish_byHoangLong.xml b/UDLs/Elvish_byHoangLong.xml new file mode 100644 index 0000000..34ad555 --- /dev/null +++ b/UDLs/Elvish_byHoangLong.xml @@ -0,0 +1,66 @@ + + + + + + + + + + 00# 01 02 03 04 + 0x 0o 0b + + + + + + .. + ! % & ( ) * + , - / : ; < = > ? @ [ ] ^ { } ~ + != <= == => >= + { + + } + + + + + + + var set tmp with del fn use and or coalesce if while for try pragma + else catch finally + $false $true + all assoc base benchmark bool break call cd compact compare conj constantly continue count defer deprecate derender-styledown dissoc drop each echo eq eval exact-num exec exit external fail from-json from-lines from-terminated get-env has-env has-external has-key has-value inexact-num is keep-if keys kind-of make-map nop not not-eq ns num one only-bytes only-values order peach pprint print printf put rand randint range read-bytes read-line read-upto render-styledown repeat repr resolve return run-parallel search-external set-env show sleep slurp src styled styled-segment take tilde-abbr time to-json to-lines to-string to-terminated unset-env use-mod wcswidth + builtin: edit: e: E: epm: file: math: os: path: platform: re: str: unix: + < <= <s <=s == ==s != !=s !=s > >= >s >=s + - * / % + randint range put echo fail cd external + $args $dir $false $home $nil $pid $pwd $true + 00" 01 02" 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From ab465decb9c57d53e1b9a1da9646ea6c15c7c7d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ho=C3=A0ng=20Long?= Date: Sat, 26 Sep 2026 19:19:01 +0700 Subject: [PATCH 2/7] Add files via upload --- functionList/Elvish_byHoangLong.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 functionList/Elvish_byHoangLong.xml diff --git a/functionList/Elvish_byHoangLong.xml b/functionList/Elvish_byHoangLong.xml new file mode 100644 index 0000000..6712d89 --- /dev/null +++ b/functionList/Elvish_byHoangLong.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 7bc99c413727e95c230d997836d0daaf1fab0163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ho=C3=A0ng=20Long?= Date: Sat, 26 Sep 2026 19:23:19 +0700 Subject: [PATCH 3/7] Add files via upload --- autoCompletion/Elvish.xml | 134 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 autoCompletion/Elvish.xml diff --git a/autoCompletion/Elvish.xml b/autoCompletion/Elvish.xml new file mode 100644 index 0000000..0e3b2a8 --- /dev/null +++ b/autoCompletion/Elvish.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6f5662c7c3bbaf14e131a0e7ca664ef84d92e610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ho=C3=A0ng=20Long?= Date: Sat, 26 Sep 2026 19:31:44 +0700 Subject: [PATCH 4/7] Add files via upload --- UDL-samples/Elvish_byHoangLong.elv | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 UDL-samples/Elvish_byHoangLong.elv diff --git a/UDL-samples/Elvish_byHoangLong.elv b/UDL-samples/Elvish_byHoangLong.elv new file mode 100644 index 0000000..e66c69f --- /dev/null +++ b/UDL-samples/Elvish_byHoangLong.elv @@ -0,0 +1,36 @@ +# UDL sample for Notepad++ Elvish syntax highlighting and Function List. +# Open this file after installing the UDL and Function List parser. + +use str + +var greeting = "Xin chao" +var names = [Ada Grace Linus] +var settings = [&punctuation=! &enabled=$true] + +fn greet {|name| + echo $greeting", "$name$settings[punctuation] +} + +fn describe {|value| + if (str:has-suffix $value .elv) { + echo $value" is an Elvish file" + } else { + echo "value: "$value + } +} + +for name $names { + greet $name +} + +put $names | each {|name| + echo "Hello, "$name +} + +try { + fail "sample error" +} catch err { + echo $err[reason] +} finally { + echo "finished" +} \ No newline at end of file From 862a2c7f0e2b6a92fee80155f8bf4458f52abcfa Mon Sep 17 00:00:00 2001 From: hoang-long2012 Date: Sat, 26 Sep 2026 20:30:38 +0700 Subject: [PATCH 5/7] Add Elvish UDL to language list --- udl-list.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/udl-list.json b/udl-list.json index 6e5e4fd..0c6b7f8 100644 --- a/udl-list.json +++ b/udl-list.json @@ -1040,6 +1040,19 @@ "autoCompletion": "elf", "autoCompletionAuthor": "generate_ac.py" }, + { + "id-name": "Elvish_byHoangLong", + "display-name": "Elvish", + "version": "v1.0.0", + "sample": "Elvish_byHoangLong.elv", + "repository": "", + "description": "User Defined Language, autocompletion, and Function List for Elvish.", + "author": "HoangLong ", + "homepage": "https://github.com/Hoang-Long2012/Elvish_Notepad-Plus-Plus_UDL", + "autoCompletion": "Elvish", + "autoCompletionAuthor": "generate_ac.py", + "functionList": true + }, { "id-name": "Emailheader_byPeterFisk", "display-name": "Email header", From 0ca3107ad03ed590e1229d12a3143dc50d44dd0d Mon Sep 17 00:00:00 2001 From: hoang-long2012 Date: Sat, 26 Sep 2026 21:10:17 +0700 Subject: [PATCH 6/7] Add Elvish function list test fixture --- Test/functionList/Elvish_byHoangLong/unitTest.expected.result | 1 + 1 file changed, 1 insertion(+) create mode 100644 Test/functionList/Elvish_byHoangLong/unitTest.expected.result diff --git a/Test/functionList/Elvish_byHoangLong/unitTest.expected.result b/Test/functionList/Elvish_byHoangLong/unitTest.expected.result new file mode 100644 index 0000000..b15c2d5 --- /dev/null +++ b/Test/functionList/Elvish_byHoangLong/unitTest.expected.result @@ -0,0 +1 @@ +{"leaves":["greet","describe"],"root":"Elvish_byHoangLong.elv"} \ No newline at end of file From 23e91848a13e5c50d77e6c00ae67debced81ee15 Mon Sep 17 00:00:00 2001 From: hoang-long2012 Date: Sat, 26 Sep 2026 21:32:56 +0700 Subject: [PATCH 7/7] Fix Elvish function list test root --- Test/functionList/Elvish_byHoangLong/unitTest.expected.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Test/functionList/Elvish_byHoangLong/unitTest.expected.result b/Test/functionList/Elvish_byHoangLong/unitTest.expected.result index b15c2d5..83f852a 100644 --- a/Test/functionList/Elvish_byHoangLong/unitTest.expected.result +++ b/Test/functionList/Elvish_byHoangLong/unitTest.expected.result @@ -1 +1 @@ -{"leaves":["greet","describe"],"root":"Elvish_byHoangLong.elv"} \ No newline at end of file +{"leaves":["greet","describe"],"root":"unitTest"} \ No newline at end of file