pygments-shell-console 0.7.2__tar.gz → 0.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/PKG-INFO +1 -1
  2. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/git_lexer.py +1 -1
  3. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/pyproject.toml +1 -1
  4. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/shellconsole_lexer.py +3 -3
  5. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_prompts.py +15 -0
  6. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/.github/workflows/publish-to-pypi.yml +0 -0
  7. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/.gitignore +0 -0
  8. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/README.md +0 -0
  9. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/git_lg.example +0 -0
  10. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/git_log.example +0 -0
  11. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/git_show.example +0 -0
  12. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/status.example +0 -0
  13. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/test.exmpl +0 -0
  14. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/examples/test.sh +0 -0
  15. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/shellconsole_style.py +0 -0
  16. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/__init__.py +0 -0
  17. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git.py +0 -0
  18. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_branch.py +0 -0
  19. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_log.py +0 -0
  20. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_merge.py +0 -0
  21. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_pretty_log.py +0 -0
  22. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_show.py +0 -0
  23. {pygments_shell_console-0.7.2 → pygments_shell_console-0.8.0}/test/test_git_status.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pygments-shell-console
3
- Version: 0.7.2
3
+ Version: 0.8.0
4
4
  Requires-Dist: pygments
5
5
  Description-Content-Type: text/markdown
6
6
 
@@ -63,7 +63,7 @@ class GitLexer(RegexLexer):
63
63
  }
64
64
 
65
65
  class GitPrettyLogLexer(Lexer):
66
- _branch_line_rgx = r'([\|\\\/ ]*)'
66
+ _branch_line_rgx = r'([\|\\\/ _]*)'
67
67
  _logrgx_groups = [
68
68
  _branch_line_rgx, # 1. Branch line
69
69
  r'(\*)', # 2. Commit asterisk
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pygments-shell-console" # change this to a package name for your plugin
7
- version = "0.7.2"
7
+ version = "0.8.0"
8
8
  dependencies = ["pygments"]
9
9
  readme = "README.md"
10
10
 
@@ -38,11 +38,11 @@ class ShellConsoleLexer(Lexer):
38
38
  r'(?P<venv>\([^\)]*\))?', # Virtualenv
39
39
  r'(\s*)?', # Whitespace
40
40
  r'\[?', # Start bracketed prompt
41
- r'(?P<user_host>[\S @]+@[^\s]+?)', # user@host
41
+ r'(?P<user_host>[\S @]+@[^\s]+?)?', # user@host
42
42
  r'(\s*)', # Whitespace
43
- r'(?:(\:)|(\s+))', # Separator: colon or space
43
+ r'(?:(\:)|(\s+))?', # Separator: colon or space
44
44
  r'(\s*)', # Whitespace
45
- r'(?P<current_dir>[^\s\]]+)', # Current directory
45
+ r'(?P<current_dir>[^\s\]:]+)?', # Current directory
46
46
  r'(?:(\s+)(?P<git_branch>\([^)]+\)))?', # Whitespace + Git branch
47
47
  r'\]?', # End bracketed prompt
48
48
  r'(\s*)', # Whitespace
@@ -2,6 +2,21 @@ import pytest
2
2
  from pygments.token import Token
3
3
  from shellconsole_lexer import ShellConsoleLexer
4
4
 
5
+ def test_empty_bash_prompt():
6
+ lexer = ShellConsoleLexer()
7
+ prompt = "$ echo Hello"
8
+
9
+ tokens = list(lexer.get_tokens(prompt))
10
+
11
+ assert tokens == [
12
+ (Token.Generic.Prompt, "$"),
13
+ (Token.Generic.Prompt.Whitespace, " "),
14
+ (Token.Name.Builtin, "echo"),
15
+ (Token.Text.Whitespace, " "),
16
+ (Token.Text, "Hello"),
17
+ (Token.Text.Whitespace, "\n"),
18
+ ]
19
+
5
20
  def test_basic_bash_prompt():
6
21
  lexer = ShellConsoleLexer()
7
22
  prompt = "user@host:~$"