auto-coder-web 0.1.52__py3-none-any.whl → 0.1.53__py3-none-any.whl
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.
- auto_coder_web/common_router/compiler_router.py +136 -0
- auto_coder_web/proxy.py +5 -3
- auto_coder_web/routers/config_router.py +45 -178
- auto_coder_web/version.py +1 -1
- auto_coder_web/web/assets/abap-BrgZPUOV.js +6 -0
- auto_coder_web/web/assets/apex-DyP6w7ZV.js +6 -0
- auto_coder_web/web/assets/azcli-BaLxmfj-.js +6 -0
- auto_coder_web/web/assets/bat-CFOPXBzS.js +6 -0
- auto_coder_web/web/assets/bicep-BfEKNvv3.js +7 -0
- auto_coder_web/web/assets/cameligo-BFG1Mk7z.js +6 -0
- auto_coder_web/web/assets/clojure-DTECt2xU.js +6 -0
- auto_coder_web/web/assets/codicon-DCmgc-ay.ttf +0 -0
- auto_coder_web/web/assets/coffee-CDGzqUPQ.js +6 -0
- auto_coder_web/web/assets/cpp-CLLBncYj.js +6 -0
- auto_coder_web/web/assets/csharp-dUCx_-0o.js +6 -0
- auto_coder_web/web/assets/csp-5Rap-vPy.js +6 -0
- auto_coder_web/web/assets/css-D3h14YRZ.js +8 -0
- auto_coder_web/web/assets/cssMode-C7Ffvbun.js +9 -0
- auto_coder_web/web/assets/cypher-DrQuvNYM.js +6 -0
- auto_coder_web/web/assets/dart-CFKIUWau.js +6 -0
- auto_coder_web/web/assets/dockerfile-Zznr-cwX.js +6 -0
- auto_coder_web/web/assets/ecl-Ce3n6wWz.js +6 -0
- auto_coder_web/web/assets/elixir-deUWdS0T.js +6 -0
- auto_coder_web/web/assets/flow9-i9-g7ZhI.js +6 -0
- auto_coder_web/web/assets/freemarker2-C3Y6D2nF.js +8 -0
- auto_coder_web/web/assets/fsharp-CzKuDChf.js +6 -0
- auto_coder_web/web/assets/go-Cphgjts3.js +6 -0
- auto_coder_web/web/assets/graphql-Cg7bfA9N.js +6 -0
- auto_coder_web/web/assets/handlebars-3udXWLRO.js +6 -0
- auto_coder_web/web/assets/hcl-0cvrggvQ.js +6 -0
- auto_coder_web/web/assets/html-C_5YHrtq.js +6 -0
- auto_coder_web/web/assets/htmlMode-OsOJ7Pmh.js +9 -0
- auto_coder_web/web/assets/index-CmfrDHc1.css +32 -0
- auto_coder_web/web/assets/index-D1XBUj0Z.js +1433 -0
- auto_coder_web/web/assets/ini-Drc7WvVn.js +6 -0
- auto_coder_web/web/assets/java-B_fMsGYe.js +6 -0
- auto_coder_web/web/assets/javascript-CTPXDi4L.js +6 -0
- auto_coder_web/web/assets/jsonMode-bGTtAsru.js +15 -0
- auto_coder_web/web/assets/julia-Bqgm2twL.js +6 -0
- auto_coder_web/web/assets/kotlin-BSkB5QuD.js +6 -0
- auto_coder_web/web/assets/less-BsTHnhdd.js +7 -0
- auto_coder_web/web/assets/lexon-YWi4-JPR.js +6 -0
- auto_coder_web/web/assets/liquid-DUSKiz9O.js +6 -0
- auto_coder_web/web/assets/lua-nf6ki56Z.js +6 -0
- auto_coder_web/web/assets/m3-Cpb6xl2v.js +6 -0
- auto_coder_web/web/assets/markdown-DSZPf7rp.js +6 -0
- auto_coder_web/web/assets/mdx-B7LHQoZi.js +6 -0
- auto_coder_web/web/assets/mips-B_c3zf-v.js +6 -0
- auto_coder_web/web/assets/msdax-rUNN04Wq.js +6 -0
- auto_coder_web/web/assets/mysql-DDwshQtU.js +6 -0
- auto_coder_web/web/assets/objective-c-B5zXfXm9.js +6 -0
- auto_coder_web/web/assets/pascal-CXOwvkN_.js +6 -0
- auto_coder_web/web/assets/pascaligo-Bc-ZgV77.js +6 -0
- auto_coder_web/web/assets/perl-CwNk8-XU.js +6 -0
- auto_coder_web/web/assets/pgsql-tGk8EFnU.js +6 -0
- auto_coder_web/web/assets/php-CpIb_Oan.js +6 -0
- auto_coder_web/web/assets/pla-B03wrqEc.js +6 -0
- auto_coder_web/web/assets/postiats-BKlk5iyT.js +6 -0
- auto_coder_web/web/assets/powerquery-Bhzvs7bI.js +6 -0
- auto_coder_web/web/assets/powershell-Dd3NCNK9.js +6 -0
- auto_coder_web/web/assets/protobuf-COyEY5Pt.js +7 -0
- auto_coder_web/web/assets/pug-BaJupSGV.js +6 -0
- auto_coder_web/web/assets/python-Bw8iUNJc.js +6 -0
- auto_coder_web/web/assets/qsharp-DXyYeYxl.js +6 -0
- auto_coder_web/web/assets/r-CdQndTaG.js +6 -0
- auto_coder_web/web/assets/razor-BvxiGwj6.js +6 -0
- auto_coder_web/web/assets/redis-CVwtpugi.js +6 -0
- auto_coder_web/web/assets/redshift-25W9uPmb.js +6 -0
- auto_coder_web/web/assets/restructuredtext-DfzH4Xui.js +6 -0
- auto_coder_web/web/assets/ruby-Cp1zYvxS.js +6 -0
- auto_coder_web/web/assets/rust-D5C2fndG.js +6 -0
- auto_coder_web/web/assets/sb-CDntyWJ8.js +6 -0
- auto_coder_web/web/assets/scala-BoFRg7Ot.js +6 -0
- auto_coder_web/web/assets/scheme-Bio4gycK.js +6 -0
- auto_coder_web/web/assets/scss-4Ik7cdeQ.js +8 -0
- auto_coder_web/web/assets/shell-CX-rkNHf.js +6 -0
- auto_coder_web/web/assets/solidity-Tw7wswEv.js +6 -0
- auto_coder_web/web/assets/sophia-C5WLch3f.js +6 -0
- auto_coder_web/web/assets/sparql-DHaeiCBh.js +6 -0
- auto_coder_web/web/assets/sql-CCSDG5nI.js +6 -0
- auto_coder_web/web/assets/st-pnP8ivHi.js +6 -0
- auto_coder_web/web/assets/swift-DwJ7jVG9.js +8 -0
- auto_coder_web/web/assets/systemverilog-B9Xyijhd.js +6 -0
- auto_coder_web/web/assets/tcl-DnHyzjbg.js +6 -0
- auto_coder_web/web/assets/tsMode-CLB9pI4V.js +16 -0
- auto_coder_web/web/assets/twig-CPajHgWi.js +6 -0
- auto_coder_web/web/assets/typescript-Cp3zBmo-.js +6 -0
- auto_coder_web/web/assets/typespec-D-MeaMDU.js +6 -0
- auto_coder_web/web/assets/vb-DgyLZaXg.js +6 -0
- auto_coder_web/web/assets/wgsl-BIv9DU6q.js +303 -0
- auto_coder_web/web/assets/xml-Dz8SFDwn.js +6 -0
- auto_coder_web/web/assets/yaml-C_ezErvC.js +6 -0
- auto_coder_web/web/index.html +14 -1
- {auto_coder_web-0.1.52.dist-info → auto_coder_web-0.1.53.dist-info}/METADATA +2 -2
- {auto_coder_web-0.1.52.dist-info → auto_coder_web-0.1.53.dist-info}/RECORD +98 -17
- auto_coder_web/web/asset-manifest.json +0 -15
- auto_coder_web/web/static/css/main.5db2283b.css +0 -6
- auto_coder_web/web/static/css/main.5db2283b.css.map +0 -1
- auto_coder_web/web/static/js/453.d855a71b.chunk.js +0 -2
- auto_coder_web/web/static/js/453.d855a71b.chunk.js.map +0 -1
- auto_coder_web/web/static/js/main.86bfc061.js +0 -3
- auto_coder_web/web/static/js/main.86bfc061.js.LICENSE.txt +0 -214
- auto_coder_web/web/static/js/main.86bfc061.js.map +0 -1
- {auto_coder_web-0.1.52.dist-info → auto_coder_web-0.1.53.dist-info}/WHEEL +0 -0
- {auto_coder_web-0.1.52.dist-info → auto_coder_web-0.1.53.dist-info}/entry_points.txt +0 -0
- {auto_coder_web-0.1.52.dist-info → auto_coder_web-0.1.53.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,136 @@
|
|
1
|
+
from fastapi import APIRouter, Request, HTTPException, Depends
|
2
|
+
from typing import List, Dict, Any, Optional
|
3
|
+
from pydantic import BaseModel
|
4
|
+
from autocoder.compilers.compiler_config_api import get_compiler_config_api
|
5
|
+
|
6
|
+
router = APIRouter()
|
7
|
+
|
8
|
+
class CompilerBase(BaseModel):
|
9
|
+
name: str
|
10
|
+
type: str
|
11
|
+
working_dir: str
|
12
|
+
command: str
|
13
|
+
args: List[str]
|
14
|
+
triggers: List[str] = []
|
15
|
+
extract_regex: Optional[str] = None
|
16
|
+
|
17
|
+
class CompilerCreate(CompilerBase):
|
18
|
+
pass
|
19
|
+
|
20
|
+
class CompilerUpdate(BaseModel):
|
21
|
+
type: Optional[str] = None
|
22
|
+
working_dir: Optional[str] = None
|
23
|
+
command: Optional[str] = None
|
24
|
+
args: Optional[List[str]] = None
|
25
|
+
triggers: Optional[List[str]] = None
|
26
|
+
extract_regex: Optional[str] = None
|
27
|
+
|
28
|
+
@router.get("/api/compilers")
|
29
|
+
async def list_compilers():
|
30
|
+
"""
|
31
|
+
Get all compiler configurations
|
32
|
+
"""
|
33
|
+
api = get_compiler_config_api()
|
34
|
+
result = api.list_compilers()
|
35
|
+
|
36
|
+
if result["status"] == "error":
|
37
|
+
raise HTTPException(status_code=400, detail=result["message"])
|
38
|
+
|
39
|
+
return result
|
40
|
+
|
41
|
+
@router.get("/api/compilers/{name}")
|
42
|
+
async def get_compiler(name: str):
|
43
|
+
"""
|
44
|
+
Get a specific compiler configuration by name
|
45
|
+
"""
|
46
|
+
api = get_compiler_config_api()
|
47
|
+
result = api.get_compiler(name)
|
48
|
+
|
49
|
+
if result["status"] == "error":
|
50
|
+
status_code = result.get("code", 400)
|
51
|
+
raise HTTPException(status_code=status_code, detail=result["message"])
|
52
|
+
|
53
|
+
return result
|
54
|
+
|
55
|
+
@router.post("/api/compilers")
|
56
|
+
async def create_compiler(compiler: CompilerCreate):
|
57
|
+
"""
|
58
|
+
Create a new compiler configuration
|
59
|
+
"""
|
60
|
+
api = get_compiler_config_api()
|
61
|
+
result = api.create_compiler(
|
62
|
+
name=compiler.name,
|
63
|
+
compiler_type=compiler.type,
|
64
|
+
working_dir=compiler.working_dir,
|
65
|
+
command=compiler.command,
|
66
|
+
args=compiler.args,
|
67
|
+
triggers=compiler.triggers,
|
68
|
+
extract_regex=compiler.extract_regex
|
69
|
+
)
|
70
|
+
|
71
|
+
if result["status"] == "error":
|
72
|
+
raise HTTPException(status_code=400, detail=result["message"])
|
73
|
+
|
74
|
+
return result
|
75
|
+
|
76
|
+
@router.put("/api/compilers/{name}")
|
77
|
+
async def update_compiler(name: str, compiler: CompilerUpdate):
|
78
|
+
"""
|
79
|
+
Update an existing compiler configuration
|
80
|
+
"""
|
81
|
+
api = get_compiler_config_api()
|
82
|
+
result = api.update_compiler(
|
83
|
+
name=name,
|
84
|
+
compiler_type=compiler.type,
|
85
|
+
working_dir=compiler.working_dir,
|
86
|
+
command=compiler.command,
|
87
|
+
args=compiler.args,
|
88
|
+
triggers=compiler.triggers,
|
89
|
+
extract_regex=compiler.extract_regex
|
90
|
+
)
|
91
|
+
|
92
|
+
if result["status"] == "error":
|
93
|
+
status_code = result.get("code", 400)
|
94
|
+
raise HTTPException(status_code=status_code, detail=result["message"])
|
95
|
+
|
96
|
+
return result
|
97
|
+
|
98
|
+
@router.delete("/api/compilers/{name}")
|
99
|
+
async def delete_compiler(name: str):
|
100
|
+
"""
|
101
|
+
Delete a compiler configuration
|
102
|
+
"""
|
103
|
+
api = get_compiler_config_api()
|
104
|
+
result = api.delete_compiler(name)
|
105
|
+
|
106
|
+
if result["status"] == "error":
|
107
|
+
status_code = result.get("code", 400)
|
108
|
+
raise HTTPException(status_code=status_code, detail=result["message"])
|
109
|
+
|
110
|
+
return result
|
111
|
+
|
112
|
+
@router.post("/api/compilers/initialize")
|
113
|
+
async def initialize_compiler_config():
|
114
|
+
"""
|
115
|
+
Initialize a default compiler configuration file if it doesn't exist
|
116
|
+
"""
|
117
|
+
api = get_compiler_config_api()
|
118
|
+
result = api.initialize_config()
|
119
|
+
|
120
|
+
if result["status"] == "error":
|
121
|
+
raise HTTPException(status_code=400, detail=result["message"])
|
122
|
+
|
123
|
+
return result
|
124
|
+
|
125
|
+
@router.get("/api/compilers/validate")
|
126
|
+
async def validate_compiler_config():
|
127
|
+
"""
|
128
|
+
Validate the structure of the compiler.yml file
|
129
|
+
"""
|
130
|
+
api = get_compiler_config_api()
|
131
|
+
result = api.validate_config()
|
132
|
+
|
133
|
+
if result["status"] == "error":
|
134
|
+
raise HTTPException(status_code=400, detail=result["message"])
|
135
|
+
|
136
|
+
return result
|
auto_coder_web/proxy.py
CHANGED
@@ -19,9 +19,9 @@ import sys
|
|
19
19
|
from auto_coder_web.terminal import terminal_manager
|
20
20
|
from autocoder.common import AutoCoderArgs
|
21
21
|
from auto_coder_web.auto_coder_runner_wrapper import AutoCoderRunnerWrapper
|
22
|
-
from auto_coder_web.routers import todo_router, settings_router, auto_router, commit_router, chat_router, coding_router,index_router
|
22
|
+
from auto_coder_web.routers import todo_router, settings_router, auto_router, commit_router, chat_router, coding_router,index_router,config_router
|
23
23
|
from auto_coder_web.expert_routers import history_router
|
24
|
-
from auto_coder_web.common_router import completions_router, file_router, auto_coder_conf_router, chat_list_router, file_group_router, model_router
|
24
|
+
from auto_coder_web.common_router import completions_router, file_router, auto_coder_conf_router, chat_list_router, file_group_router, model_router, compiler_router
|
25
25
|
from rich.console import Console
|
26
26
|
from loguru import logger
|
27
27
|
from auto_coder_web.lang import get_message
|
@@ -94,8 +94,10 @@ class ProxyServer:
|
|
94
94
|
self.app.include_router(auto_coder_conf_router.router)
|
95
95
|
self.app.include_router(chat_list_router.router)
|
96
96
|
self.app.include_router(file_group_router.router)
|
97
|
-
self.app.include_router(model_router.router)
|
97
|
+
self.app.include_router(model_router.router)
|
98
|
+
self.app.include_router(compiler_router.router)
|
98
99
|
self.app.include_router(index_router.router)
|
100
|
+
self.app.include_router(config_router.router)
|
99
101
|
|
100
102
|
@self.app.on_event("shutdown")
|
101
103
|
async def shutdown_event():
|
@@ -1,199 +1,66 @@
|
|
1
1
|
import os
|
2
2
|
import json
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import aiofiles
|
6
|
-
from fastapi import APIRouter, HTTPException
|
7
|
-
from pydantic import BaseModel, Field
|
8
|
-
from typing import Optional, List, Union, Dict, Any
|
9
|
-
from datetime import datetime
|
3
|
+
from fastapi import APIRouter, HTTPException, Request, Depends
|
4
|
+
from pydantic import BaseModel
|
10
5
|
from pathlib import Path
|
6
|
+
from typing import Optional
|
11
7
|
|
12
8
|
router = APIRouter()
|
13
9
|
|
14
|
-
# 配置存储路径
|
15
|
-
CONFIG_FILE = Path(".auto-coder/auto-coder.web/configs/config.json")
|
16
|
-
|
17
|
-
# 确保目录存在
|
18
|
-
CONFIG_FILE.parent.mkdir(parents=True, exist_ok=True)
|
19
|
-
|
20
|
-
logger = logging.getLogger(__name__)
|
21
|
-
|
22
|
-
# UI 配置模型
|
23
10
|
class UIConfig(BaseModel):
|
24
11
|
mode: str = "agent" # agent/expert
|
25
|
-
theme: str = "dark"
|
26
|
-
language: str = "zh-CN"
|
27
|
-
|
28
|
-
# 编辑器配置模型
|
29
|
-
class EditorConfig(BaseModel):
|
30
|
-
fontSize: int = 14
|
31
|
-
tabSize: int = 2
|
32
|
-
wordWrap: str = "on"
|
33
|
-
|
34
|
-
# 功能配置模型
|
35
|
-
class FeaturesConfig(BaseModel):
|
36
|
-
autoSave: bool = True
|
37
|
-
livePreview: bool = True
|
38
|
-
|
39
|
-
# 配置设置模型
|
40
|
-
class ConfigSettings(BaseModel):
|
41
|
-
ui: UIConfig = Field(default_factory=UIConfig)
|
42
|
-
editor: EditorConfig = Field(default_factory=EditorConfig)
|
43
|
-
features: FeaturesConfig = Field(default_factory=FeaturesConfig)
|
44
|
-
updated_at: str = Field(default_factory=lambda: datetime.now().isoformat())
|
45
|
-
|
46
|
-
# 更新请求模型 - 所有字段都是可选的
|
47
|
-
class UIConfigUpdate(BaseModel):
|
48
|
-
mode: Optional[str] = None
|
49
|
-
theme: Optional[str] = None
|
50
|
-
language: Optional[str] = None
|
51
|
-
|
52
|
-
class EditorConfigUpdate(BaseModel):
|
53
|
-
fontSize: Optional[int] = None
|
54
|
-
tabSize: Optional[int] = None
|
55
|
-
wordWrap: Optional[str] = None
|
56
12
|
|
57
|
-
|
58
|
-
|
59
|
-
|
13
|
+
async def get_project_path(request: Request) -> str:
|
14
|
+
"""从FastAPI请求上下文中获取项目路径"""
|
15
|
+
return request.app.state.project_path
|
60
16
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
17
|
+
async def get_config_path(project_path: str) -> Path:
|
18
|
+
"""获取配置文件路径"""
|
19
|
+
config_path = Path(project_path) / ".auto-coder" / "auto-coder.web" / "config.json"
|
20
|
+
config_path.parent.mkdir(parents=True, exist_ok=True)
|
21
|
+
return config_path
|
65
22
|
|
66
|
-
async def load_config() ->
|
67
|
-
"""
|
68
|
-
if not
|
69
|
-
return
|
23
|
+
async def load_config(config_path: Path) -> UIConfig:
|
24
|
+
"""加载配置"""
|
25
|
+
if not config_path.exists():
|
26
|
+
return UIConfig()
|
70
27
|
|
71
28
|
try:
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
logger.error("Failed to parse config.json, returning default config")
|
78
|
-
return ConfigSettings()
|
29
|
+
with open(config_path, 'r') as f:
|
30
|
+
config_data = json.load(f)
|
31
|
+
return UIConfig(**config_data)
|
32
|
+
except json.JSONDecodeError:
|
33
|
+
return UIConfig()
|
79
34
|
|
80
|
-
async def save_config(config:
|
81
|
-
"""
|
82
|
-
|
83
|
-
|
35
|
+
async def save_config(config: UIConfig, config_path: Path):
|
36
|
+
"""保存配置"""
|
37
|
+
with open(config_path, 'w') as f:
|
38
|
+
json.dump(config.dict(), f)
|
84
39
|
|
85
|
-
@router.get("/api/config", response_model=ConfigSettings)
|
86
|
-
async def get_config():
|
87
|
-
"""获取当前所有配置"""
|
88
|
-
return await load_config()
|
89
|
-
|
90
|
-
@router.get("/api/config/ui", response_model=UIConfig)
|
91
|
-
async def get_ui_config():
|
92
|
-
"""获取UI配置"""
|
93
|
-
config = await load_config()
|
94
|
-
return config.ui
|
95
|
-
|
96
|
-
@router.get("/api/config/editor", response_model=EditorConfig)
|
97
|
-
async def get_editor_config():
|
98
|
-
"""获取编辑器配置"""
|
99
|
-
config = await load_config()
|
100
|
-
return config.editor
|
101
|
-
|
102
|
-
@router.get("/api/config/features", response_model=FeaturesConfig)
|
103
|
-
async def get_features_config():
|
104
|
-
"""获取功能配置"""
|
105
|
-
config = await load_config()
|
106
|
-
return config.features
|
107
|
-
|
108
|
-
@router.put("/api/config", response_model=ConfigSettings)
|
109
|
-
async def update_config(request: ConfigUpdateRequest):
|
110
|
-
"""更新配置"""
|
111
|
-
config = await load_config()
|
112
|
-
|
113
|
-
# 更新UI配置
|
114
|
-
if request.ui:
|
115
|
-
ui_update = request.ui.dict(exclude_unset=True)
|
116
|
-
if ui_update:
|
117
|
-
config.ui = UIConfig(**{**config.ui.dict(), **ui_update})
|
118
|
-
|
119
|
-
# 更新编辑器配置
|
120
|
-
if request.editor:
|
121
|
-
editor_update = request.editor.dict(exclude_unset=True)
|
122
|
-
if editor_update:
|
123
|
-
config.editor = EditorConfig(**{**config.editor.dict(), **editor_update})
|
124
|
-
|
125
|
-
# 更新功能配置
|
126
|
-
if request.features:
|
127
|
-
features_update = request.features.dict(exclude_unset=True)
|
128
|
-
if features_update:
|
129
|
-
config.features = FeaturesConfig(**{**config.features.dict(), **features_update})
|
130
|
-
|
131
|
-
# 更新时间戳
|
132
|
-
config.updated_at = datetime.now().isoformat()
|
133
|
-
|
134
|
-
await save_config(config)
|
135
|
-
return config
|
136
|
-
|
137
|
-
@router.put("/api/config/ui", response_model=UIConfig)
|
138
|
-
async def update_ui_config(request: UIConfigUpdate):
|
139
|
-
"""更新UI配置"""
|
140
|
-
config = await load_config()
|
141
|
-
|
142
|
-
# 只更新提供的字段
|
143
|
-
update_data = request.dict(exclude_unset=True)
|
144
|
-
if update_data:
|
145
|
-
config.ui = UIConfig(**{**config.ui.dict(), **update_data})
|
146
|
-
config.updated_at = datetime.now().isoformat()
|
147
|
-
await save_config(config)
|
148
|
-
|
149
|
-
return config.ui
|
150
|
-
|
151
|
-
@router.put("/api/config/editor", response_model=EditorConfig)
|
152
|
-
async def update_editor_config(request: EditorConfigUpdate):
|
153
|
-
"""更新编辑器配置"""
|
154
|
-
config = await load_config()
|
155
|
-
|
156
|
-
# 只更新提供的字段
|
157
|
-
update_data = request.dict(exclude_unset=True)
|
158
|
-
if update_data:
|
159
|
-
config.editor = EditorConfig(**{**config.editor.dict(), **update_data})
|
160
|
-
config.updated_at = datetime.now().isoformat()
|
161
|
-
await save_config(config)
|
162
|
-
|
163
|
-
return config.editor
|
164
|
-
|
165
|
-
@router.put("/api/config/features", response_model=FeaturesConfig)
|
166
|
-
async def update_features_config(request: FeaturesConfigUpdate):
|
167
|
-
"""更新功能配置"""
|
168
|
-
config = await load_config()
|
169
|
-
|
170
|
-
# 只更新提供的字段
|
171
|
-
update_data = request.dict(exclude_unset=True)
|
172
|
-
if update_data:
|
173
|
-
config.features = FeaturesConfig(**{**config.features.dict(), **update_data})
|
174
|
-
config.updated_at = datetime.now().isoformat()
|
175
|
-
await save_config(config)
|
176
|
-
|
177
|
-
return config.features
|
178
|
-
|
179
|
-
# 单个配置项更新端点
|
180
40
|
@router.get("/api/config/ui/mode")
|
181
|
-
async def get_ui_mode():
|
182
|
-
"""
|
183
|
-
|
184
|
-
|
41
|
+
async def get_ui_mode(request: Request):
|
42
|
+
"""获取当前UI模式"""
|
43
|
+
project_path = await get_project_path(request)
|
44
|
+
config_path = await get_config_path(project_path)
|
45
|
+
config = await load_config(config_path)
|
46
|
+
return {"mode": config.mode}
|
47
|
+
|
48
|
+
class UIModeUpdate(BaseModel):
|
49
|
+
mode: str
|
185
50
|
|
186
51
|
@router.put("/api/config/ui/mode")
|
187
|
-
async def update_ui_mode(
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
if mode not in ["agent", "expert"]:
|
52
|
+
async def update_ui_mode(
|
53
|
+
update: UIModeUpdate,
|
54
|
+
request: Request
|
55
|
+
):
|
56
|
+
"""更新UI模式"""
|
57
|
+
if update.mode not in ["agent", "expert"]:
|
193
58
|
raise HTTPException(status_code=400, detail="Mode must be 'agent' or 'expert'")
|
194
59
|
|
195
|
-
|
196
|
-
|
197
|
-
await
|
60
|
+
project_path = await get_project_path(request)
|
61
|
+
config_path = await get_config_path(project_path)
|
62
|
+
config = await load_config(config_path)
|
63
|
+
config.mode = update.mode
|
64
|
+
await save_config(config, config_path)
|
198
65
|
|
199
|
-
return {"mode": mode}
|
66
|
+
return {"mode": update.mode}
|
auto_coder_web/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.1.
|
1
|
+
__version__ = "0.1.53"
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},t={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}};export{e as conf,t as language};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},s=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],o=e=>e.charAt(0).toUpperCase()+e.substr(1),t=[];s.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(o(e))});var i={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};export{n as conf,i as language};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={comments:{lineComment:"#"}},t={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};export{e as conf,t as language};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};export{e as conf,s as language};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var n=e=>`\\b${e}\\b`,t="[_a-zA-Z]",o="[_a-zA-Z0-9]",r=n(`${t}${o}*`),i=["targetScope","resource","module","param","var","output","for","in","if","existing"],a=["true","false","null"],s="[ \\t\\r\\n]",c="[0-9]+",g={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
|
7
|
+
`,indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},l={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:i,namedLiterals:a,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:s},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:c,action:{token:"number"}},{regex:r,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}};export{g as conf,l as language};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},o={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};export{e as conf,o as language};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],tokenizer:{root:[{include:"@whitespace"},[/@numbers/,"number"],[/@characters/,"string"],{include:"@string"},[/[()\[\]{}]/,"@brackets"],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,"regexp"],[/[#'@^`~]/,"meta"],[/@qualifiedSymbols/,{cases:{"^:.+$":"constant","@specialForms":"keyword","@coreSymbols":"keyword","@constants":"constant","@default":"identifier"}}]],whitespace:[[/[\s,]+/,"white"],[/;.*$/,"comment"],[/\(comment\b/,"comment","@comment"]],comment:[[/\(/,"comment","@push"],[/\)/,"comment","@pop"],[/[^()]/,"comment"]],string:[[/"/,"string","@multiLineString"]],multiLineString:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/./,"string"]]}};export{e as conf,t as language};
|
Binary file
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!-----------------------------------------------------------------------------
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
3
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
4
|
+
* Released under the MIT license
|
5
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
6
|
+
*-----------------------------------------------------------------------------*/var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},r={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};export{e as conf,r as language};
|