From c6414e08ebf6368c10dd17ab57e065c35b58503a Mon Sep 17 00:00:00 2001
From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com>
Date: Sat, 8 Jun 2024 15:41:52 +1200
Subject: [PATCH] Docs: Switch to furo-ys for YoscryptLexer

---
 docs/source/conf.py        |  2 +-
 docs/util/YoscryptLexer.py | 73 --------------------------------------
 2 files changed, 1 insertion(+), 74 deletions(-)
 delete mode 100644 docs/util/YoscryptLexer.py

diff --git a/docs/source/conf.py b/docs/source/conf.py
index 8e504df55..babbc9b53 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -87,5 +87,5 @@ def setup(app: Sphinx) -> None:
     from util.RtlilLexer import RtlilLexer
     app.add_lexer("RTLIL", RtlilLexer)
 
-    from util.YoscryptLexer import YoscryptLexer
+    from furo_ys.lexers.YoscryptLexer import YoscryptLexer
     app.add_lexer("yoscrypt", YoscryptLexer)
diff --git a/docs/util/YoscryptLexer.py b/docs/util/YoscryptLexer.py
deleted file mode 100644
index 8cb31c81a..000000000
--- a/docs/util/YoscryptLexer.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from pygments.lexer import RegexLexer, bygroups, include
-from pygments.token import (Comment, Error, Keyword, Name, Number, Operator,
-                            String, Whitespace)
-
-__all__ = ['YoscryptLexer']
-
-class YoscryptLexer(RegexLexer):
-    name = 'Yosys Script'
-    aliases = ['yoscrypt']
-    filenames = ['*.ys']
-    
-    
-    
-    tokens = {
-        'common': [
-            (r'\s+', Whitespace),
-            (r'#.*', Comment.Single),
-            (r'"', String, 'string'),
-            (r'(\d+)(\')([bdho]? ?\w+)', bygroups(Number, Operator, Number)),
-            (r'(\d+\.\d+)', Number.Float),
-            (r'(\d+)', Number),
-            (r'(\$[A-Za-z_0-9]*)', Name.Builtin),
-            (r'([A-Za-z_][A-Za-z_0-9\.\\/:-]*)', Name),
-            (r'(\[)(-\S*)(\])', # optional command
-             	bygroups(Operator, Name.Attribute, Operator)),
-            (r'([\[<]\w*[\]>])', Name), # arguments
-            (r'[\{\}\|=\[\],]', Operator),
-            (r'.', Comment),
-        ],
-        'root': [
-            (r'([A-Za-z_][A-Za-z_0-9]*)', Keyword, 'command'),
-            (r'(-[A-Za-z_][A-Za-z_0-9]*)', Name.Attribute, 'command'), # shortcut for options
-            include('common'),
-        ],
-        'command': [
-            (r'(-[A-Za-z_][A-Za-z_0-9]*)', Name.Attribute),
-            (r'\+/[^\s]+', Name.Class),
-            (r'$', Whitespace, '#pop'),
-            (r';(?=\s)', Operator, '#pop'),
-            (r';{2,3}(?=\s)', Name.Class, '#pop'),
-            (r';{1,3}', Error, '#pop'),
-            (r'([ANwismctparn]:)', Keyword.Type, 'pattern'),
-            (r'@', Keyword.Type),
-            (r'%(x|ci|co)e?', Keyword.Type, 'expansion'),
-            (r'%[%nuidDcasmMCR]?', Keyword.Type),
-            (r'/', Operator),
-            include('common'),
-        ],
-        'pattern': [
-            (r'<<', Name), # Not an operator
-            (r'(=|<|<=|>|>=)', Operator),
-            (r':', Keyword.Type),
-            (r'$', Whitespace, '#pop:2'),
-            (r'\s+', Whitespace, '#pop'),
-            include('common'),
-        ],
-        'expansion': [
-            (r'$', Name.Class, '#pop:2'),
-            (r';(?=\s)', Operator, '#pop:2'),
-            (r';{2,3}(?=\s)', Name.Class, '#pop:2'),
-            (r'\s', Whitespace, '#pop'),
-            (r'[0-9\*]{1,3}', Number),
-            (r'[:+-,\[\]]', Operator),
-            include('common'),
-        ],
-        'string': [
-            (r'"', String, '#pop'),
-            (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
-            (r'[^\\"\n]+', String),  # all other characters
-            (r'(\\)(\n)', bygroups(String.Escape, Whitespace)),  # line continuation
-            (r'\\', String),  # stray backslash
-        ]
-    }