From ad697bf6cd2a2e0c8ce98bbb5fb3c269673f8c11 Mon Sep 17 00:00:00 2001 From: Reid Vandewiele Date: Fri, 3 Nov 2023 11:03:28 -0700 Subject: [PATCH] Bash: add support for hyphenated param names Previously, a parameter (flag) such as `curl --upload-file` would not be properly recognized, because of the hyphen in the parameter name. This commit causes `--upload-file` to be properly recognized as a parameter. fixes #3569, fixes #3696 --- components/prism-bash.js | 2 +- tests/languages/bash/parameter_feature.test | 5 +++++ tests/languages/shell-session/issue3047_2.test | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/components/prism-bash.js b/components/prism-bash.js index 6d2e3815c2..ea6b97b3fb 100644 --- a/components/prism-bash.js +++ b/components/prism-bash.js @@ -115,7 +115,7 @@ }, // Highlight parameter names as variables 'parameter': { - pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/, + pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:[.-]\w+)*(?=[=\s]|$)/, alias: 'variable', lookbehind: true }, diff --git a/tests/languages/bash/parameter_feature.test b/tests/languages/bash/parameter_feature.test index 000a040703..f0ca0ee685 100644 --- a/tests/languages/bash/parameter_feature.test +++ b/tests/languages/bash/parameter_feature.test @@ -1,5 +1,6 @@ docker run --name elk \ +--log-level info \ -p 5601:5601 \ --restart=always \ --privileged \ @@ -16,6 +17,10 @@ easyj/elk:7.12.1 " elk ", ["punctuation", "\\"], + ["parameter", "--log-level"], + " info ", + ["punctuation", "\\"], + ["parameter", "-p"], ["number", "5601"], ":5601 ", diff --git a/tests/languages/shell-session/issue3047_2.test b/tests/languages/shell-session/issue3047_2.test index 40e03e67d9..e0ed842523 100644 --- a/tests/languages/shell-session/issue3047_2.test +++ b/tests/languages/shell-session/issue3047_2.test @@ -37,7 +37,10 @@ ssb> ed25519/0x1E7B69B238FFA21B created: 2021-07-21 expires: 2022-07-21 [ ["command", [ ["shell-symbol", "$"], - ["bash", ["gpg --card-status"]] + ["bash", [ + "gpg ", + ["parameter", "--card-status"] + ]] ]], ["output", "Reader ...........: Yubico YubiKey CCID\r\nApplication ID ...: D*******************************\r\nApplication type .: OpenPGP\r\nVersion ..........: 0.0\r\nManufacturer .....: Yubico\r\nSerial number ....: 1*******\r\nName of cardholder: John Doe\r\nLanguage prefs ...: en\r\nSalutation .......:\r\nURL of public key : [not set]\r\nLogin data .......: john@example.net\r\nSignature PIN ....: not forced\r\nKey attributes ...: ed25519 cv25519 ed25519\r\nMax. PIN lengths .: 127 127 127\r\nPIN retry counter : 3 0 3\r\nSignature counter : 0\r\nKDF setting ......: off\r\nUIF setting ......: Sign=on Decrypt=on Auth=on\r\nSignature key ....: ACE1 3F15 90C1 A8C9 D942 51E3 02ED C61B 6543 509B\r\n created ....: 2021-07-21 18:44:34\r\nEncryption key....: 0524 00F4 8E1D 085A F3E1 61EC D463 4E0D 6E2D D8BF\r\n created ....: 2021-07-21 18:44:52\r\nAuthentication key: A27B 582F 1F62 03BA 549B 3D44 1E7B 69B2 38FF A21B\r\n created ....: 2021-07-21 18:45:13\r\nGeneral key info..: sub ed25519/0x02EDC61B6543509B 2021-07-21 John Doe \r\nsec# ed25519/0xC2709D13BAB4763C created: 2021-07-21 expires: never\r\nssb> ed25519/0x02EDC61B6543509B created: 2021-07-21 expires: 2022-07-21\r\n card-no: 0006 1*******\r\nssb> cv25519/0xD4634E0D6E2DD8BF created: 2021-07-21 expires: 2022-07-21\r\n card-no: 0006 1*******\r\nssb> ed25519/0x1E7B69B238FFA21B created: 2021-07-21 expires: 2022-07-21\r\n card-no: 0006 1*******"] ]