66
|
1 package lexers
|
|
2
|
|
3 import (
|
|
4 . "github.com/alecthomas/chroma/v2" // nolint
|
|
5 )
|
|
6
|
|
7 // BashSession lexer.
|
|
8 var BashSession = Register(MustNewLexer(
|
|
9 &Config{
|
|
10 Name: "BashSession",
|
|
11 Aliases: []string{"bash-session", "console", "shell-session"},
|
|
12 Filenames: []string{".sh-session"},
|
|
13 MimeTypes: []string{"text/x-sh"},
|
|
14 EnsureNL: true,
|
|
15 },
|
|
16 bashsessionRules,
|
|
17 ))
|
|
18
|
|
19 func bashsessionRules() Rules {
|
|
20 return Rules{
|
|
21 "root": {
|
|
22 {`^((?:\[[^]]+@[^]]+\]\s?)?[#$%>])(\s*)(.*\n?)`, ByGroups(GenericPrompt, Text, Using("Bash")), nil},
|
|
23 {`^.+\n?`, GenericOutput, nil},
|
|
24 },
|
|
25 }
|
|
26 }
|