feat: sync mixly root files and common folder
This commit is contained in:
45
mixly/common/templates/html/app.html
Normal file
45
mixly/common/templates/html/app.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mixly-nav {
|
||||
width: 100%;
|
||||
height: var(--nav-height);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mixly-workspace {
|
||||
width: 100%;
|
||||
height: calc(100vh - var(--nav-height) - var(--footer-height));
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mixly-footerbar {
|
||||
width: 100%;
|
||||
height: var(--footer-height);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .mixly-footerbar {
|
||||
background-color: rgb(0, 122, 204);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .mixly-footerbar {
|
||||
background-color: rgb(0 150 136);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="mixly-nav"></div>
|
||||
<div class="mixly-workspace"></div>
|
||||
<div class="mixly-footerbar"></div>
|
||||
</div>
|
||||
42
mixly/common/templates/html/devices-select-layer.html
Normal file
42
mixly/common/templates/html/devices-select-layer.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > button {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > button[disabled] {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > button:hover,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > button:active {
|
||||
background-color: var(--app-light-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > button {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > button[disabled] {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > button:hover,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > button:active {
|
||||
background-color: var(--app-dark-color);
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="page-item list-group">
|
||||
<button type="button" m-id="serial" class="list-group-item list-group-item-action m-btn" {{d.serialStatus}}>{{d.serialMsg}}</button>
|
||||
<button type="button" m-id="hid" class="list-group-item list-group-item-action m-btn" {{d.hidStatus}}>{{d.hidMsg}}</button>
|
||||
<button type="button" m-id="usb" class="list-group-item list-group-item-action m-btn" {{d.usbStatus}}>{{d.usbMsg}}</button>
|
||||
</div>
|
||||
32
mixly/common/templates/html/dialog/firmware.html
Normal file
32
mixly/common/templates/html/dialog/firmware.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .select2-container {
|
||||
margin: 10px 10px 20px 10px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .layui-btn-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .layui-btn-container > button {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<select class="type"></select>
|
||||
<div class="layui-btn-container">
|
||||
<button type="button" class="cancel layui-btn layui-btn-sm self-adaption-btn">{{d.cancel}}</button>
|
||||
<button type="button" class="burn layui-btn layui-btn-sm self-adaption-btn">{{d.burn}}</button>
|
||||
</div>
|
||||
</div>
|
||||
34
mixly/common/templates/html/dialog/new-file.html
Normal file
34
mixly/common/templates/html/dialog/new-file.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .layer-message {
|
||||
margin: 10px 10px 20px 10px;
|
||||
min-width: 220px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .layui-btn-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .layui-btn-container > button {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="layer-message">{{d.message}}</div>
|
||||
<div class="layui-btn-container">
|
||||
<button type="button" class="cancel layui-btn layui-btn-sm self-adaption-btn">{{d.cancel}}</button>
|
||||
<button type="button" class="ok layui-btn layui-btn-sm self-adaption-btn">{{d.ok}}</button>
|
||||
</div>
|
||||
</div>
|
||||
17
mixly/common/templates/html/dialog/progress.html
Normal file
17
mixly/common/templates/html/dialog/progress.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 15px 10px 12px 10px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > progress {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<progress class="mixly-progress"></progress>
|
||||
</div>
|
||||
12
mixly/common/templates/html/dialog/shadow-all.html
Normal file
12
mixly/common/templates/html/dialog/shadow-all.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background: transparent;
|
||||
z-index: 400;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}"></div>
|
||||
12
mixly/common/templates/html/dialog/shadow-nav.html
Normal file
12
mixly/common/templates/html/dialog/shadow-nav.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
height: var(--nav-height);
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
z-index: 400;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}"></div>
|
||||
14
mixly/common/templates/html/dropdown-menu-item.html
Normal file
14
mixly/common/templates/html/dropdown-menu-item.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<style>
|
||||
button[m-id="{{d.mId}}"] > i {
|
||||
margin-left: 2px;
|
||||
-webkit-transition: all .2s;
|
||||
}
|
||||
|
||||
button[m-id="{{d.mId}}"] > i.menu-shown {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
</style>
|
||||
<button m-id="{{d.mId}}" class="mixly-nav layui-btn layui-btn-xs layui-btn-primary">
|
||||
{{d.text}}
|
||||
<i class="layui-icon layui-icon-down"></i>
|
||||
</button>
|
||||
8
mixly/common/templates/html/editor/editor-blockly.html
Normal file
8
mixly/common/templates/html/editor/editor-blockly.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}"></div>
|
||||
25
mixly/common/templates/html/editor/editor-code.html
Normal file
25
mixly/common/templates/html/editor/editor-code.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<style>
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"],
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .ace_gutter {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"],
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .ace_gutter {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .ace_gutter {
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .ace_gutter {
|
||||
border-right-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .ace_gutter {
|
||||
border-right-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="editor page-item"></div>
|
||||
28
mixly/common/templates/html/editor/editor-manager.html
Normal file
28
mixly/common/templates/html/editor/editor-manager.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .tabs {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .body {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="tabs"></div>
|
||||
<div class="body"></div>
|
||||
</div>
|
||||
11
mixly/common/templates/html/editor/editor-md-btns.html
Normal file
11
mixly/common/templates/html/editor/editor-md-btns.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="group">
|
||||
<button m-id="code" class="layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<i class="icon-puzzle"></i>代码
|
||||
</button>
|
||||
<button m-id="mixture" class="layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<i class="icon-cube"></i>混合
|
||||
</button>
|
||||
<button m-id="preview" class="layui-btn layui-btn-xs layui-btn-primary m-btn self-adaption-btn">
|
||||
<i class="icon-code"></i>预览
|
||||
</button>
|
||||
</div>
|
||||
52
mixly/common/templates/html/editor/editor-md.html
Normal file
52
mixly/common/templates/html/editor/editor-md.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-code {
|
||||
display: none;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-preview {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-preview > .markdown-body {
|
||||
position: absolute;
|
||||
overflow-y: auto;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
padding: 20px;
|
||||
border-style: solid;
|
||||
border-width: 0 0 0 1px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-preview > .markdown-body * {
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .editor-preview > .markdown-body {
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .editor-preview > .markdown-body {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="editor-code"></div>
|
||||
<div class="editor-preview">
|
||||
<div class="markdown-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
15
mixly/common/templates/html/editor/editor-mix-btns.html
Normal file
15
mixly/common/templates/html/editor/editor-mix-btns.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="group">
|
||||
<!-- <button m-id="deps" class="layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<i class="layui-icon layui-icon-component"></i>依赖
|
||||
</button>
|
||||
<div class="line"></div> -->
|
||||
<button m-id="block" class="layui-btn layui-btn-xs layui-btn-primary m-btn self-adaption-btn">
|
||||
<i class="icon-puzzle"></i>{{ d.block }}
|
||||
</button>
|
||||
<button m-id="mixture" class="layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<i class="icon-cube"></i>{{ d.mix }}
|
||||
</button>
|
||||
<button m-id="code" class="layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<i class="icon-code"></i>{{ d.code }}
|
||||
</button>
|
||||
</div>
|
||||
34
mixly/common/templates/html/editor/editor-mix.html
Normal file
34
mixly/common/templates/html/editor/editor-mix.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-blockly {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor-code {
|
||||
display: none;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
border-left: 1px;
|
||||
border-left-style: solid;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .editor-code {
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .editor-code {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="editor">
|
||||
<div class="editor-blockly"></div>
|
||||
<div class="editor-code"></div>
|
||||
</div>
|
||||
36
mixly/common/templates/html/editor/editor-tab.html
Normal file
36
mixly/common/templates/html/editor/editor-tab.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
height: 28px;
|
||||
z-index: 3;
|
||||
padding: 0px;
|
||||
border-width: 1px 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
background-color: #f8f8f8;
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
background-color: #252526;
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .chrome-tabs-content {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .x-scrollbar__content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="chrome-tabs">
|
||||
<div class="chrome-tabs-content"></div>
|
||||
</div>
|
||||
13
mixly/common/templates/html/editor/editor-unknown.html
Normal file
13
mixly/common/templates/html/editor/editor-unknown.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<label>该文件暂无有效解析器解析</label>
|
||||
</div>
|
||||
35
mixly/common/templates/html/editor/editor-welcome.html
Normal file
35
mixly/common/templates/html/editor/editor-welcome.html
Normal file
@@ -0,0 +1,35 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mixly-font {
|
||||
font-family: 'ravie';
|
||||
font-size: 80px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .mixly-font {
|
||||
color: #b1b1b1;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .mixly-font {
|
||||
color: #3c3c3c;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<label class="mixly-font">Mixly</label>
|
||||
</div>
|
||||
143
mixly/common/templates/html/file-tree.html
Normal file
143
mixly/common/templates/html/file-tree.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .progress {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 3px;
|
||||
border-radius: 0;
|
||||
display: none;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .progress > .bar {
|
||||
height: 100%;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .progress > .bar {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .progress > .bar {
|
||||
background-color: #1e1e1e !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .progress > .bar::before {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .progress > .bar::before {
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .progress > .bar::before {
|
||||
background-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
border-radius: 0px;
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .folder-title:focus {
|
||||
background: #d7daeb;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .folder-title:focus {
|
||||
background: #5a5959;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > * {
|
||||
line-height: 24px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .mixly-icon.triangle {
|
||||
font-size: 15px !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .mixly-icon.folder:before {
|
||||
margin: 0 0.2em;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .name {
|
||||
font-family: Segoe WPC,Segoe UI,Microsoft YaHei,sans-serif;
|
||||
font-size: 12px !important;
|
||||
padding-left: 2px;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .children {
|
||||
position: absolute;
|
||||
top: 27px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .children .jstree,
|
||||
div[m-id="{{d.mId}}"] > .children .jstree-container-ul {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .jstree-container-ul > .jstree-node {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .jstree-node > .jstree-wholerow {
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .folder-title.active,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .jstree-node.active > .jstree-wholerow {
|
||||
border-color: var(--app-light-color) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .folder-title.active,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .jstree-node.active > .jstree-wholerow {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mask {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-color: transparent;
|
||||
z-index: 1;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="ui swinging indeterminate progress">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
<button type="root" class="folder-title layui-btn layui-btn-xs layui-btn-primary">
|
||||
<i class="mixly-icon triangle codicon-chevron-right"></i>
|
||||
<i class="mixly-icon folder foldericon-root-default"></i>
|
||||
<p class="name"></p>
|
||||
</button>
|
||||
<div class="children"></div>
|
||||
<div class="mask"></div>
|
||||
</div>
|
||||
96
mixly/common/templates/html/footerbar.html
Normal file
96
mixly/common/templates/html/footerbar.html
Normal file
@@ -0,0 +1,96 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] p {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
align-items: center;
|
||||
font-size:12px;
|
||||
line-height:12px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > div {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > div > a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > button {
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
margin: 0 5px;
|
||||
padding: 3px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > div > p,
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > div > div > p,
|
||||
div[m-id="{{d.mId}}"] > .footerbar-item > button > a {
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="footerbar-item">
|
||||
<button m-title="{{d.example}}" class="example layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<a class="icon-doc-text">{{ d.example }}</a>
|
||||
</button>
|
||||
<div id="mixly-footer-cursor" style="display: none;">
|
||||
<div>
|
||||
<p>{{ d.row }} </p>
|
||||
<p id="mixly-footer-row">1</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>, {{ d.column }} </p>
|
||||
<p id="mixly-footer-column">1</p>
|
||||
</div>
|
||||
<div style="display: none;">
|
||||
<p>, {{ d.selected }} </p>
|
||||
<p id="mixly-footer-selected"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footerbar-item">
|
||||
<div>
|
||||
<a class='icon-code'></a>
|
||||
<p class="code-lang">{{ d.unknown }}</p>
|
||||
</div>
|
||||
<div>
|
||||
<a class='icon-microchip'></a>
|
||||
<p id="mixly-footer-boardname"></p>
|
||||
<div id="mixly-footer-port-div" style="display: none;">
|
||||
<p> {{d.on}} </p>
|
||||
<p id="mixly-footer-port"></p>
|
||||
</div>
|
||||
</div>
|
||||
<button class="board-config layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<a class="icon-cog">{{ d.config }}</a>
|
||||
</button>
|
||||
<button class="message layui-btn layui-btn-xs layui-btn-primary m-btn">
|
||||
<a class="icon-bell">{{ d.message }}</a>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,102 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] button {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] button.title {
|
||||
white-space: nowrap;
|
||||
margin: 2px 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] button.title > p {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] button.title {
|
||||
background-color: #ffffff;
|
||||
border: 1px #fff;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] button.title:hover {
|
||||
color: #a5a5a5;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] button.title {
|
||||
background-color: #252525;
|
||||
border: 1px transparent;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] button.title:hover {
|
||||
color: var(--lay-color-text-2);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] button.option {
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] button.option {
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] button.option {
|
||||
background-color: #007ACC;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .select2-selection--single {
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .select2-selection--single > span {
|
||||
line-height: 24px !important;
|
||||
height: 24px !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .select2-container--open .select2-selection--single {
|
||||
outline: 1px solid var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .select2-container--open .select2-selection--single {
|
||||
outline: 1px solid var(--app-dark-color);
|
||||
}
|
||||
|
||||
.footer-layer-board-config .footer-layer-btn.reset {
|
||||
font-size: 13px;
|
||||
line-height: 12px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] > body > .select2-container > .select2-board-config {
|
||||
outline: 1px solid var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] > body > .select2-container > .select2-board-config {
|
||||
outline: 1px solid var(--app-dark-color);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
{{# layui.each(d.options, function(index, item){ }}
|
||||
<button
|
||||
mid="{{ item.key }}-label"
|
||||
class="layui-btn layui-btn-fluid layui-btn-xs title">
|
||||
<p>{{ item.name }}</p>
|
||||
</button>
|
||||
<p> : </p>
|
||||
<select mid="{{ item.key }}"></select>
|
||||
{{# }); }}
|
||||
</div>
|
||||
@@ -0,0 +1,58 @@
|
||||
<style>
|
||||
/* 示例 */
|
||||
.footer-layer-example .layui-tree * {
|
||||
box-sizing: unset !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] .footer-layer-example .layui-tree-txt {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] .footer-layer-example .layui-tree-icon .layui-icon {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] .footer-layer-example .layui-tree-txt {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] .footer-layer-example .layui-tree-icon .layui-icon {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.footer-layer-example .layui-tree-icon {
|
||||
border: none !important;
|
||||
width: 16px !important;
|
||||
height: 16px !important;
|
||||
font-size: 16px !important;
|
||||
margin: 0 10px !important;
|
||||
}
|
||||
|
||||
.footer-layer-example .layui-tree-icon .layui-icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.footer-layer-example .layui-tree-iconClick {
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
margin: 0 3px 0 10px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] .footer-layer-example .layui-tree-iconClick {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] .footer-layer-example .layui-tree-iconClick {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.footer-layer-example .layui-tree-iconClick .layui-icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id={{d.mId}} class="example-tree-body"></div>
|
||||
@@ -0,0 +1,23 @@
|
||||
<div class="toast show text-bg-{{ d.style }}" role="alert" aria-live="assertive" aria-atomic="true" style="margin-bottom: 8px;">
|
||||
<div class="toast-header">
|
||||
<img src="{{ d.src }}" width="22" height="22" class="rounded me-2">
|
||||
<strong class="me-auto">{{-d.name}}</strong>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="toast-body">
|
||||
{{-d.message}}
|
||||
{{# if (d.btns && d.btns.length) { }}
|
||||
<div class="mt-2 pt-2 border-top btns">
|
||||
{{# if (d.checkbox.show) { }}
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" value="" id="{{-d.checkbox.id}}" {{d.checkbox.checked}}>
|
||||
<label class="form-check-label" for="{{-d.checkbox.id}}">{{d.checkbox.title}}</label>
|
||||
</div>
|
||||
{{# } }}
|
||||
{{# layui.each(d.btns, function(index, item){ }}
|
||||
<button type="button" m-id="{{ item.mId }}" class="btn btn-{{ item.style }} btn-sm">{{ item.text }}</button>
|
||||
{{# }); }}
|
||||
</div>
|
||||
{{# } }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div class="toast show text-bg-{{ d.style }}" role="alert" aria-live="assertive" aria-atomic="true" style="margin-bottom: 8px;">
|
||||
<div class="d-flex">
|
||||
<div class="toast-body">
|
||||
{{-d.message}}
|
||||
</div>
|
||||
<button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
<div class="toast-container bottom-0 end-0" style="position:relative;">
|
||||
</div>
|
||||
29
mixly/common/templates/html/footerlayer/footerlayer.html
Normal file
29
mixly/common/templates/html/footerlayer/footerlayer.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<div class="footer-layer">
|
||||
<div class="footer-layer-content mixly-scrollbar">
|
||||
<div class="layui-layer-title">
|
||||
{{# layui.each(d.btns, function(index, item) { }}
|
||||
<i
|
||||
class="footer-layer-btn layui-icon {{= item.icon }} {{= item.class }}"
|
||||
title="{{= item.title }}"
|
||||
></i>
|
||||
{{# }); }}
|
||||
<i
|
||||
class="footer-layer-btn layui-icon layui-icon-close close"
|
||||
title="{{ d.close }}"
|
||||
></i>
|
||||
</div>
|
||||
<div class="footer-layer-body"
|
||||
style="
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
padding: 5px;
|
||||
font-size: 14px;
|
||||
"
|
||||
>
|
||||
{{- d.content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
288
mixly/common/templates/html/lib-manager-div.html
Normal file
288
mixly/common/templates/html/lib-manager-div.html
Normal file
@@ -0,0 +1,288 @@
|
||||
<div id="libs-menu" class="layui-layer-wrap">
|
||||
<style type="text/css">
|
||||
#libs-menu .layui-nav-tree .layui-nav-item > a {
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
||||
#libs-menu-left {
|
||||
width: 119px;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu-left {
|
||||
background-color: #ffffff;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu-left {
|
||||
border-right: 1px solid #454343;
|
||||
}
|
||||
|
||||
#libs-menu-options {
|
||||
margin: 5px;
|
||||
width: 110px;
|
||||
border-left-width: 10px;
|
||||
}
|
||||
|
||||
#libs-menu-options > li > a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#libs-menu-body {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
left: 120px;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu-body {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#libs-menu-top {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
top: 0px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
#libs-menu-bottom {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
bottom: 0px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu-bottom {
|
||||
background-color: #ffffff;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu-bottom {
|
||||
border-top: 1px solid #454343;
|
||||
}
|
||||
|
||||
#libs-menu-btn-group {
|
||||
float: right;
|
||||
padding-top: 4px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#libs-menu .layui-table-header {
|
||||
border-right-width: 5px !important;
|
||||
}
|
||||
|
||||
.menu-body {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#libs-menu .layui-nav > li,
|
||||
#libs-menu .layui-nav > li > a {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-bg-cyan {
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-nav .layui-this a {
|
||||
color: #fff !important;
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-nav .layui-nav-item a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-nav-tree .layui-nav-item:hover {
|
||||
background-color: #f2f2f2;
|
||||
transition: 0.5s all;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-bg-cyan {
|
||||
background-color: #2a2a2b !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-nav .layui-this a {
|
||||
color: #fff !important;
|
||||
background-color: var(--lay-color-normal);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-nav .layui-nav-item a {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-nav-tree .layui-nav-item:hover {
|
||||
background-color: #afa7a7;
|
||||
transition: 0.5s all;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-table-tool {
|
||||
background-color: #fff;
|
||||
top: 1px;
|
||||
border-bottom-width: 0px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-table-tool {
|
||||
background-color: #6c6969;
|
||||
top: 1px;
|
||||
border-bottom-width: 0px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #libs-menu .layui-table-box {
|
||||
bottom: 1px;
|
||||
border: 4px solid #f8f8f8;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #libs-menu .layui-table-box {
|
||||
bottom: 1px;
|
||||
border: 4px solid #302d2d;
|
||||
}
|
||||
</style>
|
||||
<div id="libs-menu-top">
|
||||
<div id="libs-menu-left">
|
||||
<ul
|
||||
id="libs-menu-options"
|
||||
class="layui-nav layui-nav-tree layui-bg-cyan layui-inline"
|
||||
lay-filter="libs-menu-filter"
|
||||
>
|
||||
<li class="layui-nav-item layui-this" lay-id="import">
|
||||
<a m-id="0">{{d.importBoard}}</a>
|
||||
</li>
|
||||
<li class="layui-nav-item" lay-id="delete">
|
||||
<a m-id="1">{{d.delBoard}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="libs-menu-body">
|
||||
<div class="menu-body layui-show" style="height: 100%">
|
||||
<div
|
||||
class="layui-tab layui-tab-brief"
|
||||
id="import-lib-page"
|
||||
lay-filter="import-lib-page-filter"
|
||||
lay-unauto
|
||||
style="margin: 0px;height: 100%;"
|
||||
>
|
||||
<ul
|
||||
class="layui-tab-title"
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
height: 40px;
|
||||
right: 0px;
|
||||
"
|
||||
>
|
||||
<li class="layui-this" lay-id="mixly" id="import-mixly-lib">
|
||||
{{d.mixlyLib}}
|
||||
</li>
|
||||
<li lay-id="code" id="import-code-lib">
|
||||
{{d.codeLib}}
|
||||
</li>
|
||||
<div class="layui-btn-group" style="float: right;padding: 5px;">
|
||||
<button type="button" class="layui-btn layui-btn-sm self-adaption-btn" title="{{d.cloudImport}}" m-id="cloud-import">
|
||||
<i class="icon-download-cloud-1"></i>
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm self-adaption-btn" title="{{d.localImport}}" m-id="local-import">
|
||||
<i class="icon-download-2"></i>
|
||||
</button>
|
||||
</div>
|
||||
</ul>
|
||||
<div
|
||||
class="layui-tab-content"
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 40px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
overflow: auto;
|
||||
"
|
||||
>
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div
|
||||
class="layui-hide"
|
||||
id="import-mixly-lib-page"
|
||||
lay-filter="import-mixly-lib-page-filter"
|
||||
></div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div
|
||||
class="layui-hide"
|
||||
id="import-code-lib-page"
|
||||
lay-filter="import-code-lib-page-filter"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-body" style="height: 100%">
|
||||
<div
|
||||
class="layui-tab layui-tab-brief"
|
||||
id="del-lib-page"
|
||||
lay-filter="del-lib-page-filter"
|
||||
lay-unauto
|
||||
style="margin: 0px;height: 100%;"
|
||||
>
|
||||
<ul
|
||||
class="layui-tab-title"
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
height: 40px;
|
||||
right: 0px;
|
||||
"
|
||||
>
|
||||
<li class="layui-this" lay-id="mixly" id="del-mixly-lib">
|
||||
{{d.mixlyLib}}
|
||||
</li>
|
||||
<li lay-id="code" id="del-code-lib">
|
||||
{{d.codeLib}}
|
||||
</li>
|
||||
<div class="layui-btn-group" style="float: right;padding: 5px;">
|
||||
<button type="button" class="layui-btn layui-btn-sm self-adaption-btn" title="{{d.openFolder}}" m-id="open-folder">
|
||||
<i class="icon-folder-open-empty"></i>
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm self-adaption-btn" title="{{d.del}}" m-id="del">
|
||||
<i class="icon-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
</ul>
|
||||
<div
|
||||
class="layui-tab-content"
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 40px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
overflow: auto;
|
||||
"
|
||||
>
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div
|
||||
class="layui-hide"
|
||||
id="del-mixly-lib-page"
|
||||
lay-filter="del-mixly-lib-page-filter"
|
||||
></div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div
|
||||
class="layui-hide"
|
||||
id="del-code-lib-page"
|
||||
lay-filter="del-code-lib-page-filter"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="libs-menu-bottom"></div>
|
||||
</div>
|
||||
12
mixly/common/templates/html/loader-div.html
Normal file
12
mixly/common/templates/html/loader-div.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<div id="mixly-loader-div" style="display:none; margin:12px" align="center">
|
||||
<div style="
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
">
|
||||
<progress id="mixly-loader" class="mixly-progress"></progress>
|
||||
<button id="mixly-loader-btn" class="layui-btn layui-btn-xs self-adaption-btn" style="margin-left: 10px;">{{d.btnName}}</button>
|
||||
</div>
|
||||
</div>
|
||||
11
mixly/common/templates/html/menu-item.html
Normal file
11
mixly/common/templates/html/menu-item.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="menu-line">
|
||||
{{# if (d.icon) { }}
|
||||
<label class="text {{d.icon}}">{{d.name}}</label>
|
||||
{{# } else { }}
|
||||
<label class="item">{{d.name}}</label>
|
||||
{{# } }}
|
||||
<div class="sep"></div>
|
||||
{{# if (d.hotKey) { }}
|
||||
<label class="hot-key">{{d.hotKey}}</label>
|
||||
{{# } }}
|
||||
</div>
|
||||
13
mixly/common/templates/html/nav/board-selector-div.html
Normal file
13
mixly/common/templates/html/nav/board-selector-div.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<style>
|
||||
.select2-dropdown.mixly-{{d.mId}} {
|
||||
width: 100% !important;
|
||||
transform: translate(calc(-50% + 75px), calc((var(--nav-height) - var(--nav-select-height)) / 2));
|
||||
}
|
||||
|
||||
body > .select2-container:has(.mixly-{{d.mId}}) {
|
||||
animation-duration: 0.3s;
|
||||
animation-fill-mode: both;
|
||||
animation-name: layui-upbit;
|
||||
}
|
||||
</style>
|
||||
<select m-id={{d.mId}} id="boards-type"></select>
|
||||
8
mixly/common/templates/html/nav/nav-btn.html
Normal file
8
mixly/common/templates/html/nav/nav-btn.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<button
|
||||
type="button"
|
||||
class="layui-btn layui-btn-xs layui-btn-primary mixly-nav"
|
||||
title="{{d.title}}"
|
||||
m-id="{{d.mId}}"
|
||||
>
|
||||
<a class="{{d.icon}}">{{d.text}}</a>
|
||||
</button>
|
||||
5
mixly/common/templates/html/nav/nav-item-container.html
Normal file
5
mixly/common/templates/html/nav/nav-item-container.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<li class="layui-nav-item mixly-scrollbar" lay-unselect m-id="{{d.mId}}">
|
||||
<a style="white-space: nowrap;">
|
||||
{{d.text}}
|
||||
</a>
|
||||
</li>
|
||||
3
mixly/common/templates/html/nav/nav-item.html
Normal file
3
mixly/common/templates/html/nav/nav-item.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<dd lay-unselect>
|
||||
<a class="mixly-nav {{d.icon}}" m-id="{{d.mId}}">{{d.text}}</a>
|
||||
</dd>
|
||||
325
mixly/common/templates/html/nav/nav.html
Normal file
325
mixly/common/templates/html/nav/nav.html
Normal file
@@ -0,0 +1,325 @@
|
||||
<style>
|
||||
ul[m-id="{{d.mId}}"] {
|
||||
width: 100vw;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
height: 100%;
|
||||
padding: 0 10px;
|
||||
height: var(--nav-height);
|
||||
max-height: var(--nav-height);
|
||||
color: var(--lay-color-white) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] {
|
||||
background-color: var(--app-light-color) !important;
|
||||
border-bottom: 1px solid #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] {
|
||||
background-color: #3c3c3c !important;
|
||||
border-bottom: 1px solid rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
padding: 0 5px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-color: transparent;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] button:active {
|
||||
border: 1px solid var(--app-light-color) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] button:active {
|
||||
border: 1px solid #2f4056 !important;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] button:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] button:hover {
|
||||
box-shadow: 2px 0px 5px #7b7171;
|
||||
border-color: #19897f;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] button:hover {
|
||||
box-shadow: 2px 0px 5px #303030;
|
||||
border-color: #434242;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] button:hover a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] button > a {
|
||||
color: rgba(255, 255, 255, .7);
|
||||
-webkit-transition: all .3s;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] button > a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .layui-nav-child {
|
||||
max-height: calc(100vh - var(--nav-height) - 12px);
|
||||
line-height: 30px;
|
||||
overflow-y: auto;
|
||||
top: var(--nav-height);
|
||||
box-shadow: 0 2px 5px rgb(0 0 0 / 50%);
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .layui-nav-item {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
line-height: var(--nav-height);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] dl {
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > div {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > div > .left-btn-container,
|
||||
ul[m-id="{{d.mId}}"] > .right-area > .right-menu-container {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > div > .left-btn-container > button[m-id="home-btn"] {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .right-area > .right-menu-container {
|
||||
margin-left: 10px;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > div > .left-btn-container > button,
|
||||
ul[m-id="{{d.mId}}"] > .right-area > .right-menu-container > button {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
height: var(--nav-left-btn-height);
|
||||
font-size: 14px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .right-area,
|
||||
ul[m-id="{{d.mId}}"] .right-menu-container {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .right-btn-container,
|
||||
ul[m-id="{{d.mId}}"] .dropdown-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .dropdown-container > * {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .right-btn-container button {
|
||||
padding: 0;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .right-btn-container button > a {
|
||||
font-size: 18px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .layui-nav-item dd {
|
||||
margin: 0;
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .layui-nav-item dd > a {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
font-size: 13px;
|
||||
line-height: 13px;
|
||||
border-radius: 5px;
|
||||
box-sizing: content-box;
|
||||
padding: 5px 7px;
|
||||
margin: 0px 5px;
|
||||
border-radius: 5px;
|
||||
min-width: 100px;
|
||||
transition: none;
|
||||
-webkit-transition: none;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .layui-nav-item dd > a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] .layui-nav-item dd > a:hover {
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] .layui-nav-item dd > a:hover {
|
||||
background-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] hr {
|
||||
border-bottom: 1px solid #000 !important;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] hr {
|
||||
border-bottom: 1px solid #fff !important;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container {
|
||||
line-height: 22px;
|
||||
font-size: 16px;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
margin: 4px;
|
||||
padding: 0 2px;
|
||||
border: 1px solid rgba(204, 204, 204, 0.2);
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container > .copyright {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
font-size: 12px;
|
||||
color: #fff !important;
|
||||
text-align: center;
|
||||
display: -webkit-box;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container.empty {
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
line-height: unset;
|
||||
font-size: unset;
|
||||
margin: unset;
|
||||
padding: unset;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container .group {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container .group > .line {
|
||||
height: 12px;
|
||||
width: 1px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container .group > button {
|
||||
font-family: "Lato", "Noto Sans SC";
|
||||
border-radius: 4px;
|
||||
padding: 0 2px;
|
||||
margin: 0 4px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] > .editor-btn-container .group > .self-adaption-btn {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] > .editor-btn-container .group > .self-adaption-btn {
|
||||
background-color: #118d81 !important;
|
||||
border-color: #22857b;
|
||||
box-shadow: 2px 0px 5px #7b7171;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] > .editor-btn-container .group > .self-adaption-btn {
|
||||
box-shadow: 2px 0px 5px #303030;
|
||||
}
|
||||
|
||||
.select2-dropdown.mixly-{{d.mId}} li {
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] select + .select2 > .selection > .select2-selection {
|
||||
border-radius: 3px !important;
|
||||
outline: 0;
|
||||
-webkit-appearance: none;
|
||||
transition: all .3s;
|
||||
-webkit-transition: all .3s;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection {
|
||||
background-color: #009f90;
|
||||
border-color: #009f90;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection {
|
||||
background-color: var(--lay-color-fill-2);
|
||||
border-color: var(--lay-color-border-1);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection:hover {
|
||||
border-color: #037a6f;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection:hover {
|
||||
border-color: #1f1f1f;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection > .select2-selection__rendered {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection > .select2-selection__arrow b {
|
||||
border-color: #fff transparent transparent transparent;
|
||||
}
|
||||
|
||||
ul[m-id="{{d.mId}}"] .select2-container--open > .selection > .select2-selection > .select2-selection__arrow b {
|
||||
border-color: transparent transparent #fff transparent;
|
||||
}
|
||||
</style>
|
||||
<ul class="layui-nav" lay-filter="nav-filter" m-id="{{d.mId}}" lay-bar="disabled">
|
||||
<div>
|
||||
<!--自适应时显示的按钮-->
|
||||
<div class="left-btn-container">
|
||||
<!--返回主页面按钮-->
|
||||
<button
|
||||
type="button"
|
||||
m-id="home-btn"
|
||||
class="layui-btn layui-btn-xs layui-btn-primary mixly-nav"
|
||||
>Mixly</button>
|
||||
</div>
|
||||
<!--自适应时的更多按钮-->
|
||||
<li class="layui-nav-item mixly-scrollbar" style="display:none;" lay-unselect>
|
||||
<a style="white-space: nowrap;">{{ d.more }}</a>
|
||||
<dl class="layui-nav-child left-btn-ext-container">
|
||||
<!-- 二级菜单 -->
|
||||
</dl>
|
||||
</li>
|
||||
</div>
|
||||
<div class="editor-btn-container">
|
||||
<a class="copyright">Copyright © Mixly Team@BNU, CHINA</a>
|
||||
</div>
|
||||
<div class="right-area">
|
||||
<div class="right-btn-container"></div>
|
||||
<div class="dropdown-container"></div>
|
||||
<div class="right-menu-container"></div>
|
||||
</div>
|
||||
</ul>
|
||||
13
mixly/common/templates/html/nav/port-selector-div.html
Normal file
13
mixly/common/templates/html/nav/port-selector-div.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<style>
|
||||
.select2-dropdown.mixly-{{d.mId}} {
|
||||
width: 100% !important;
|
||||
transform: translate(calc(-50% + 50px), calc((var(--nav-height) - var(--nav-select-height)) / 2));
|
||||
}
|
||||
|
||||
body > .select2-container:has(.mixly-{{d.mId}}) {
|
||||
animation-duration: 0.3s;
|
||||
animation-fill-mode: both;
|
||||
animation-name: layui-upbit;
|
||||
}
|
||||
</style>
|
||||
<select m-id={{d.mId}} id="ports-type"></select>
|
||||
11
mixly/common/templates/html/nav/shadow.html
Normal file
11
mixly/common/templates/html/nav/shadow.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
bottom: 0px;
|
||||
top: var(--nav-height);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}"></div>
|
||||
26
mixly/common/templates/html/parse-mix-error-div.html
Normal file
26
mixly/common/templates/html/parse-mix-error-div.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<div id="parse-mix-error-div" style="width:100%;height:100%;">
|
||||
<style type="text/css">
|
||||
html[data-bs-theme=dark] #parse-mix-error-div > div:nth-child(3) {
|
||||
border-top:1px solid #454343;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #parse-mix-error-div > div:nth-child(3) {
|
||||
border-top:1px solid #eee;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="parse-mix-error-filter" style="position:absolute;left:0px;width:100%;top:0px;bottom:5px;overflow-y:auto;">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12" style="padding:5px;">
|
||||
<blockquote class="layui-elem-quote layui-quote-nm" style="padding:5px;height:115px;overflow-y:auto;user-select: text;">{{-d.text}}</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div style="text-align:center;">
|
||||
<button class="layui-btn layui-btn-normal parse-mix-error-btn" m-id="0">{{d.btn1Name}}</button>
|
||||
<button class="layui-btn layui-btn-normal parse-mix-error-btn" m-id="1">{{d.btn2Name}}</button>
|
||||
<button class="layui-btn layui-btn-normal parse-mix-error-btn" m-id="2">{{d.btn3Name}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="position:absolute;bottom:0px;left:0px;height:5px;width:100%;"></div>
|
||||
</div>
|
||||
18
mixly/common/templates/html/progress-bar-div.html
Normal file
18
mixly/common/templates/html/progress-bar-div.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card layui-panel" id="{{d.panelId}}">
|
||||
<div class="layui-card-header">{{d.name}}</div>
|
||||
<div class="layui-card-body">
|
||||
<div style="padding: 0px;position: relative;height: 25px;">
|
||||
<div class="layui-progress" lay-filter="{{d.progressFilter}}" lay-showPercent="yes" style="position: absolute;left: 5px;right: 25px;top: 12px;display: inline-block;">
|
||||
<div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
|
||||
</div>
|
||||
<div style="display: inline-block;position: absolute;right: 5px;top: 2px;">
|
||||
<i id="{{d.progressStatusId}}" class="progress-status layui-icon layui-icon-close-fill"
|
||||
style="font-size: 15px; color: #1E9FFF;"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
215
mixly/common/templates/html/read-bitmap-div.html
Normal file
215
mixly/common/templates/html/read-bitmap-div.html
Normal file
@@ -0,0 +1,215 @@
|
||||
<div id="read-bitmap-div">
|
||||
<style type="text/css">
|
||||
/* 设置滚动条宽高 */
|
||||
#read-bitmap-div ::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
/* 设置滚动条滑槽 */
|
||||
#read-bitmap-div ::-webkit-scrollbar-track {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* 设置滚动条滑块 */
|
||||
html[data-bs-theme=light] #read-bitmap-div ::-webkit-scrollbar-thumb {
|
||||
background-color: #C3C1C1;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #read-bitmap-div ::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #AEB2AF;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #read-bitmap-div ::-webkit-scrollbar-thumb:active {
|
||||
background-color: #989998;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #read-bitmap-div ::-webkit-scrollbar-thumb {
|
||||
background-color: #989998;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #read-bitmap-div ::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #AEB2AF;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #read-bitmap-div ::-webkit-scrollbar-thumb:active {
|
||||
background-color: #C3C1C1;
|
||||
}
|
||||
|
||||
#read-bitmap-div > div {
|
||||
|
||||
}
|
||||
|
||||
#test-bitmap-form label {
|
||||
height: 25px;
|
||||
line-height: 8px;
|
||||
}
|
||||
|
||||
#test-bitmap-form input {
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
#test-bitmap-form .layui-input-block {
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
bottom: 15px;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div > div:nth-child(1) {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div > div:nth-child(2) {
|
||||
position: absolute;
|
||||
left: 100px;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div > div:nth-child(2) > div:nth-child(1) {
|
||||
border-width: 1px 0.5px 1px 1px !important;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div > div:nth-child(2) > div:nth-child(2) {
|
||||
border-width: 1px 1px 1px 0.5px !important;
|
||||
}
|
||||
|
||||
#read-bitmap-div-img-container > div > div:nth-child(2) > div {
|
||||
position: relative;
|
||||
width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #read-bitmap-div-img-container > div > div:nth-child(2) > div {
|
||||
border: solid #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #read-bitmap-div-img-container > div > div:nth-child(2) > div {
|
||||
border: solid #000;
|
||||
}
|
||||
|
||||
#read-bitmap-div-message {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 15px;
|
||||
font-size: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] #read-bitmap-div-message {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] #read-bitmap-div-message {
|
||||
background-color: #eee;
|
||||
}
|
||||
</style>
|
||||
<div id="read-bitmap-div-img-container">
|
||||
<div>
|
||||
<div>
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item layui-form-text" style="margin-bottom: 0px;">
|
||||
<label class="layui-form-label">宽度</label>
|
||||
<input type="text" name="title" autocomplete="off" class="layui-input" value="100" m-id="0">
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">高度</label>
|
||||
<input type="text" name="title" autocomplete="off" class="layui-input" value="100" m-id="1">
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="margin-bottom: 5px;">
|
||||
<div class="layui-input-block" style="width: 100%;">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-xs" m-id="0">{{d.btn1Name}}</button>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-xs" m-id="1">{{d.btn2Name}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div style="
|
||||
position: absolute;
|
||||
flex-direction: column;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
">
|
||||
<h6>输入图像</h6>
|
||||
</div>
|
||||
<div style="
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
">
|
||||
<div id="read-bitmap-div-input-img" style="
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style="
|
||||
position: absolute;
|
||||
flex-direction: column;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
">
|
||||
<h6>输出图像</h6>
|
||||
</div>
|
||||
<div style="
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
">
|
||||
<div id="read-bitmap-div-output-img" style="
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="read-bitmap-div-message">
|
||||
</div>
|
||||
</div>
|
||||
57
mixly/common/templates/html/search-div.html
Normal file
57
mixly/common/templates/html/search-div.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
height: 33px;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > input {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
right: 2px;
|
||||
height: 30px;
|
||||
width: auto;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > input {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > input:focus {
|
||||
border-color: var(--app-light-color) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > input:focus {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > i {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 10px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > i.disabled {
|
||||
color: #c7cbcf;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > i.disabled {
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="{{d.search}}"
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"
|
||||
class="layui-input"
|
||||
>
|
||||
<i class="codicon-search-fuzzy layui-anim disabled"></i>
|
||||
</div>
|
||||
14
mixly/common/templates/html/selector-div.html
Normal file
14
mixly/common/templates/html/selector-div.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<div class="layui-form" id="mixly-selector-div" style="display: none;">
|
||||
<div class="layui-form-item">
|
||||
<div id="mixly-selector-type-div">
|
||||
<select id="mixly-selector-type">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div style="text-align:center;">
|
||||
<button id="mixly-selector-btn1" class="layui-btn layui-btn-normal" onclick="">{{d.btn1Name}}</button>
|
||||
<button id="mixly-selector-btn2" class="layui-btn layui-btn-normal" onclick="">{{d.btn2Name}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
135
mixly/common/templates/html/serial-tool.html
Normal file
135
mixly/common/templates/html/serial-tool.html
Normal file
@@ -0,0 +1,135 @@
|
||||
<div id="{{ d.moveId }}" style="height: 10px;width: 100%;"></div>
|
||||
<div class="layui-tab mixly-scrollbar" lay-filter="{{ d.tabFilter }}" lay-unauto style="width: 100%;height: 100%;margin-top: 0px;margin-bottom: 0px;position: relative;">
|
||||
<ul class="layui-tab-title" style="position: absolute;left: 0px;top: 0px;height: 40px;right: 0px;">
|
||||
<li class="layui-this" lay-id="0">{{ d.Msg.monitor }}</li>
|
||||
<li lay-id="1">{{ d.Msg.visualization }}</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="position: absolute;left: 0px;top: 40px;bottom: 10px;right: 0px;overflow: auto;padding-bottom: 0px;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label" style="height: 44px;padding-top: 1px;padding-bottom: 1px;">
|
||||
<p style="display:inline;">{{ d.Msg.serial }}</p>
|
||||
<input style="display:none;">
|
||||
<input id="{{ d.setDtrId }}" type="checkbox" title="DTR" lay-filter="{{ d.setDtrFilter }}" lay-skin="primary" {{ d.dtr }}>
|
||||
<input id="{{ d.setRtsId }}" type="checkbox" title="RTS" lay-filter="{{ d.setRtsFilter }}" lay-skin="primary" {{ d.rts }}>
|
||||
</label>
|
||||
<div style="position: relative; height: 38px;">
|
||||
<div style="position: absolute; left: 0px; right: 64px;">
|
||||
<div class="layui-input-inline" style="width:50%;clear:none;">
|
||||
<select id="{{ d.selectPortId }}" lay-verify="required" lay-filter="{{ d.selectPortFilter }}"></select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:50%;clear:none;">
|
||||
<select id="{{ d.selectBaudId }}" lay-filter="{{ d.selectBaudFilter }}">
|
||||
{{# layui.each(d.baudRates, function(index, baud) { }}
|
||||
{{# if (baud === d.selectedBaud) { }}
|
||||
<option value="{{ baud }}" selected>{{ baud }}</option>
|
||||
{{# } else { }}
|
||||
<option value="{{ baud }}">{{ baud }}</option>
|
||||
{{# } }}
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button id="{{ d.connectBtnId }}" class="layui-btn layui-btn-normal" style="position: absolute; right: 0px; width: 64px;" lay-filter="{{ d.connectBtnFilter }}">{{ d.Msg.open }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label" style="height: 44px;padding-top: 1px;padding-bottom: 1px;">
|
||||
<p style="display:inline;">{{ d.Msg.sendData }}</p>
|
||||
<input style="display:none;">
|
||||
<input id="{{ d.sendTypeId }}" type="checkbox" title="{{ d.Msg.string }}" lay-filter="{{ d.sendTypeFilter }}" lay-skin="primary" checked>
|
||||
</label>
|
||||
<div style="position: relative; height: 38px;">
|
||||
<div class="layui-input-inline" style="position: absolute; right: 128px; left: 0px;clear: none;">
|
||||
<input id="{{ d.sendId }}" type="text" name="title" placeholder="{{ d.Msg.input }}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="position: absolute; right: 64px; width: 64px;clear: none;">
|
||||
<select id="{{ d.sendWithId }}" lay-filter="{{ d.sendWithFilter }}">
|
||||
<option value="no">no</option>
|
||||
<option value="\n">\n</option>
|
||||
<option value="\r">\r</option>
|
||||
<option value="\r\n" selected>\r\n</option>
|
||||
</select>
|
||||
</div>
|
||||
<button id="{{ d.sendBtnId }}" class="layui-btn layui-btn-normal" style="position: absolute; right: 0px; width: 64px;">{{ d.Msg.send }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label" style="height: 44px;padding-top: 1px;padding-bottom: 1px;">
|
||||
<p style="display:inline;">{{ d.Msg.receiveData }}</p>
|
||||
<input style="display:none;">
|
||||
<input id="{{ d.receiveTypeId }}" type="checkbox" title="{{ d.Msg.string }}" lay-filter="{{ d.receiveTypeFilter }}" lay-skin="primary" checked>
|
||||
<input id="{{ d.scrollId }}" type="checkbox" title="{{ d.Msg.scroll }}" lay-filter="{{ d.scrollFilter }}" lay-skin="primary" checked>
|
||||
</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea
|
||||
readonly
|
||||
id="{{ d.receiveId }}"
|
||||
name="desc"
|
||||
wrap="off"
|
||||
spellcheck="false"
|
||||
placeholder="{{ d.output }}"
|
||||
class="layui-textarea"
|
||||
style="height: 220px;"
|
||||
></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div style="text-align: center;">
|
||||
<button id="{{ d.clearBtnId }}" class="layui-btn layui-btn-danger">{{ d.Msg.clear }}</button>
|
||||
{{# if (d.ctrlCBtn) { }}
|
||||
<button id="{{ d.ctrlCBtnId }}" class="layui-btn layui-btn-danger">{{ d.Msg.interrupt }}</button>
|
||||
{{# } }}
|
||||
{{# if (d.ctrlDBtn) { }}
|
||||
<button id="{{ d.ctrlDBtnId }}" class="layui-btn layui-btn-danger">{{ d.Msg.reset }}</button>
|
||||
{{# } }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-input-inline" style="width:15%;clear:none;">
|
||||
<label class="layui-form-label">{{ d.Msg.min }}</label>
|
||||
<input id="{{ d.yMinId }}" type="text" name="title" autocomplete="off" class="layui-input" value="{{ d.yMin }}">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:15%;clear:none;">
|
||||
<label class="layui-form-label">{{ d.Msg.max }}</label>
|
||||
<input id="{{ d.yMaxId }}" type="text" name="title" autocomplete="off" class="layui-input" value="{{ d.yMax }}">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:15%;clear:none;">
|
||||
<label class="layui-form-label">{{ d.Msg.pointNum }}</label>
|
||||
<select id="{{ d.pointNumId }}" lay-filter="{{ d.selectPointNumFilter }}">
|
||||
{{# for (var pointNum of d.pointList) { }}
|
||||
{{# if (pointNum === d.pointNum) { }}
|
||||
<option value="{{ pointNum }}" selected>{{ pointNum }}</option>
|
||||
{{# } else { }}
|
||||
<option value="{{ pointNum }}">{{ pointNum }}</option>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:55%;clear:none;">
|
||||
<label class="layui-form-label">{{ d.Msg.sendData }}</label>
|
||||
<div style="position: relative;width: 100%;height: 38px;">
|
||||
<div class="layui-input-inline" style="position: absolute;left: 0px;right: 128px;clear: none;bottom: 0px;top: 0px;">
|
||||
<input id="{{ d.chartSendId }}" type="text" name="title" placeholder="{{ d.Msg.input }}" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="position: absolute;right: 64px;width: 64px;clear: none;bottom: 0px;top: 0px;">
|
||||
<select id="{{ d.chartSendWithId }}">
|
||||
<option value="no">no</option>
|
||||
<option value="\n">\n</option>
|
||||
<option value="\r">\r</option>
|
||||
<option value="\r\n" selected>\r\n</option>
|
||||
</select>
|
||||
</div>
|
||||
<button id="{{ d.chartSendBtnId }}" class="layui-btn layui-btn-normal" style="position: absolute;right: 0px;width: 64px;">{{ d.Msg.send }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="padding-top: 25px;">
|
||||
<div id="{{ d.dataDrawId }}" style="width: 100%;overflow-x: auto;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .tabs {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 23px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .body {
|
||||
position: absolute;
|
||||
left: 23px;
|
||||
right: 0px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="tabs"></div>
|
||||
<div class="body"></div>
|
||||
</div>
|
||||
80
mixly/common/templates/html/sidebar/left-sidebars-tab.html
Normal file
80
mixly/common/templates/html/sidebar/left-sidebars-tab.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 23px;
|
||||
z-index: 3;
|
||||
padding: 0px;
|
||||
border-width: 0px 1px 0px 0px;
|
||||
border-style: solid;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
background-color: #f8f8f8;
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
background-color: #252526;
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .x-scrollbar__content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: unset;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-background {
|
||||
top: 1px;
|
||||
bottom: 1px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab[active] > .chrome-tab-background {
|
||||
border-width: 0 0 0 2px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-content {
|
||||
padding: 2px 0;
|
||||
height: fit-content;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-content > .chrome-tab-title {
|
||||
writing-mode: tb-rl;
|
||||
overflow: visible;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
}
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers::before,
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers::after {
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 0.5px;
|
||||
width: 100%;
|
||||
background: #a9adb0;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="chrome-tabs">
|
||||
<div class="chrome-tabs-content">
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .body {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
right: 23px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .tabs {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
width: 23px;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="body"></div>
|
||||
<div class="tabs"></div>
|
||||
</div>
|
||||
80
mixly/common/templates/html/sidebar/right-sidebars-tab.html
Normal file
80
mixly/common/templates/html/sidebar/right-sidebars-tab.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 23px;
|
||||
z-index: 3;
|
||||
padding: 0px;
|
||||
border-width: 0px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
background-color: #f8f8f8;
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
background-color: #252526;
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .x-scrollbar__content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: unset;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-background {
|
||||
top: 1px;
|
||||
bottom: 1px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab[active] > .chrome-tab-background {
|
||||
border-width: 0 2px 0 0;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-content {
|
||||
padding: 2px 0;
|
||||
height: fit-content;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-content > .chrome-tab-title {
|
||||
writing-mode: tb-rl;
|
||||
overflow: visible;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
}
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers::before,
|
||||
div[m-id="{{d.mId}}"] .chrome-tab > .chrome-tab-dividers::after {
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 0.5px;
|
||||
width: 100%;
|
||||
background: #a9adb0;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="chrome-tabs">
|
||||
<div class="chrome-tabs-content">
|
||||
</div>
|
||||
</div>
|
||||
75
mixly/common/templates/html/sidebar/sidebar-libs.html
Normal file
75
mixly/common/templates/html/sidebar/sidebar-libs.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .layui-panel {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .layui-panel > .background {
|
||||
width: 100%;
|
||||
padding: 32px;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .layui-panel > .background {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .layui-panel > .background {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .layui-panel > .background:focus {
|
||||
border-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .layui-panel > .background:focus {
|
||||
border-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .layui-panel > .background:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .layui-panel > .background:hover {
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .layui-panel > .content {
|
||||
padding: 32px;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
</style>
|
||||
<div m-id={{d.mId}}>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > button {
|
||||
margin: 15px;
|
||||
max-width: 200px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #fff !important;
|
||||
height: 25px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<button class="layui-btn layui-btn-xs m-btn self-adaption-btn">打开文件夹</button>
|
||||
</div>
|
||||
122
mixly/common/templates/html/sidebar/sidebar-local-storage.html
Normal file
122
mixly/common/templates/html/sidebar/sidebar-local-storage.html
Normal file
@@ -0,0 +1,122 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .progress {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 3px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .progress,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .progress .bar-bg {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .progress,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .progress .bar-bg {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .progress > .ui-mprogress > .indeter-bar {
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .progress > .ui-mprogress > .indeter-bar {
|
||||
background-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .folder-title:focus {
|
||||
background: #d7daeb;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .folder-title:focus {
|
||||
background: #5a5959;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > * {
|
||||
line-height: 24px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .mixly-icon.triangle {
|
||||
font-size: 15px !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .mixly-icon.folder:before {
|
||||
margin: 0 0.2em;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .folder-title > .name {
|
||||
font-family: Segoe WPC,Segoe UI,Microsoft YaHei,sans-serif;
|
||||
font-size: 12px !important;
|
||||
padding-left: 2px;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .children {
|
||||
position: absolute;
|
||||
top: 27px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .children .jstree,
|
||||
div[m-id="{{d.mId}}"] > .children .jstree-container-ul {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .jstree-container-ul > .jstree-node {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .jstree-node > .jstree-wholerow {
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .folder-title.active,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .jstree-node.active > .jstree-wholerow {
|
||||
border-color: var(--app-light-color) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .folder-title.active,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .jstree-node.active > .jstree-wholerow {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="progress"></div>
|
||||
<button type="root" class="folder-title layui-btn layui-btn-xs layui-btn-primary">
|
||||
<i class="mixly-icon triangle codicon-chevron-right"></i>
|
||||
<i class="mixly-icon folder foldericon-root-default"></i>
|
||||
<p class="name"></p>
|
||||
</button>
|
||||
<div class="children"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > div {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > div {
|
||||
background: url('../common/css/svg/empty/empty-light.svg');
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > div {
|
||||
background: url('../common/css/svg/empty/empty-dark.svg');
|
||||
background-size: 100% auto;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="page-item">
|
||||
<div></div>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > button {
|
||||
margin: 15px;
|
||||
max-width: 200px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #fff !important;
|
||||
height: 25px;
|
||||
border-radius: 0;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<button class="layui-btn layui-btn-xs m-btn self-adaption-btn">
|
||||
<i class="usb icon"></i>{{ d.loadBoardFS }}
|
||||
</button>
|
||||
</div>
|
||||
31
mixly/common/templates/html/statusbar/statusbar-ampy.html
Normal file
31
mixly/common/templates/html/statusbar/statusbar-ampy.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .file-tree {
|
||||
width: 15%;
|
||||
height: 100%;
|
||||
border-right-width: 1px;
|
||||
border-right-style: solid;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .file-tree {
|
||||
border-right-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .file-tree {
|
||||
border-right-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .editor {
|
||||
width: 85%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="page-item">
|
||||
<div class="file-tree"></div>
|
||||
<div class="editor"></div>
|
||||
</div>
|
||||
142
mixly/common/templates/html/statusbar/statusbar-fs-panel.html
Normal file
142
mixly/common/templates/html/statusbar/statusbar-fs-panel.html
Normal file
@@ -0,0 +1,142 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
height: fit-content;
|
||||
margin: 0px 20px 20px 20px;
|
||||
font-weight: bold;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] input {
|
||||
font-family: Consolas, "Courier New", monospace;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
box-shadow: 0 0 5px 1px #ddd;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
box-shadow: 0 0 5px 1px #111;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] input:focus,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] select:focus {
|
||||
border-color: var(--app-light-color) !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] input:focus,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] select:focus {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-header {
|
||||
position: relative;
|
||||
padding: 5px 0px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-header > .layui-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 7px;
|
||||
top: 7px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-header > .progress {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
height: 3px;
|
||||
width: 100%;
|
||||
border-radius: 0;
|
||||
display: none;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-header > .progress > .bar {
|
||||
height: 100%;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .card-header > .progress > .bar {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .card-header > .progress > .bar {
|
||||
background-color: #1e1e1e !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-header > .progress > .bar::before {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .card-header > .progress > .bar::before {
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .card-header > .progress > .bar::before {
|
||||
background-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-body {
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-body .input-group {
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .card-body .input-group .input-group-text {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .select2 > .selection * {
|
||||
background: transparent;
|
||||
text-align: left;
|
||||
font-weight: 400;
|
||||
color: var(--bs-body-color) !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .select2 > .selection > .select2-selection {
|
||||
border-radius: 0.25rem;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border: var(--bs-border-width) solid var(--bs-border-color);
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="card text-center">
|
||||
<div class="card-header">
|
||||
{{ d.mapFolder }}
|
||||
<i class="close-btn layui-icon layui-icon-close"></i>
|
||||
<div class="ui swinging indeterminate progress">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-sm-4 mb-3">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.comment }}</span>
|
||||
<input class="form-control form-control-sm" type="text" placeholder="{{ d.commentInfo }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3 mb-3">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.filesystem }}</span>
|
||||
<select class="fs-type form-select"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5 mb-3">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.path }}</span>
|
||||
<input class="folder-input form-control form-control-sm" type="text" placeholder="{{ d.mapFolder }}" disabled>
|
||||
<button type="button" class="folder-btn btn btn-primary btn-sm self-adaption-btn m-btn">{{ d.selectFolder }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center">
|
||||
<button class="download-btn btn btn-primary btn-sm self-adaption-btn m-btn" type="button">{{ d.download }}</button>
|
||||
<button class="upload-btn btn btn-primary btn-sm self-adaption-btn m-btn" type="button">{{ d.upload }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
34
mixly/common/templates/html/statusbar/statusbar-fs.html
Normal file
34
mixly/common/templates/html/statusbar/statusbar-fs.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<style>
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] * {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] * {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
padding: 20px 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .mask {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: transparent !important;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="mixly-scrollbar page-item">
|
||||
<div class="content">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center">
|
||||
<button class="manage-btn btn btn-primary btn-sm self-adaption-btn m-btn" type="button">{{ d.new }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mask"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,88 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .menu {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .menu > .cloud {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .menu .layui-panel {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .menu .layui-panel > .background {
|
||||
width: 100%;
|
||||
padding: 32px;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background:focus {
|
||||
border-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background:focus {
|
||||
border-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .menu .layui-panel > .background:hover {
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .menu .layui-panel > .content {
|
||||
padding: 32px;
|
||||
border: 1px solid;
|
||||
border-color: transparent;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" lay-filter="{{d.mId}}" class="page-item mixly-scrollbar">
|
||||
<div class="menu">
|
||||
<div class="local">
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">本地导入</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cloud">
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
<div class="layui-panel panel-item">
|
||||
<button class="background">面板任意内容</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,113 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .item {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .col-sm-4 {
|
||||
width: 240px;
|
||||
margin-top: 0px;
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting {
|
||||
top: 0px;
|
||||
font-weight: bold;
|
||||
margin: 10px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting * {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting * {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting input:focus,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting select:focus {
|
||||
border-color: var(--app-light-color) !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting input:focus,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting select:focus {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting .input-group {
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting .input-group .input-group-text {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting .select2 > .selection * {
|
||||
background: transparent;
|
||||
text-align: left;
|
||||
font-weight: 400;
|
||||
color: var(--bs-body-color) !important;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting .select2 > .selection > .select2-selection {
|
||||
border-radius: 0.25rem;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border: var(--bs-border-width) solid var(--bs-border-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .figure {
|
||||
top: 40px;
|
||||
bottom: 0px;
|
||||
min-height: 80px;
|
||||
margin: 0 0 10px 10px
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .figure {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .figure {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="page-item mixly-scrollbar">
|
||||
<div class="item setting row g-3">
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.pointsNum }}</span>
|
||||
<select class="point-num form-select">
|
||||
<option value="100" selected>100</option>
|
||||
<option value="200">200</option>
|
||||
<option value="300">300</option>
|
||||
<option value="400">400</option>
|
||||
<option value="500">500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.yMin }}</span>
|
||||
<input class="y-min form-control form-control-sm" type="text" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group flex-nowrap input-group-sm">
|
||||
<span class="input-group-text">{{ d.yMax }}</span>
|
||||
<input class="y-max form-control form-control-sm" type="text" value="100">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item figure"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,77 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting {
|
||||
position: absolute;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
top: 5px;
|
||||
right: 10px;
|
||||
width: fit-content;
|
||||
height: 23px;
|
||||
z-index: 1;
|
||||
border-radius: 2px;
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .setting label {
|
||||
height: 18px;
|
||||
font-size: 11px;
|
||||
padding: 2px;
|
||||
margin: 2px;
|
||||
line-height: 15px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting label {
|
||||
border-color: #c9c9c9;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting label {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting .m-btn:hover,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .setting .btn-check:checked+.btn {
|
||||
background-color: var(--app-light-color);
|
||||
border-color: var(--app-light-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting .m-btn:hover,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .setting .btn-check:checked+.btn {
|
||||
background-color: var(--app-dark-color);
|
||||
border-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .body {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="page-item">
|
||||
<div class="setting">
|
||||
<label class="empty m-btn btn btn-outline-primary">{{ d.empty }}</label><br>
|
||||
<input type="checkbox" class="btn-check scroll" id="{{ d.mId }}-scroll" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-scroll">{{ d.scroll }}</label><br>
|
||||
<input type="checkbox" class="btn-check timestamp" id="{{ d.mId }}-timestamp" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-timestamp">{{ d.timestamp }}</label><br>
|
||||
<input type="checkbox" class="btn-check hex" id="{{ d.mId }}-hex" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-hex">HEX</label><br>
|
||||
</div>
|
||||
<div class="body"></div>
|
||||
</div>
|
||||
177
mixly/common/templates/html/statusbar/statusbar-serial.html
Normal file
177
mixly/common/templates/html/statusbar/statusbar-serial.html
Normal file
@@ -0,0 +1,177 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .content {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 25px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
height: 25px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send > .box {
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
font-size: 13px;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send > .box > input {
|
||||
font-family: Consolas, "Courier New", monospace;
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
padding-left: 5px;
|
||||
padding-right: 100px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send > .box > .setting {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send > .box > .setting label {
|
||||
height: 18px;
|
||||
font-size: 11px;
|
||||
padding: 2px;
|
||||
margin: auto 5px auto 0px;
|
||||
line-height: 15px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > .box > .setting label {
|
||||
border-color: #c9c9c9;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > .box > .setting label {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > .box > .setting .btn-check:checked+.btn {
|
||||
background-color: var(--app-light-color);
|
||||
border-color: var(--app-light-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > .box > .setting .btn-check:checked+.btn {
|
||||
background-color: var(--app-dark-color);
|
||||
border-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send > .select2 {
|
||||
border-style: solid;
|
||||
border-width: 1px 1px 1px 0;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > *,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > .box > input,
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send .select2-selection--single {
|
||||
border-color: #c9c9c9;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > *,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > .box > input,
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send .select2-selection--single {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send .select2-selection--single {
|
||||
height: 23px;
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .send .select2-selection--single > span {
|
||||
height: 23px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > .setting-menu > option:checked {
|
||||
color: white;
|
||||
background-color: var(--app-light-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > .setting-menu > option:checked {
|
||||
color: white;
|
||||
background-color: var(--app-dark-color);
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .send > .box > input:focus {
|
||||
border-color: var(--app-light-color) !important;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .send > .box > input:focus {
|
||||
border-color: var(--app-dark-color) !important;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{ d.mId }}">
|
||||
<div class="content"></div>
|
||||
<div class="send">
|
||||
<div class="box">
|
||||
<input type="text" placeholder="{{d.sendInfo}}" autocomplete="off" disabled>
|
||||
<div class="setting">
|
||||
<input type="checkbox" class="btn-check hex" id="{{ d.mId }}-hex" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-hex">HEX</label><br>
|
||||
<input type="checkbox" class="btn-check dtr" id="{{ d.mId }}-dtr" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-dtr">DTR</label><br>
|
||||
<input type="checkbox" class="btn-check rts" id="{{ d.mId }}-rts" autocomplete="off">
|
||||
<label class="btn btn-outline-primary" for="{{ d.mId }}-rts">RTS</label><br>
|
||||
</div>
|
||||
</div>
|
||||
<select data-id="send-with" class="setting-menu" style="width: 60px;">
|
||||
<option value="no">no</option>
|
||||
<option value="\n">\n</option>
|
||||
<option value="\r">\r</option>
|
||||
<option value="\r\n" selected>\r\n</option>
|
||||
</select>
|
||||
<select data-id="baud" class="setting-menu" style="margin-right: 2px;border-right-width: 0;width: 90px;">
|
||||
<option value="300">300</option>
|
||||
<option value="600">600</option>
|
||||
<option value="750">750</option>
|
||||
<option value="1200">1200</option>
|
||||
<option value="2400">2400</option>
|
||||
<option value="4800">4800</option>
|
||||
<option value="9600" selected>9600</option>
|
||||
<option value="19200">19200</option>
|
||||
<option value="31250">31250</option>
|
||||
<option value="38400">38400</option>
|
||||
<option value="57600">57600</option>
|
||||
<option value="74880">74880</option>
|
||||
<option value="115200">115200</option>
|
||||
<option value="230400">230400</option>
|
||||
<option value="250000">250000</option>
|
||||
<option value="460800">460800</option>
|
||||
<option value="500000">500000</option>
|
||||
<option value="921600">921600</option>
|
||||
<option value="1000000">1000000</option>
|
||||
<option value="2000000">2000000</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .tabs {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .body {
|
||||
position: absolute;
|
||||
top: 24px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] > .body {
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="tabs"></div>
|
||||
<div class="body"></div>
|
||||
</div>
|
||||
63
mixly/common/templates/html/statusbar/statusbars-tab.html
Normal file
63
mixly/common/templates/html/statusbar/statusbars-tab.html
Normal file
@@ -0,0 +1,63 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
height: 24px;
|
||||
z-index: 3;
|
||||
padding: 0px;
|
||||
border-width: 1px 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] {
|
||||
background-color: #f8f8f8;
|
||||
border-color: #c9c9c9;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] {
|
||||
background-color: #252526;
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .chrome-tabs-content {
|
||||
width: unset;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .x-scrollbar__content {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .operation > button {
|
||||
padding: 0 3px;
|
||||
margin: 2px;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] > .statusbar-close {
|
||||
position: absolute;
|
||||
right: 2px;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}" class="chrome-tabs">
|
||||
<div class="chrome-tabs-content">
|
||||
</div>
|
||||
<div class="operation statusbar-dropdown-menu">
|
||||
<button type="button" class="layui-btn layui-btn-xs m-btn tab-btn statusbar-btn">
|
||||
<i class="layui-icon layui-icon-addition"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="operation statusbar-close">
|
||||
<button type="button" class="layui-btn layui-btn-xs m-btn tab-btn statusbar-btn">
|
||||
<i class="layui-icon layui-icon-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
103
mixly/common/templates/html/workspace.html
Normal file
103
mixly/common/templates/html/workspace.html
Normal file
@@ -0,0 +1,103 @@
|
||||
<style>
|
||||
div[m-id="{{d.mId}}"] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-around;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-item {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-v-left {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-v-right {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .sidebars-container {
|
||||
position: relative;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
z-index: 3;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .sidebars-container > .sidebars {
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .sidebars-container > .left-sidebars {
|
||||
border-width: 0px 1px 0px 0px;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .sidebars-container > .right-sidebars {
|
||||
border-width: 0px 0px 0px 1px;
|
||||
}
|
||||
|
||||
html[data-bs-theme=light] div[m-id="{{d.mId}}"] .sidebars-container > .sidebars {
|
||||
border-color: #c9c9c9;
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
html[data-bs-theme=dark] div[m-id="{{d.mId}}"] .sidebars-container > .sidebars {
|
||||
border-color: rgba(128, 128, 128, 0.35);
|
||||
background-color: #252526;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-h {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-h > .editors {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div[m-id="{{d.mId}}"] .drag-h > .statusbars {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 0%;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div m-id="{{d.mId}}">
|
||||
<div class="drag-v-left">
|
||||
<div class="sidebars-container">
|
||||
<div class="sidebars left-sidebars"></div>
|
||||
</div>
|
||||
<div class="drag-item">
|
||||
<div class="drag-v-right">
|
||||
<div class="drag-item">
|
||||
<div class="drag-h">
|
||||
<div class="editors"></div>
|
||||
<div class="statusbars"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebars-container">
|
||||
<div class="sidebars right-sidebars"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
171
mixly/common/templates/json/ace-mode-map.json
Normal file
171
mixly/common/templates/json/ace-mode-map.json
Normal file
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"abap": [".abap"],
|
||||
"abc": [".abc"],
|
||||
"actionscript": [".as"],
|
||||
"ada": [".ada", ".adb", ".ads"],
|
||||
"alda": [".alda"],
|
||||
"apex": [".apex"],
|
||||
"aql": [".aql"],
|
||||
"asciidoc": [".adoc", ".asciidoc"],
|
||||
"asl": [".dsl", ".asl"],
|
||||
"assembly_x86": [".asm", ".a", ".s"],
|
||||
"autohotkey": [".ahk"],
|
||||
"batchfile": [".bat", ".cmd"],
|
||||
"bro": [".bro"],
|
||||
"c9search": [".c9search_results"],
|
||||
"c_cpp": [".c", ".cpp", ".cc", ".cxx", ".h", ".hh", ".hpp", ".ino"],
|
||||
"cirru": [".cirru", ".cr"],
|
||||
"clojure": [".clj", ".cljs"],
|
||||
"cobol": [".cbl", ".cob"],
|
||||
"coffee": [".coffee", ".cf", ".cson", ".iced"],
|
||||
"coldfusion": [".cfm"],
|
||||
"crystal": [".cr"],
|
||||
"csharp": [".cs"],
|
||||
"csound_document": [".csd"],
|
||||
"csound_orchestra": [".orc"],
|
||||
"csound_score": [".sco"],
|
||||
"css": [".css"],
|
||||
"curly": [".curl"],
|
||||
"d": [".d", ".di"],
|
||||
"dart": [".dart"],
|
||||
"diff": [".diff", ".patch"],
|
||||
"dockerfile": [".dockerfile"],
|
||||
"dot": [".dot"],
|
||||
"drools": [".drl"],
|
||||
"edifact": [".edi"],
|
||||
"eiffel": [".e"],
|
||||
"ejs": [".ejs"],
|
||||
"elixir": [".ex", ".exs"],
|
||||
"elm": [".elm"],
|
||||
"erlang": [".erl", ".hrl"],
|
||||
"forth": [".frt", ".fs", ".ldr", ".fth"],
|
||||
"fortran": [".f", ".f77", ".f90", ".f95", ".f03", ".for", ".fpp"],
|
||||
"fsharp": [".fs", ".fsi", ".ml", ".mli"],
|
||||
"gcode": [".gcode"],
|
||||
"gherkin": [".feature"],
|
||||
"gitignore": [".gitignore"],
|
||||
"glsl": [".glsl", ".frag", ".vert"],
|
||||
"gobstones": [".gbs"],
|
||||
"golang": [".go"],
|
||||
"graphqlschema": [".gql", ".graphql"],
|
||||
"groovy": [".groovy"],
|
||||
"haml": [".haml"],
|
||||
"handlebars": [".hbs", ".handlebars"],
|
||||
"haskell": [".hs"],
|
||||
"haskell_cabal": [".cabal"],
|
||||
"haxe": [".hx"],
|
||||
"hjson": [".hjson"],
|
||||
"html": [".html", ".htm", ".xhtml"],
|
||||
"ini": [".ini", ".cfg", ".prefs"],
|
||||
"io": [".io"],
|
||||
"jack": [".jack"],
|
||||
"jade": [".jade"],
|
||||
"java": [".java"],
|
||||
"javascript": [".js", ".jsm", ".jsx"],
|
||||
"json": [".json"],
|
||||
"json5": [".json5"],
|
||||
"jsoniq": [".jq"],
|
||||
"jsp": [".jsp"],
|
||||
"jssm": [".jssm", ".jssm_state"],
|
||||
"jsx": [".jsx"],
|
||||
"julia": [".jl"],
|
||||
"kotlin": [".kt", ".kts"],
|
||||
"latex": [".tex", ".latex", ".ltx", ".bib"],
|
||||
"less": [".less"],
|
||||
"liquid": [".liquid"],
|
||||
"lisp": [".lisp"],
|
||||
"livescript": [".ls"],
|
||||
"logiql": [".logic", ".lql"],
|
||||
"logtalk": [".logtalk"],
|
||||
"lsl": [".lsl"],
|
||||
"lua": [".lua"],
|
||||
"luapage": [".lp"],
|
||||
"lucene": [".lucene"],
|
||||
"makefile": [".makefile", ".gnumakefile", ".ocamlmakefile", ".make"],
|
||||
"markdown": [".md", ".markdown"],
|
||||
"mask": [".mask"],
|
||||
"matlab": [".matlab"],
|
||||
"maze": [".mz"],
|
||||
"mediawiki": [".wiki", ".mediawiki"],
|
||||
"mel": [".mel"],
|
||||
"mips": [".s", ".asm"],
|
||||
"mithril": [".mjs"],
|
||||
"moonscript": [".moon"],
|
||||
"mysql": [".mysql"],
|
||||
"nginx": [".nginx", ".conf"],
|
||||
"nim": [".nim"],
|
||||
"nix": [".nix"],
|
||||
"nsis": [".nsi", ".nsh"],
|
||||
"nunjucks": [".njk", ".nunjucks"],
|
||||
"objectivec": [".m", ".mm"],
|
||||
"ocaml": [".ml", ".mli"],
|
||||
"pascal": [".pas", ".pp"],
|
||||
"perl": [".pl", ".pm"],
|
||||
"pgsql": [".pgsql"],
|
||||
"php": [".php", ".inc"],
|
||||
"php_laravel_blade": [".blade.php"],
|
||||
"pig": [".pig"],
|
||||
"powershell": [".ps1"],
|
||||
"praat": [".praat", ".praatscript", ".psc", ".proc"],
|
||||
"prisma": [".prisma"],
|
||||
"prolog": [".plg", ".prolog"],
|
||||
"properties": [".properties"],
|
||||
"protobuf": [".proto"],
|
||||
"puppet": [".pp"],
|
||||
"purescript": [".purs"],
|
||||
"python": [".py"],
|
||||
"q": [".q"],
|
||||
"qml": [".qml"],
|
||||
"r": [".r"],
|
||||
"raku": [".raku", ".rakumod", ".rakutest", ".pl6", ".pm6"],
|
||||
"razor": [".cshtml", ".razor"],
|
||||
"rdoc": [".rdoc"],
|
||||
"red": [".red", ".reds"],
|
||||
"rhtml": [".erb", ".rhtml"],
|
||||
"robot": [".robot"],
|
||||
"rst": [".rst"],
|
||||
"ruby": [".rb"],
|
||||
"rust": [".rs"],
|
||||
"sass": [".sass"],
|
||||
"scad": [".scad"],
|
||||
"scala": [".scala"],
|
||||
"scheme": [".scm", ".sm", ".rkt", ".oak"],
|
||||
"scrypt": [".scrypt"],
|
||||
"scss": [".scss"],
|
||||
"sh": [".sh", ".bash", ".bats", ".cgi", ".command", ".fcgi", ".ksh", ".sh.in", ".tmux", ".tool", ".zsh"],
|
||||
"sjs": [".sjs"],
|
||||
"slim": [".slim"],
|
||||
"smarty": [".tpl"],
|
||||
"smithy": [".smithy"],
|
||||
"snippets": [".snippets"],
|
||||
"soy_template": [".soy"],
|
||||
"space": [".space"],
|
||||
"sparql": [".rq"],
|
||||
"sql": [".sql"],
|
||||
"sqlserver": [".sqlserver"],
|
||||
"stylus": [".styl", ".stylus"],
|
||||
"svg": [".svg"],
|
||||
"swift": [".swift"],
|
||||
"tcl": [".tcl"],
|
||||
"terraform": [".tf", ".tfvars", ".terragrunt"],
|
||||
"tex": [".tex"],
|
||||
"text": [".txt"],
|
||||
"textile": [".textile"],
|
||||
"toml": [".toml"],
|
||||
"tsx": [".tsx"],
|
||||
"turtle": [".ttl"],
|
||||
"twig": [".twig"],
|
||||
"typescript": [".ts"],
|
||||
"vala": [".vala"],
|
||||
"vbscript": [".vbs"],
|
||||
"velocity": [".vm"],
|
||||
"verilog": [".v", ".vh", ".sv", ".svh"],
|
||||
"vhdl": [".vhd", ".vhdl"],
|
||||
"visualforce": [".vfp", ".component", ".page"],
|
||||
"wollok": [".wlk", ".wpgm"],
|
||||
"xml": [".xml", ".rdf", ".rss", ".wsdl", ".xslt", ".atom", ".mathml", ".mml", ".xul", ".xbl", ".xaml"],
|
||||
"xquery": [".xq"],
|
||||
"yaml": [".yaml", ".yml"],
|
||||
"zeek": [".zeek"],
|
||||
"zig": [".zig"]
|
||||
}
|
||||
50
mixly/common/templates/json/ace.i18n.zh-hans.json
Normal file
50
mixly/common/templates/json/ace.i18n.zh-hans.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$id": "zh-hans",
|
||||
"autocomplete.popup.aria-roledescription": "自动补全建议",
|
||||
"autocomplete.popup.aria-label": "自动补全建议",
|
||||
"autocomplete.popup.item.aria-roledescription": "项目",
|
||||
"autocomplete.loading": "正在加载...",
|
||||
"editor.scroller.aria-roledescription": "编辑器",
|
||||
"editor.scroller.aria-label": "编辑器内容,按 Enter 开始编辑,按 Esc 退出",
|
||||
"editor.gutter.aria-roledescription": "编辑器边缘",
|
||||
"editor.gutter.aria-label": "编辑器边缘,按 Enter 使用箭头键与控件交互,按 Esc 退出",
|
||||
"error-marker.good-state": "看起来不错!",
|
||||
"prompt.recently-used": "最近使用",
|
||||
"prompt.other-commands": "其他命令",
|
||||
"prompt.no-matching-commands": "没有匹配的命令",
|
||||
"search-box.find.placeholder": "搜索",
|
||||
"search-box.find-all.text": "全部",
|
||||
"search-box.replace.placeholder": "替换为",
|
||||
"search-box.replace-next.text": "替换",
|
||||
"search-box.replace-all.text": "全部",
|
||||
"search-box.toggle-replace.title": "切换替换模式",
|
||||
"search-box.toggle-regexp.title": "正则表达式搜索",
|
||||
"search-box.toggle-case.title": "区分大小写搜索",
|
||||
"search-box.toggle-whole-word.title": "全词搜索",
|
||||
"search-box.toggle-in-selection.title": "在选定内容中搜索",
|
||||
"search-box.search-counter": "$0 / $1",
|
||||
"text-input.aria-roledescription": "编辑器",
|
||||
"text-input.aria-label": "光标位于第 $0 行",
|
||||
"gutter.code-folding.range.aria-label": "切换代码折叠,第 $0 行至第 $1 行",
|
||||
"gutter.code-folding.closed.aria-label": "切换代码折叠,第 $0 行至第 $1 行",
|
||||
"gutter.code-folding.open.aria-label": "切换代码折叠,第 $0 行",
|
||||
"gutter.code-folding.closed.title": "展开代码",
|
||||
"gutter.code-folding.open.title": "折叠代码",
|
||||
"gutter.annotation.aria-label.error": "错误,读取注释第 $0 行",
|
||||
"gutter.annotation.aria-label.warning": "警告,读取注释第 $0 行",
|
||||
"gutter.annotation.aria-label.info": "信息,读取注释第 $0 行",
|
||||
"inline-fold.closed.title": "展开代码",
|
||||
"gutter-tooltip.aria-label.error.singular": "错误",
|
||||
"gutter-tooltip.aria-label.error.plural": "错误",
|
||||
"gutter-tooltip.aria-label.warning.singular": "警告",
|
||||
"gutter-tooltip.aria-label.warning.plural": "警告",
|
||||
"gutter-tooltip.aria-label.info.singular": "信息消息",
|
||||
"gutter-tooltip.aria-label.info.plural": "信息消息",
|
||||
"gutter.annotation.aria-label.security": "安全发现,阅读注释行 $0",
|
||||
"gutter.annotation.aria-label.hint": "建议,阅读注释行 $0",
|
||||
"gutter-tooltip.aria-label.security.singular": "安全发现",
|
||||
"gutter-tooltip.aria-label.security.plural": "安全发现",
|
||||
"gutter-tooltip.aria-label.hint.singular": "建议",
|
||||
"gutter-tooltip.aria-label.hint.plural": "建议",
|
||||
"editor.tooltip.disable-editing": "编辑功能已禁用"
|
||||
}
|
||||
50
mixly/common/templates/json/ace.i18n.zh-hant.json
Normal file
50
mixly/common/templates/json/ace.i18n.zh-hant.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$id": "zh-hant",
|
||||
"autocomplete.popup.aria-roledescription": "自動補全建議",
|
||||
"autocomplete.popup.aria-label": "自動補全建議",
|
||||
"autocomplete.popup.item.aria-roledescription": "專案",
|
||||
"autocomplete.loading": "正在載入...",
|
||||
"editor.scroller.aria-roledescription": "編輯器",
|
||||
"editor.scroller.aria-label": "編輯器內容,按 Enter 開始編輯,按 Esc 退出",
|
||||
"editor.gutter.aria-roledescription": "編輯器邊緣",
|
||||
"editor.gutter.aria-label": "編輯器邊緣,按 Enter 使用箭頭鍵與控制項交互,按 Esc 退出",
|
||||
"error-marker.good-state": "看起來不錯!",
|
||||
"prompt.recently-used": "最近使用",
|
||||
"prompt.other-commands": "其他指令",
|
||||
"prompt.no-matching-commands": "沒有符合的命令",
|
||||
"search-box.find.placeholder": "搜尋",
|
||||
"search-box.find-all.text": "全部",
|
||||
"search-box.replace.placeholder": "替換為",
|
||||
"search-box.replace-next.text": "替換",
|
||||
"search-box.replace-all.text": "全部",
|
||||
"search-box.toggle-replace.title": "切換替換模式",
|
||||
"search-box.toggle-regexp.title": "正規表示式搜尋",
|
||||
"search-box.toggle-case.title": "區分大小寫搜尋",
|
||||
"search-box.toggle-whole-word.title": "全詞搜尋",
|
||||
"search-box.toggle-in-selection.title": "在選定內容中搜尋",
|
||||
"search-box.search-counter": "$0 / $1",
|
||||
"text-input.aria-roledescription": "編輯器",
|
||||
"text-input.aria-label": "遊標位於第 $0 行",
|
||||
"gutter.code-folding.range.aria-label": "切換程式碼折疊,第 $0 行至第 $1 行",
|
||||
"gutter.code-folding.closed.aria-label": "切換程式碼折疊,第 $0 行至第 $1 行",
|
||||
"gutter.code-folding.open.aria-label": "切換程式碼折疊,第 $0 行",
|
||||
"gutter.code-folding.closed.title": "展開代碼",
|
||||
"gutter.code-folding.open.title": "折疊代碼",
|
||||
"gutter.annotation.aria-label.error": "錯誤,讀取註解第 $0 行",
|
||||
"gutter.annotation.aria-label.warning": "警告,讀取註解第 $0 行",
|
||||
"gutter.annotation.aria-label.info": "訊息,讀取註解第 $0 行",
|
||||
"inline-fold.closed.title": "展開代碼",
|
||||
"gutter-tooltip.aria-label.error.singular": "錯誤",
|
||||
"gutter-tooltip.aria-label.error.plural": "錯誤",
|
||||
"gutter-tooltip.aria-label.warning.singular": "警告",
|
||||
"gutter-tooltip.aria-label.warning.plural": "警告",
|
||||
"gutter-tooltip.aria-label.info.singular": "訊息訊息",
|
||||
"gutter-tooltip.aria-label.info.plural": "訊息訊息",
|
||||
"gutter.annotation.aria-label.security": "安全發現,閱讀註解行 $0",
|
||||
"gutter.annotation.aria-label.hint": "建議,閱讀註解行 $0",
|
||||
"gutter-tooltip.aria-label.security.singular": "安全發現",
|
||||
"gutter-tooltip.aria-label.security.plural": "安全發現",
|
||||
"gutter-tooltip.aria-label.hint.singular": "建議",
|
||||
"gutter-tooltip.aria-label.hint.plural": "建議",
|
||||
"editor.tooltip.disable-editing": "編輯功能已停用"
|
||||
}
|
||||
28
mixly/common/templates/json/arduino-cli-config.json
Normal file
28
mixly/common/templates/json/arduino-cli-config.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"board_manager": {
|
||||
"additional_urls": []
|
||||
},
|
||||
"daemon": {
|
||||
"port": "50051"
|
||||
},
|
||||
"directories": {
|
||||
"data": "./arduino-cli/Arduino15",
|
||||
"downloads": "./arduino-cli/staging",
|
||||
"user": "./arduino-cli/Arduino"
|
||||
},
|
||||
"library": {
|
||||
"enable_unsafe_install": true
|
||||
},
|
||||
"logging": {
|
||||
"file": "",
|
||||
"format": "text",
|
||||
"level": "info"
|
||||
},
|
||||
"metrics": {
|
||||
"addr": "9090",
|
||||
"enabled": true
|
||||
},
|
||||
"sketch": {
|
||||
"always_export_binaries": false
|
||||
}
|
||||
}
|
||||
1184
mixly/common/templates/json/file-icons.json
Normal file
1184
mixly/common/templates/json/file-icons.json
Normal file
File diff suppressed because it is too large
Load Diff
416
mixly/common/templates/json/folder-icons.json
Normal file
416
mixly/common/templates/json/folder-icons.json
Normal file
@@ -0,0 +1,416 @@
|
||||
{
|
||||
"android": "android",
|
||||
"api": "api",
|
||||
".api": "api",
|
||||
"apis": "api",
|
||||
".apis": "api",
|
||||
"app": "app",
|
||||
"apps": "app",
|
||||
".app": "app",
|
||||
"arangodb": "arangodb",
|
||||
"arango": "arangodb",
|
||||
"assets": "asset",
|
||||
".assets": "asset",
|
||||
"aurelia_project": "aurelia",
|
||||
"audio": "audio",
|
||||
".audio": "audio",
|
||||
"audios": "audio",
|
||||
".audios": "audio",
|
||||
"sound": "audio",
|
||||
".sound": "audio",
|
||||
"sounds": "audio",
|
||||
".sounds": "audio",
|
||||
"aws": "aws",
|
||||
".aws": "aws",
|
||||
"azure": "azure",
|
||||
".azure": "azure",
|
||||
"azure-pipelines": "azurepipelines",
|
||||
".azure-pipelines": "azurepipelines",
|
||||
"bin": "binary",
|
||||
".bin": "binary",
|
||||
"blocs": "bloc",
|
||||
"bloc": "bloc",
|
||||
"blueprint": "blueprint",
|
||||
".blueprint": "blueprint",
|
||||
"blueprints": "blueprint",
|
||||
".blueprints": "blueprint",
|
||||
"bot": "bot",
|
||||
".bot": "bot",
|
||||
"bower_components": "bower",
|
||||
".buildkite": "buildkite",
|
||||
"cake": "cake",
|
||||
".cake": "cake",
|
||||
"certificates": "certificate",
|
||||
".certificates": "certificate",
|
||||
"certs": "certificate",
|
||||
"certs.": "certificate",
|
||||
".changeset": "changesets",
|
||||
"chef": "chef",
|
||||
".chef": "chef",
|
||||
".circleci": "circleci",
|
||||
"controller": "controller",
|
||||
"controllers": "controller",
|
||||
".controllers": "controller",
|
||||
"handlers": "controller",
|
||||
".handlers": "controller",
|
||||
"component": "component",
|
||||
"components": "component",
|
||||
".components": "component",
|
||||
"gui": "component",
|
||||
"src-ui": "component",
|
||||
"ui": "component",
|
||||
"widgets": "component",
|
||||
"composer": "composer",
|
||||
".composer": "composer",
|
||||
"cli": "cli",
|
||||
"cmd": "cli",
|
||||
"command": "cli",
|
||||
"commands": "cli",
|
||||
"commandline": "cli",
|
||||
"console": "cli",
|
||||
"client": "client",
|
||||
"clients": "client",
|
||||
".cmake": "cmake",
|
||||
"cmake": "cmake",
|
||||
"common": "common",
|
||||
"conf": "config",
|
||||
".conf": "config",
|
||||
"config": "config",
|
||||
".config": "config",
|
||||
"configs": "config",
|
||||
".configs": "config",
|
||||
"configuration": "config",
|
||||
".configuration": "config",
|
||||
"configurations": "config",
|
||||
".configurations": "config",
|
||||
"setting": "config",
|
||||
".setting": "config",
|
||||
"settings": "config",
|
||||
".settings": "config",
|
||||
"ini": "config",
|
||||
".ini": "config",
|
||||
"initializers": "config",
|
||||
".initializers": "config",
|
||||
"coverage": "coverage",
|
||||
"css": "css",
|
||||
"_css": "css",
|
||||
"cubits": "cubit",
|
||||
"cubit": "cubit",
|
||||
"cypress": "cypress",
|
||||
".dapr": "dapr",
|
||||
"dapr": "dapr",
|
||||
"datadog": "datadog",
|
||||
".datadog": "datadog",
|
||||
"db": "db",
|
||||
"database": "db",
|
||||
"sql": "db",
|
||||
"data": "db",
|
||||
"repo": "db",
|
||||
"repository": "db",
|
||||
"repositories": "db",
|
||||
"debian": "debian",
|
||||
"deb": "debian",
|
||||
".dependabot": "dependabot",
|
||||
".devcontainer": "devcontainer",
|
||||
"dist": "dist",
|
||||
".dist": "dist",
|
||||
"dists": "dist",
|
||||
"out": "dist",
|
||||
"outs": "dist",
|
||||
"export": "dist",
|
||||
"exports": "dist",
|
||||
"build": "dist",
|
||||
".build": "dist",
|
||||
"builds": "dist",
|
||||
"release": "dist",
|
||||
"releases": "dist",
|
||||
"target": "dist",
|
||||
"targets": "dist",
|
||||
"docker": "docker",
|
||||
".docker": "docker",
|
||||
"docs": "docs",
|
||||
"doc": "docs",
|
||||
"document": "docs",
|
||||
"documents": "docs",
|
||||
"e2e": "e2e",
|
||||
".elasticbeanstalk": "elasticbeanstalk",
|
||||
".ebextensions": "elasticbeanstalk",
|
||||
"electron": "electron",
|
||||
".expo": "expo",
|
||||
".expo-shared": "expo",
|
||||
"favicon": "favicon",
|
||||
"favicons": "favicon",
|
||||
"flow": "flow",
|
||||
"flow-typed": "flow",
|
||||
"fonts": "fonts",
|
||||
"font": "fonts",
|
||||
"fnt": "fonts",
|
||||
"gcp": "gcp",
|
||||
".gcp": "gcp",
|
||||
".git": "git",
|
||||
"submodules": "git",
|
||||
".submodules": "git",
|
||||
".github": "github",
|
||||
".gitlab": "gitlab",
|
||||
"gradle": "gradle",
|
||||
".gradle": "gradle",
|
||||
"graphql": "graphql",
|
||||
"grunt": "grunt",
|
||||
"gulp": "gulp",
|
||||
"gulpfile.js": "gulp",
|
||||
"gulpfile.coffee": "gulp",
|
||||
"gulpfile.ts": "gulp",
|
||||
"gulpfile.babel.js": "gulp",
|
||||
"gulpfile.babel.coffee": "gulp",
|
||||
"gulpfile.babel.ts": "gulp",
|
||||
".haxelib": "haxelib",
|
||||
"haxe_libraries": "haxelib",
|
||||
"helper": "helper",
|
||||
".helper": "helper",
|
||||
"helpers": "helper",
|
||||
".helpers": "helper",
|
||||
"hook": "hook",
|
||||
".hook": "hook",
|
||||
"hooks": "hook",
|
||||
".hooks": "hook",
|
||||
".husky": "husky",
|
||||
".idea": "idea",
|
||||
"images": "images",
|
||||
"image": "images",
|
||||
"img": "images",
|
||||
"imgs": "images",
|
||||
"icons": "images",
|
||||
"icon": "images",
|
||||
"ico": "images",
|
||||
"screenshot": "images",
|
||||
"screenshots": "images",
|
||||
"svg": "images",
|
||||
"include": "include",
|
||||
"includes": "include",
|
||||
"incl": "include",
|
||||
"inc": "include",
|
||||
".include": "include",
|
||||
".includes": "include",
|
||||
".incl": "include",
|
||||
".inc": "include",
|
||||
"_include": "include",
|
||||
"_includes": "include",
|
||||
"_incl": "include",
|
||||
"_inc": "include",
|
||||
"interface": "interfaces",
|
||||
"interfaces": "interfaces",
|
||||
"ios": "ios",
|
||||
"js": "js",
|
||||
"json": "json_official",
|
||||
"kubernetes": "kubernetes",
|
||||
"k8s": "kubernetes",
|
||||
"kube": "kubernetes",
|
||||
"kuber": "kubernetes",
|
||||
".kubernetes": "kubernetes",
|
||||
".k8s": "kubernetes",
|
||||
".kube": "kubernetes",
|
||||
".kuber": "kubernetes",
|
||||
"less": "less",
|
||||
"_less": "less",
|
||||
"lib": "library",
|
||||
"libs": "library",
|
||||
".lib": "library",
|
||||
".libs": "library",
|
||||
"library": "library",
|
||||
"libraries": "library",
|
||||
"linux": "linux",
|
||||
"lang": "locale",
|
||||
"language": "locale",
|
||||
"languages": "locale",
|
||||
"locale": "locale",
|
||||
"locales": "locale",
|
||||
"_locale": "locale",
|
||||
"_locales": "locale",
|
||||
"internationalization": "locale",
|
||||
"globalization": "locale",
|
||||
"localization": "locale",
|
||||
"i18n": "locale",
|
||||
"g11n": "locale",
|
||||
"l10n": "locale",
|
||||
"log": "log",
|
||||
"logs": "log",
|
||||
"macos": "macos",
|
||||
"darwin": "macos",
|
||||
"mariadb": "mariadb",
|
||||
"maria": "mariadb",
|
||||
".mvn": "maven",
|
||||
"memcached": "memcached",
|
||||
".memcached": "memcached",
|
||||
"middleware": "middleware",
|
||||
"middlewares": "middleware",
|
||||
"mjml": "mjml",
|
||||
".mjml": "mjml",
|
||||
"minikube": "minikube",
|
||||
"minik8s": "minikube",
|
||||
"minikuber": "minikube",
|
||||
"mocks": "mock",
|
||||
".mocks": "mock",
|
||||
"__mocks__": "mock",
|
||||
"model": "model",
|
||||
".model": "model",
|
||||
"models": "model",
|
||||
".models": "model",
|
||||
"entities": "model",
|
||||
".entities": "model",
|
||||
"modules": "module",
|
||||
"mongodb": "mongodb",
|
||||
"mongo": "mongodb",
|
||||
"mysqldb": "mysql",
|
||||
"mysql": "mysql",
|
||||
".next": "next",
|
||||
"nginx": "nginx",
|
||||
"conf.d": "nginx",
|
||||
".niv": "nix",
|
||||
".nix": "nix",
|
||||
"nix": "nix",
|
||||
"niv": "nix",
|
||||
"node_modules": "node",
|
||||
"notebooks": "notebooks",
|
||||
"notebook": "notebooks",
|
||||
"notification": "notification",
|
||||
"notifications": "notification",
|
||||
"event": "notification",
|
||||
"events": "notification",
|
||||
".nuget": "nuget",
|
||||
"package": "package",
|
||||
"packages": "package",
|
||||
".package": "package",
|
||||
".packages": "package",
|
||||
"pkg": "package",
|
||||
".paket": "paket",
|
||||
"php": "php",
|
||||
".pio": "platformio",
|
||||
".pioenvs": "platformio",
|
||||
"plugin": "plugin",
|
||||
".plugin": "plugin",
|
||||
"plugins": "plugin",
|
||||
".plugins": "plugin",
|
||||
"extension": "plugin",
|
||||
".extension": "plugin",
|
||||
"extensions": "plugin",
|
||||
".extensions": "plugin",
|
||||
"prisma": "prisma",
|
||||
"private": "private",
|
||||
".private": "private",
|
||||
"public": "public",
|
||||
".public": "public",
|
||||
".venv": "python",
|
||||
".virtualenv": "python",
|
||||
"__pycache__": "python",
|
||||
".pytest_cache": "python",
|
||||
".vercel": "vercel",
|
||||
"redis": "redis",
|
||||
"ravendb": "ravendb",
|
||||
"route": "route",
|
||||
"routes": "route",
|
||||
"_route": "route",
|
||||
"_routes": "route",
|
||||
"router": "route",
|
||||
"routers": "route",
|
||||
"redux": "redux",
|
||||
".meteor": "meteor",
|
||||
"mojo": "mojo",
|
||||
"nuxt": "nuxt",
|
||||
".nuxt": "nuxt",
|
||||
"sass": "sass",
|
||||
"scss": "sass",
|
||||
"_sass": "sass",
|
||||
"_scss": "sass",
|
||||
"script": "script",
|
||||
"scripts": "script",
|
||||
"server": "server",
|
||||
"service": "services",
|
||||
"services": "services",
|
||||
"share": "shared",
|
||||
"shared": "shared",
|
||||
".share": "shared",
|
||||
".shared": "shared",
|
||||
".snaplet": "snaplet",
|
||||
".spin": "spin",
|
||||
"src": "src",
|
||||
"source": "src",
|
||||
"sources": "src",
|
||||
"sso": "sso",
|
||||
"story": "story",
|
||||
"stories": "story",
|
||||
"__stories__": "story",
|
||||
".storybook": "story",
|
||||
"style": "style",
|
||||
"styles": "style",
|
||||
"svelte": "svelte",
|
||||
".svelte-kit": "svelte",
|
||||
"src-tauri": "tauri",
|
||||
"tests": "test",
|
||||
".tests": "test",
|
||||
"test": "test",
|
||||
".test": "test",
|
||||
"__tests__": "test",
|
||||
"__test__": "test",
|
||||
"spec": "test",
|
||||
".spec": "test",
|
||||
"specs": "test",
|
||||
".specs": "test",
|
||||
"integration": "test",
|
||||
"temp": "temp",
|
||||
".temp": "temp",
|
||||
"tmp": "temp",
|
||||
".tmp": "temp",
|
||||
"template": "template",
|
||||
".template": "template",
|
||||
"templates": "template",
|
||||
".templates": "template",
|
||||
"theme": "theme",
|
||||
"themes": "theme",
|
||||
".travis": "travis",
|
||||
"tool": "tools",
|
||||
"tools": "tools",
|
||||
".tools": "tools",
|
||||
"util": "tools",
|
||||
"utils": "tools",
|
||||
"utilities": "tools",
|
||||
".trunk": "trunk",
|
||||
".turbo": "turbo",
|
||||
"typescript": "typescript",
|
||||
"ts": "typescript",
|
||||
"typings": "typings2",
|
||||
"types": "typings2",
|
||||
"@types": "typings2",
|
||||
"vagrant": "vagrant",
|
||||
".vagrant": "vagrant",
|
||||
"video": "video",
|
||||
".video": "video",
|
||||
"videos": "video",
|
||||
".videos": "video",
|
||||
"html": "view",
|
||||
"view": "view",
|
||||
"views": "view",
|
||||
"layout": "view",
|
||||
"layouts": "view",
|
||||
"page": "view",
|
||||
"pages": "view",
|
||||
"_view": "view",
|
||||
"_views": "view",
|
||||
"_layout": "view",
|
||||
"_layouts": "view",
|
||||
"_page": "view",
|
||||
"_pages": "view",
|
||||
".vs": "vs2",
|
||||
".vscode": "vscode3",
|
||||
"vscode": "vscode3",
|
||||
".vscode-test": "vscode_test3",
|
||||
"wit": "wit",
|
||||
"webpack": "webpack",
|
||||
".webpack": "webpack",
|
||||
"windows": "windows",
|
||||
"win32": "windows",
|
||||
"www": "www",
|
||||
"wwwroot": "www",
|
||||
"web": "www",
|
||||
".yarn": "yarn",
|
||||
"default": "default"
|
||||
}
|
||||
12374
mixly/common/templates/json/monaco.i18n.zh-hans.json
Normal file
12374
mixly/common/templates/json/monaco.i18n.zh-hans.json
Normal file
File diff suppressed because it is too large
Load Diff
12374
mixly/common/templates/json/monaco.i18n.zh-hant.json
Normal file
12374
mixly/common/templates/json/monaco.i18n.zh-hant.json
Normal file
File diff suppressed because it is too large
Load Diff
123
mixly/common/templates/json/tree-sitter/grammars/c.json
Normal file
123
mixly/common/templates/json/tree-sitter/grammars/c.json
Normal file
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"type_identifier": "type",
|
||||
"primitive_type": "type",
|
||||
"\"signed\"": "type",
|
||||
"\"unsigned\"": "type",
|
||||
"\"short\"": "type",
|
||||
"\"long\"": "type",
|
||||
|
||||
"statement_identifier": "variable",
|
||||
|
||||
"\"const\"": "modifier",
|
||||
"\"static\"": "modifier",
|
||||
"\"auto\"": "modifier",
|
||||
"\"extern\"": "modifier",
|
||||
"\"inline\"": "modifier",
|
||||
"\"register\"": "modifier",
|
||||
"\"volatile\"": "modifier",
|
||||
"\"restrict\"": "modifier",
|
||||
"\"_Atomic\"": "modifier",
|
||||
"\"__attribute__\"": "modifier",
|
||||
"function_specifier": "modifier",
|
||||
|
||||
"number_literal": "number",
|
||||
"char_literal": "string",
|
||||
"string_literal": "string",
|
||||
"system_lib_string": "string",
|
||||
"escape_sequence": "string",
|
||||
"comment": "comment",
|
||||
|
||||
"null": "constant",
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"default\"": "control",
|
||||
"\"goto\"": "control",
|
||||
"\"struct\"": "control",
|
||||
"\"enum\"": "control",
|
||||
"\"union\"": "control",
|
||||
"\"typedef\"": "control",
|
||||
|
||||
"\"sizeof\"": "operator",
|
||||
"\".\"": "operator",
|
||||
"\"->\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\":\"": "operator",
|
||||
|
||||
"\"#if\"": "directive",
|
||||
"\"#ifdef\"": "directive",
|
||||
"\"#ifndef\"": "directive",
|
||||
"\"#elif\"": "directive",
|
||||
"\"#else\"": "directive",
|
||||
"\"#endif\"": "directive",
|
||||
"\"#define\"": "directive",
|
||||
"\"#include\"": "directive",
|
||||
"preproc_directive": "directive",
|
||||
"preproc_arg": "directive",
|
||||
|
||||
"\";\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "field_identifier"],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"field_identifier": "variable",
|
||||
|
||||
"call_expression > identifier" : "function",
|
||||
"call_expression > field_expression > field_identifier" : "function",
|
||||
"function_declarator > identifier" : "function"
|
||||
}
|
||||
|
||||
}
|
||||
156
mixly/common/templates/json/tree-sitter/grammars/cpp.json
Normal file
156
mixly/common/templates/json/tree-sitter/grammars/cpp.json
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"type_identifier": "type",
|
||||
"primitive_type": "type",
|
||||
"\"unsigned\"": "type",
|
||||
"\"signed\"": "type",
|
||||
"\"short\"": "type",
|
||||
"\"long\"": "type",
|
||||
"auto": "type",
|
||||
|
||||
"namespace_identifier": "scope",
|
||||
|
||||
"operator_name": "function",
|
||||
|
||||
"\"public\"": "modifier",
|
||||
"\"protected\"": "modifier",
|
||||
"\"private\"": "modifier",
|
||||
"\"virtual\"": "modifier",
|
||||
"\"override\"": "modifier",
|
||||
"\"default\"": "modifier",
|
||||
"\"final\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
"\"constexpr\"": "modifier",
|
||||
"\"static\"": "modifier",
|
||||
"\"extern\"": "modifier",
|
||||
"\"inline\"": "modifier",
|
||||
"\"noexcept\"": "modifier",
|
||||
"\"explicit\"": "modifier",
|
||||
"\"friend\"": "modifier",
|
||||
"\"register\"": "modifier",
|
||||
"\"volatile\"": "modifier",
|
||||
"\"restrict\"": "modifier",
|
||||
"\"_Atomic\"": "modifier",
|
||||
"\"__attribute__\"": "modifier",
|
||||
"function_specifier": "modifier",
|
||||
|
||||
"number_literal": "number",
|
||||
"char_literal": "string",
|
||||
"string_literal": "string",
|
||||
"system_lib_string": "string",
|
||||
"raw_string_literal": "string",
|
||||
"escape_sequence": "string",
|
||||
"comment": "comment",
|
||||
|
||||
"null": "constant",
|
||||
"nullptr": "constant",
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"goto\"": "control",
|
||||
|
||||
"\"struct\"": "control",
|
||||
"\"enum\"": "control",
|
||||
"\"union\"": "control",
|
||||
"\"typedef\"": "control",
|
||||
"\"class\"": "control",
|
||||
"\"using\"": "control",
|
||||
"\"namespace\"": "control",
|
||||
"\"template\"": "control",
|
||||
"\"typename\"": "control",
|
||||
"\"try\"": "control",
|
||||
"\"catch\"": "control",
|
||||
"\"throw\"": "control",
|
||||
|
||||
"\"sizeof\"": "operator",
|
||||
"\"new\"": "operator",
|
||||
"\".\"": "operator",
|
||||
"\"->\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\"::\"": "operator",
|
||||
|
||||
"\"#if\"": "directive",
|
||||
"\"#ifdef\"": "directive",
|
||||
"\"#ifndef\"": "directive",
|
||||
"\"#elif\"": "directive",
|
||||
"\"#else\"": "directive",
|
||||
"\"#endif\"": "directive",
|
||||
"\"#define\"": "directive",
|
||||
"\"#include\"": "directive",
|
||||
"preproc_directive": "directive",
|
||||
|
||||
"\";\"": "punctuation",
|
||||
"\":\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "field_identifier", "\"delete\""],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"field_identifier": "variable",
|
||||
|
||||
"call_expression > identifier": "function",
|
||||
"call_expression > field_expression > field_identifier": "function",
|
||||
"call_expression > scoped_identifier > identifier": "function",
|
||||
"template_function > identifier": "function",
|
||||
"template_function > scoped_identifier > identifier": "function",
|
||||
"template_method > field_identifier": "function",
|
||||
"function_declarator > identifier": "function",
|
||||
"function_declarator > field_identifier": "function",
|
||||
"function_declarator > scoped_identifier > identifier": "function",
|
||||
"destructor_name > identifier": "function",
|
||||
|
||||
"\"delete\"": "operator",
|
||||
"delete_method_clause > \"delete\"": "modifier"
|
||||
}
|
||||
}
|
||||
108
mixly/common/templates/json/tree-sitter/grammars/go.json
Normal file
108
mixly/common/templates/json/tree-sitter/grammars/go.json
Normal file
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"type_identifier": "type",
|
||||
"package_identifier": "scope",
|
||||
|
||||
"\"var\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
|
||||
"interpreted_string_literal": "string",
|
||||
"raw_string_literal": "string",
|
||||
"escape_sequence": "string",
|
||||
"rune_literal": "number",
|
||||
"int_literal": "number",
|
||||
"float_literal": "number",
|
||||
"imaginary_literal": "number",
|
||||
"comment": "comment",
|
||||
|
||||
"nil": "constant",
|
||||
"false": "constant",
|
||||
"true": "constant",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"select\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"default\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"goto\"": "control",
|
||||
"\"fallthrough\"": "control",
|
||||
"\"defer\"": "control",
|
||||
"\"range\"": "control",
|
||||
"\"go\"": "control",
|
||||
|
||||
"\"type\"": "operator",
|
||||
"\"struct\"": "operator",
|
||||
"\"import\"": "operator",
|
||||
"\"package\"": "operator",
|
||||
"\"func\"": "operator",
|
||||
"\"interface\"": "operator",
|
||||
"\"map\"": "operator",
|
||||
"\"chan\"": "operator",
|
||||
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\":=\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"&^\"": "operator",
|
||||
"\"&^=\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"...\"": "operator",
|
||||
"\"<-\"": "operator",
|
||||
"\"[\"": "operator",
|
||||
"\"]\"": "operator",
|
||||
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\";\"": "punctuation",
|
||||
"\".\"": "punctuation",
|
||||
"\":\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "field_identifier"],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"field_identifier": "variable",
|
||||
|
||||
"call_expression > identifier": "function",
|
||||
"function_declaration > identifier": "function",
|
||||
"method_declaration > field_identifier": "function",
|
||||
"call_expression > selector_expression > field_identifier": "function"
|
||||
}
|
||||
}
|
||||
136
mixly/common/templates/json/tree-sitter/grammars/javascript.json
Normal file
136
mixly/common/templates/json/tree-sitter/grammars/javascript.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"shorthand_property_identifier": "variable",
|
||||
|
||||
"\"var\"": "modifier",
|
||||
"\"let\"": "modifier",
|
||||
"\"extends\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
"\"static\"": "modifier",
|
||||
|
||||
"number": "number",
|
||||
"string": "string",
|
||||
"escape_sequence": "string",
|
||||
"template_string": "string",
|
||||
"regex": "string",
|
||||
"comment": "comment",
|
||||
"hash_bang_line": "comment",
|
||||
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
"null": "constant",
|
||||
"undefined": "constant",
|
||||
|
||||
"\"as\"": "control",
|
||||
"\"if\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"throw\"": "control",
|
||||
"\"try\"": "control",
|
||||
"\"catch\"": "control",
|
||||
"\"finally\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"default\"": "control",
|
||||
"\"export\"": "control",
|
||||
"\"import\"": "control",
|
||||
"\"from\"": "control",
|
||||
"\"yield\"": "control",
|
||||
"\"async\"": "control",
|
||||
"\"await\"": "control",
|
||||
"\"debugger\"": "control",
|
||||
"\"delete\"": "control",
|
||||
|
||||
"this": "operator",
|
||||
"\"class\"": "operator",
|
||||
"\"function\"": "operator",
|
||||
|
||||
"\"in\"": "operator",
|
||||
"\"instanceof\"": "operator",
|
||||
"\"of\"": "operator",
|
||||
"\"new\"": "operator",
|
||||
"\"typeof\"": "operator",
|
||||
"\"get\"": "operator",
|
||||
"\"set\"": "operator",
|
||||
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\">>>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"===\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"!==\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"=>\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\":\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\">>>\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"...\"": "operator",
|
||||
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\";\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\".\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\"${\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "field_identifier", "property_identifier", "super"],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"property_identifier": "variable",
|
||||
"formal_parameters > identifier": "variable",
|
||||
"jsx_attribute > property_identifier": "variable",
|
||||
|
||||
"class > identifier": "type",
|
||||
"new_expression > identifier": "type",
|
||||
"jsx_opening_element > identifier": "type",
|
||||
"jsx_closing_element > identifier": "type",
|
||||
"jsx_self_closing_element > identifier": "type",
|
||||
|
||||
"call_expression > identifier": "function",
|
||||
"call_expression > super": "function",
|
||||
"function > identifier": "function",
|
||||
"generator_function > identifier": "function",
|
||||
"method_definition > property_identifier": "function",
|
||||
"call_expression > member_expression > property_identifier": "function"
|
||||
}
|
||||
}
|
||||
87
mixly/common/templates/json/tree-sitter/grammars/lua.json
Normal file
87
mixly/common/templates/json/tree-sitter/grammars/lua.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
|
||||
"method": "function",
|
||||
|
||||
"\"local\"": "modifier",
|
||||
"\"function\"": "modifier",
|
||||
|
||||
"number": "number",
|
||||
"string": "string",
|
||||
"comment": "comment",
|
||||
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
"nil": "constant",
|
||||
"global_variable": "constant",
|
||||
|
||||
"\"while\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"until\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"if\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"elseif\"": "control",
|
||||
"\"then\"": "control",
|
||||
"\"end\"": "control",
|
||||
"\"goto\"": "control",
|
||||
"\"repeat\"": "control",
|
||||
"\"return\"": "control",
|
||||
|
||||
"self": "operator",
|
||||
"\"and\"": "operator",
|
||||
"\"or\"": "operator",
|
||||
"\"not\"": "operator",
|
||||
"\"in\"": "operator",
|
||||
"\"next\"": "operator",
|
||||
"\"spread\"": "operator",
|
||||
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"#\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"//\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"~=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"::\"": "operator",
|
||||
"\":\"": "operator",
|
||||
"\".\"": "operator",
|
||||
"\"..\"": "operator",
|
||||
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\";\"": "punctuation",
|
||||
"\",\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "property_identifier"],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"property_identifier": "variable",
|
||||
|
||||
"function_call > identifier": "function",
|
||||
"function_call > property_identifier": "function",
|
||||
"function_name > identifier": "function",
|
||||
"function_name > property_identifier": "function",
|
||||
"local_function > identifier": "function"
|
||||
}
|
||||
}
|
||||
164
mixly/common/templates/json/tree-sitter/grammars/php.json
Normal file
164
mixly/common/templates/json/tree-sitter/grammars/php.json
Normal file
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
|
||||
"variable_name": "variable",
|
||||
|
||||
"__construct": "function",
|
||||
"\"echo\"": "function",
|
||||
"\"print\"": "function",
|
||||
"\"unset\"": "function",
|
||||
"\"isset\"": "function",
|
||||
"\"eval\"": "function",
|
||||
"\"array\"": "function",
|
||||
"\"list\"": "function",
|
||||
"\"empty\"": "function",
|
||||
|
||||
"require_once": "function",
|
||||
"require": "function",
|
||||
"include_once": "function",
|
||||
"include": "function",
|
||||
|
||||
"\"callable\"": "modifier",
|
||||
"\"var\"": "modifier",
|
||||
"\"trait\"": "modifier",
|
||||
"\"class\"": "modifier",
|
||||
"\"interface\"": "modifier",
|
||||
"\"function\"": "modifier",
|
||||
"\"type\"": "modifier",
|
||||
|
||||
"\"static\"": "modifier",
|
||||
"\"public\"": "modifier",
|
||||
"\"private\"": "modifier",
|
||||
"\"protected\"": "modifier",
|
||||
"\"global\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
"\"abstract\"": "modifier",
|
||||
"\"extends\"": "modifier",
|
||||
"\"implements\"": "modifier",
|
||||
"\"final\"": "modifier",
|
||||
|
||||
"integer": "number",
|
||||
"float": "number",
|
||||
"string": "string",
|
||||
"regex": "string",
|
||||
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
|
||||
"comment": "comment",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"elseif\"": "control",
|
||||
"\"endif\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"endwhile\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"endfor\"": "control",
|
||||
"\"foreach\"": "control",
|
||||
"\"endforeach\"": "control",
|
||||
"\"declare\"": "control",
|
||||
"\"enddeclare\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"throw\"": "control",
|
||||
"\"try\"": "control",
|
||||
"\"catch\"": "control",
|
||||
"\"finally\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"endswitch\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"default\"": "control",
|
||||
"\"yield\"": "control",
|
||||
"\"goto\"": "control",
|
||||
"\"exit\"": "control",
|
||||
"\"die\"": "control",
|
||||
|
||||
"\"new\"": "operator",
|
||||
"\"clone\"": "operator",
|
||||
"\"insteadof\"": "operator",
|
||||
"\"instanceof\"": "operator",
|
||||
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"**\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"===\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"!==\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"<>\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"=>\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=>\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"$\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"and\"": "operator",
|
||||
"\"or\"": "operator",
|
||||
"\"xor\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\".\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\":\"": "operator",
|
||||
"\"??\"": "operator",
|
||||
"\"->\"": "operator",
|
||||
"\"as\"": "operator",
|
||||
|
||||
"\"use\"": "directive",
|
||||
"\"namespace\"": "directive",
|
||||
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\";\"": "punctuation",
|
||||
"\",\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["name", "simple_variable"],
|
||||
|
||||
"complexScopes": {
|
||||
"class_declaration > name": "type",
|
||||
"catch_clause > qualified_name > name": "type",
|
||||
"class_base_clause > qualified_name > name": "type",
|
||||
"interface_declaration > name": "type",
|
||||
"class_interface_clause > qualified_name > name": "type",
|
||||
"object_creation_expression > qualified_name > name": "type",
|
||||
"cast_expression > cast_type": "type",
|
||||
"object_creation_expression > new_variable > simple_variable": "type",
|
||||
|
||||
"name": "variable",
|
||||
"member_access_expression > name": "variable",
|
||||
|
||||
"function_definition > name": "function",
|
||||
"function_call_expression > name": "function",
|
||||
"function_call_expression > qualified_name": "function",
|
||||
"method_declaration > name": "function",
|
||||
"method_declaration > function_definition > name": "function",
|
||||
"scoped_call_expression > name": "function",
|
||||
"member_call_expression > name": "function",
|
||||
|
||||
"const_element > name": "constant",
|
||||
"class_constant_access_expression > name": "constant",
|
||||
"qualified_name > name": "constant"
|
||||
}
|
||||
}
|
||||
117
mixly/common/templates/json/tree-sitter/grammars/python.json
Normal file
117
mixly/common/templates/json/tree-sitter/grammars/python.json
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"module": "scope",
|
||||
|
||||
"\"global\"": "modifier",
|
||||
"\"nonlocal\"": "modifier",
|
||||
|
||||
"decorator": "function",
|
||||
"\"print\"": "function",
|
||||
"\"assert\"": "function",
|
||||
"\"exec\"": "function",
|
||||
"\"del\"": "function",
|
||||
|
||||
"integer" : "number",
|
||||
"float" : "number",
|
||||
"string": "string",
|
||||
"escape_sequence": "string",
|
||||
"interpolation": "string",
|
||||
"comment": "comment",
|
||||
|
||||
"none": "constant",
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"elif\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"pass\"": "control",
|
||||
"\"raise\"": "control",
|
||||
"\"yield\"": "control",
|
||||
"\"await\"": "control",
|
||||
"\"async\"": "control",
|
||||
"\"try\"": "control",
|
||||
"\"except\"": "control",
|
||||
"\"with\"": "control",
|
||||
"\"as\"": "control",
|
||||
"\"finally\"": "control",
|
||||
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"@\"": "operator",
|
||||
"\"**\"": "operator",
|
||||
"\"//\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"<>\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"@=\"": "operator",
|
||||
"\"**=\"": "operator",
|
||||
"\"//=\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
|
||||
"\"in\"": "operator",
|
||||
"\"and\"": "operator",
|
||||
"\"or\"": "operator",
|
||||
"\"not\"": "operator",
|
||||
"\"is\"": "operator",
|
||||
|
||||
"\"import\"": "directive",
|
||||
"\"from\"": "directive",
|
||||
"\"class\"": "directive",
|
||||
"\"def\"": "directive",
|
||||
"\"lambda\"": "directive",
|
||||
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "attribute"],
|
||||
|
||||
"complexScopes": {
|
||||
"type > identifier": "type",
|
||||
"class_definition > identifier": "type",
|
||||
"class_definition > argument_list > attribute": "type",
|
||||
"class_definition > argument_list > identifier": "type",
|
||||
"class_definition > argument_list > keyword_argument > attribute": "type",
|
||||
"class_definition > argument_list > keyword_argument > identifier": "type",
|
||||
|
||||
"identifier": "variable",
|
||||
"attribute > identifier": "variable",
|
||||
"keyword_argument > identifier": "variable",
|
||||
"default_parameter > identifier": "variable",
|
||||
"parameters > identifier": "variable",
|
||||
"parameters > list_splat > identifier": "variable",
|
||||
"parameters > dictionary_splat > identifier": "variable",
|
||||
|
||||
"call > identifier": "function",
|
||||
"call > attribute > identifier[-1]": "function",
|
||||
"function_definition > identifier": "function"
|
||||
}
|
||||
}
|
||||
117
mixly/common/templates/json/tree-sitter/grammars/ruby.json
Normal file
117
mixly/common/templates/json/tree-sitter/grammars/ruby.json
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"constant": "type",
|
||||
|
||||
"class_variable": "variable",
|
||||
"instance_variable": "variable",
|
||||
|
||||
"string": "string",
|
||||
"bare_string": "string",
|
||||
"subshell": "string",
|
||||
"heredoc_beginning": "string",
|
||||
"heredoc_body": "string",
|
||||
"regex": "string",
|
||||
"escape_sequence": "string",
|
||||
"symbol": "string",
|
||||
"bare_symbol": "string",
|
||||
"interpolation": "string",
|
||||
"float": "number",
|
||||
"integer": "number",
|
||||
"complex": "number",
|
||||
"rational": "number",
|
||||
"comment": "comment",
|
||||
|
||||
"nil": "constant",
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
|
||||
"\"if\"": "control",
|
||||
"\"unless\"": "control",
|
||||
"\"def\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"end\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"elsif\"": "control",
|
||||
"\"class\"": "control",
|
||||
"\"module\"": "control",
|
||||
"\"alias\"": "control",
|
||||
"\"begin\"": "control",
|
||||
"\"rescue\"": "control",
|
||||
"\"ensure\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"yield\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"when\"": "control",
|
||||
"\"then\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"next\"": "control",
|
||||
"\"retry\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"in\"": "control",
|
||||
"\"until\"": "control",
|
||||
|
||||
"self": "control",
|
||||
"super": "control",
|
||||
|
||||
"\"and\"": "operator",
|
||||
"\"or\"": "operator",
|
||||
"\"not\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"===\"": "operator",
|
||||
"\"<=>\"": "operator",
|
||||
"\"=~\"": "operator",
|
||||
"\"!~\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"**\"": "operator",
|
||||
"\"+@\"": "operator",
|
||||
"\"-@\"": "operator",
|
||||
"\"..\"": "operator",
|
||||
"\"[]\"": "operator",
|
||||
"\"[]=\"": "operator",
|
||||
"\"defined?\"": "operator",
|
||||
|
||||
"\",\"": "punctuation",
|
||||
"\"%w(\"": "punctuation",
|
||||
"\"%i(\"": "punctuation",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\"#{\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier"],
|
||||
|
||||
"complexScopes": {
|
||||
"identifier": "variable",
|
||||
"block_parameters > identifier": "variable",
|
||||
"keyword_parameter > identifier": "constant",
|
||||
|
||||
"method > identifier": "function",
|
||||
"setter > identifier": "function",
|
||||
"call > identifier": "function",
|
||||
"method_call > identifier": "function",
|
||||
"singleton_method > identifier": "function",
|
||||
"method_parameters > identifier": "function"
|
||||
},
|
||||
}
|
||||
168
mixly/common/templates/json/tree-sitter/grammars/rust.json
Normal file
168
mixly/common/templates/json/tree-sitter/grammars/rust.json
Normal file
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
|
||||
"primitive_type": "type",
|
||||
|
||||
"inner_attribute_item": "variable",
|
||||
"shorthand_field_identifier": "variable",
|
||||
"\"_\"": "variable",
|
||||
|
||||
"boolean_literal": "number",
|
||||
"integer_literal": "number",
|
||||
"float_literal": "number",
|
||||
"char_literal": "string",
|
||||
"string_literal": "string",
|
||||
"raw_string_literal": "string",
|
||||
"escape_sequence": "string",
|
||||
"line_comment": "comment",
|
||||
"block_comment": "comment",
|
||||
|
||||
"\"let\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
"\"static\"": "modifier",
|
||||
"\"extern\"": "modifier",
|
||||
"\"dyn\"": "modifier",
|
||||
"\"trait\"": "modifier",
|
||||
"\"mod\"": "modifier",
|
||||
"\"pub\"": "modifier",
|
||||
"\"default\"": "modifier",
|
||||
"\"ref\"": "modifier",
|
||||
"mutable_specifier": "modifier",
|
||||
|
||||
"\"fn\"": "control",
|
||||
"\"type\"": "control",
|
||||
"\"struct\"": "control",
|
||||
"\"enum\"": "control",
|
||||
"\"union\"": "control",
|
||||
"\"impl\"": "control",
|
||||
|
||||
"\"unsafe\"": "control",
|
||||
"\"match\"": "control",
|
||||
"\"if\"": "control",
|
||||
"\"in\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"move\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"loop\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"where\"": "control",
|
||||
"\"macro_rules!\"": "control",
|
||||
|
||||
"self": "control",
|
||||
"super": "control",
|
||||
"crate": "control",
|
||||
|
||||
"\".\"": "operator",
|
||||
"\"->\"": "operator",
|
||||
"\"=>\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\"::\"": "operator",
|
||||
"\"..\"": "operator",
|
||||
"\"as\"": "operator",
|
||||
|
||||
"\"use\"": "directive",
|
||||
"\"#\"": "directive",
|
||||
|
||||
"\";\"": "punctuation",
|
||||
"\":\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": [
|
||||
"identifier", "field_identifier", "type_identifier",
|
||||
"\"(\"", "\")\"", "\"[\"", "\"]\"", "\"*\""],
|
||||
|
||||
"complexScopes": {
|
||||
"type_identifier": "type",
|
||||
"scoped_type_identifier > type_identifier": "type",
|
||||
"use_declaration > identifier": "type",
|
||||
"use_declaration > scoped_identifier > identifier[-1]": "type",
|
||||
"use_list > identifier": "type",
|
||||
"use_list > scoped_identifier > identifier": "type",
|
||||
"use_wildcard > \"*\"": "type",
|
||||
"use_as_clause > identifier": "type",
|
||||
"tuple_struct_pattern > identifier": "type",
|
||||
"tuple_struct_pattern > scoped_identifier > identifier[-1]": "type",
|
||||
"enum_variant > identifier": "type",
|
||||
"match_pattern > scoped_identifier > identifier[-1]": "type",
|
||||
"unit_type > \"(\"": "type",
|
||||
"unit_type > \")\"": "type",
|
||||
|
||||
"scoped_identifier > identifier": "scope",
|
||||
"scoped_type_identifier > identifier": "scope",
|
||||
"scoped_type_identifier > scoped_identifier > identifier": "scope",
|
||||
"scoped_identifier > scoped_identifier > identifier": "scope",
|
||||
"scoped_use_list > scoped_identifier > identifier": "scope",
|
||||
"scoped_use_list > identifier": "scope",
|
||||
"use_wildcard > scoped_identifier > identifier": "scope",
|
||||
"use_wildcard > identifier": "scope",
|
||||
"struct_pattern > scoped_type_identifier > identifier": "scope",
|
||||
"struct_expression > scoped_type_identifier > identifier": "scope",
|
||||
|
||||
"identifier": "variable",
|
||||
"field_identifier": "variable",
|
||||
"scoped_identifier > identifier[-1]": "variable",
|
||||
|
||||
"call_expression > identifier": "function",
|
||||
"call_expression > field_expression > field_identifier[-1]": "function",
|
||||
"call_expression > scoped_identifier > identifier[-1]": "function",
|
||||
"macro_invocation > identifier": "function",
|
||||
"macro_definition > identifier": "function",
|
||||
"generic_function > identifier": "function",
|
||||
"generic_function > field_expression > field_identifier": "function",
|
||||
"generic_function > scoped_identifier > identifier": "function",
|
||||
"function_item > identifier": "function",
|
||||
"function_signature_item > identifier": "function",
|
||||
|
||||
"lifetime > identifier": "modifier",
|
||||
|
||||
"meta_item > identifier": "directive",
|
||||
|
||||
"\"*\"": "operator",
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"unit_expression > \"(\"": "constant",
|
||||
"unit_expression > \")\"": "constant",
|
||||
"attribute_item > \"[\"": "directive",
|
||||
"attribute_item > \"]\"": "directive"
|
||||
}
|
||||
}
|
||||
156
mixly/common/templates/json/tree-sitter/grammars/typescript.json
Normal file
156
mixly/common/templates/json/tree-sitter/grammars/typescript.json
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"simpleTerms": {
|
||||
"type_identifier": "type",
|
||||
"predefined_type": "type",
|
||||
|
||||
"namespace": "scope",
|
||||
"\"module\"": "scope",
|
||||
|
||||
"shorthand_property_identifier": "variable",
|
||||
|
||||
"\"var\"": "modifier",
|
||||
"\"let\"": "modifier",
|
||||
"\"extends\"": "modifier",
|
||||
"\"const\"": "modifier",
|
||||
"\"static\"": "modifier",
|
||||
"\"public\"": "modifier",
|
||||
"\"private\"": "modifier",
|
||||
"\"protected\"": "modifier",
|
||||
"\"readonly\"": "modifier",
|
||||
|
||||
"number": "number",
|
||||
"string": "string",
|
||||
"escape_sequence": "string",
|
||||
"template_string": "string",
|
||||
"template_substitution": "string",
|
||||
"regex": "string",
|
||||
"comment": "comment",
|
||||
"hash_bang_line": "comment",
|
||||
|
||||
"true": "constant",
|
||||
"false": "constant",
|
||||
"null": "constant",
|
||||
"undefined": "constant",
|
||||
|
||||
"\"as\"": "control",
|
||||
"\"if\"": "control",
|
||||
"\"do\"": "control",
|
||||
"\"else\"": "control",
|
||||
"\"while\"": "control",
|
||||
"\"for\"": "control",
|
||||
"\"return\"": "control",
|
||||
"\"break\"": "control",
|
||||
"\"continue\"": "control",
|
||||
"\"throw\"": "control",
|
||||
"\"try\"": "control",
|
||||
"\"catch\"": "control",
|
||||
"\"finally\"": "control",
|
||||
"\"switch\"": "control",
|
||||
"\"case\"": "control",
|
||||
"\"default\"": "control",
|
||||
"\"export\"": "control",
|
||||
"\"import\"": "control",
|
||||
"\"from\"": "control",
|
||||
"\"yield\"": "control",
|
||||
"\"async\"": "control",
|
||||
"\"await\"": "control",
|
||||
"\"debugger\"": "control",
|
||||
|
||||
"this": "operator",
|
||||
"\"class\"": "operator",
|
||||
"\"type\"": "operator",
|
||||
"\"enum\"": "operator",
|
||||
"\"function\"": "operator",
|
||||
"\"interface\"": "operator",
|
||||
"\"implements\"": "operator",
|
||||
"\"declare\"": "operator",
|
||||
|
||||
"\"in\"": "operator",
|
||||
"\"instanceof\"": "operator",
|
||||
"\"of\"": "operator",
|
||||
"\"new\"": "operator",
|
||||
"\"delete\"": "operator",
|
||||
"\"typeof\"": "operator",
|
||||
"\"get\"": "operator",
|
||||
"\"set\"": "operator",
|
||||
|
||||
"\"=\"": "operator",
|
||||
"\"+=\"": "operator",
|
||||
"\"-=\"": "operator",
|
||||
"\"*=\"": "operator",
|
||||
"\"/=\"": "operator",
|
||||
"\"%=\"": "operator",
|
||||
"\"<<=\"": "operator",
|
||||
"\">>=\"": "operator",
|
||||
"\">>>=\"": "operator",
|
||||
"\"&=\"": "operator",
|
||||
"\"^=\"": "operator",
|
||||
"\"|=\"": "operator",
|
||||
"\"!\"": "operator",
|
||||
"\"+\"": "operator",
|
||||
"\"-\"": "operator",
|
||||
"\"*\"": "operator",
|
||||
"\"/\"": "operator",
|
||||
"\"%\"": "operator",
|
||||
"\"==\"": "operator",
|
||||
"\"===\"": "operator",
|
||||
"\"!=\"": "operator",
|
||||
"\"!==\"": "operator",
|
||||
"\">=\"": "operator",
|
||||
"\"<=\"": "operator",
|
||||
"\"=>\"": "operator",
|
||||
"\">\"": "operator",
|
||||
"\"<\"": "operator",
|
||||
"\":\"": "operator",
|
||||
"\"?\"": "operator",
|
||||
"\"&&\"": "operator",
|
||||
"\"||\"": "operator",
|
||||
"\"&\"": "operator",
|
||||
"\"~\"": "operator",
|
||||
"\"^\"": "operator",
|
||||
"\">>\"": "operator",
|
||||
"\">>>\"": "operator",
|
||||
"\"<<\"": "operator",
|
||||
"\"|\"": "operator",
|
||||
"\"++\"": "operator",
|
||||
"\"--\"": "operator",
|
||||
"\"...\"": "operator",
|
||||
|
||||
"\"(\"": "punctuation",
|
||||
"\")\"": "punctuation",
|
||||
"\"{\"": "punctuation",
|
||||
"\"}\"": "punctuation",
|
||||
"\";\"": "punctuation",
|
||||
"\"[\"": "punctuation",
|
||||
"\"]\"": "punctuation",
|
||||
"\".\"": "punctuation",
|
||||
"\",\"": "punctuation",
|
||||
"\"${\"": "punctuation"
|
||||
},
|
||||
|
||||
"complexTerms": ["identifier", "property_identifier", "super"],
|
||||
|
||||
"complexScopes": {
|
||||
"class > identifier": "type",
|
||||
"new_expression > call_expression > identifier": "type",
|
||||
"jsx_opening_element > identifier": "type",
|
||||
"jsx_closing_element > identifier": "type",
|
||||
"jsx_self_closing_element > identifier": "type",
|
||||
|
||||
"nested_type_identifier > identifier": "scope",
|
||||
|
||||
"identifier": "variable",
|
||||
"property_identifier": "variable",
|
||||
"member_expression > property_identifier": "variable",
|
||||
"jsx_attribute > property_identifier": "variable",
|
||||
|
||||
"call_expression > identifier": "function",
|
||||
"call_expression > super": "function",
|
||||
"function > identifier": "function",
|
||||
"generator_function > identifier": "function",
|
||||
"method_definition > property_identifier": "function",
|
||||
"call_expression > member_expression > property_identifier": "function",
|
||||
"method_signature > property_identifier": "function",
|
||||
"function_signature > identifier": "function"
|
||||
}
|
||||
}
|
||||
124
mixly/common/templates/json/tree-sitter/themes/dark-cpp.json
Normal file
124
mixly/common/templates/json/tree-sitter/themes/dark-cpp.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"monacoTreeSitter": {
|
||||
"type": "#4EC9B0",
|
||||
"scope": "#D4D4D4",
|
||||
"function": "#E5C07B",
|
||||
"variable": "#9CDCFE",
|
||||
"number": "#B5CEA8",
|
||||
"string": "#D19A66",
|
||||
"comment": "#5C6370",
|
||||
"constant": "#56B6C2",
|
||||
"directive": "#C586C0",
|
||||
"control": "#569CD6",
|
||||
"operator": "#D4D4D4",
|
||||
"modifier": "#569CD6",
|
||||
"punctuation": "#D4D4D4"
|
||||
},
|
||||
"base": {
|
||||
"base": "vs-dark",
|
||||
"inherit": true,
|
||||
"rules": [
|
||||
{
|
||||
"token": "comment",
|
||||
"foreground": "5C6370",
|
||||
"fontStyle": "italic"
|
||||
},
|
||||
{
|
||||
"token": "keyword",
|
||||
"foreground": "569CD6",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control",
|
||||
"foreground": "569CD6",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "storage",
|
||||
"foreground": "569CD6",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "storage.type",
|
||||
"foreground": "569CD6",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.type",
|
||||
"foreground": "4EC9B0"
|
||||
},
|
||||
{
|
||||
"token": "support.type",
|
||||
"foreground": "4EC9B0"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function",
|
||||
"foreground": "E5C07B",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "support.function",
|
||||
"foreground": "E5C07B",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "meta.function-call",
|
||||
"foreground": "E5C07B",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "variable",
|
||||
"foreground": "9CDCFE"
|
||||
},
|
||||
{
|
||||
"token": "variable.parameter",
|
||||
"foreground": "9CDCFE"
|
||||
},
|
||||
{
|
||||
"token": "constant.numeric",
|
||||
"foreground": "B5CEA8"
|
||||
},
|
||||
{
|
||||
"token": "constant.language",
|
||||
"foreground": "56B6C2",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "support.constant",
|
||||
"foreground": "56B6C2",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "string",
|
||||
"foreground": "D19A66"
|
||||
},
|
||||
{
|
||||
"token": "meta.preprocessor",
|
||||
"foreground": "C586C0",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control.directive",
|
||||
"foreground": "C586C0",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "operator",
|
||||
"foreground": "D4D4D4"
|
||||
},
|
||||
{
|
||||
"token": "invalid",
|
||||
"foreground": "FFFFFF",
|
||||
"background": "F44747"
|
||||
}
|
||||
],
|
||||
"colors": {
|
||||
"editor.foreground": "#D4D4D4",
|
||||
"editor.background": "#1E1E1E",
|
||||
"editor.selectionBackground": "#2C313A",
|
||||
"editor.lineHighlightBackground": "#2A2D2E",
|
||||
"editorCursor.foreground": "#AEAFAD",
|
||||
"editorWhitespace.foreground": "#404040"
|
||||
}
|
||||
}
|
||||
}
|
||||
116
mixly/common/templates/json/tree-sitter/themes/dark-python.json
Normal file
116
mixly/common/templates/json/tree-sitter/themes/dark-python.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"monacoTreeSitter": {
|
||||
"type": "#0ca1a6",
|
||||
"scope": "#dae3e3",
|
||||
"function": "#F39C12",
|
||||
"variable": "#dae3e3",
|
||||
"number": "#7fcbcd",
|
||||
"string": "#7fcbcd",
|
||||
"comment": "#7f8c8d",
|
||||
"constant": "#7fcbcd",
|
||||
"directive": "#C586C0",
|
||||
"control": "#0ca1a6",
|
||||
"operator": "#dae3e3",
|
||||
"modifier": "#0ca1a6",
|
||||
"punctuation": "#dae3e3"
|
||||
},
|
||||
"base": {
|
||||
"base": "vs-dark",
|
||||
"inherit": true,
|
||||
"rules": [
|
||||
{
|
||||
"token": "comment",
|
||||
"foreground": "7f8c8d"
|
||||
},
|
||||
{
|
||||
"token": "keyword",
|
||||
"foreground": "0ca1a6"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control",
|
||||
"foreground": "0ca1a6"
|
||||
},
|
||||
{
|
||||
"token": "storage",
|
||||
"foreground": "0ca1a6"
|
||||
},
|
||||
{
|
||||
"token": "storage.type",
|
||||
"foreground": "0ca1a6"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.type",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "support.type",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function",
|
||||
"foreground": "F39C12"
|
||||
},
|
||||
{
|
||||
"token": "support.function",
|
||||
"foreground": "F39C12"
|
||||
},
|
||||
{
|
||||
"token": "meta.function-call",
|
||||
"foreground": "F39C12"
|
||||
},
|
||||
{
|
||||
"token": "variable",
|
||||
"foreground": "dae3e3"
|
||||
},
|
||||
{
|
||||
"token": "variable.parameter",
|
||||
"foreground": "dae3e3"
|
||||
},
|
||||
{
|
||||
"token": "constant.numeric",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "constant.language",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "support.constant",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "string",
|
||||
"foreground": "7fcbcd"
|
||||
},
|
||||
{
|
||||
"token": "meta.preprocessor",
|
||||
"foreground": "C586C0"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control.directive",
|
||||
"foreground": "C586C0"
|
||||
},
|
||||
{
|
||||
"token": "operator",
|
||||
"foreground": "dae3e3"
|
||||
},
|
||||
{
|
||||
"token": "punctuation",
|
||||
"foreground": "dae3e3"
|
||||
},
|
||||
{
|
||||
"token": "invalid",
|
||||
"foreground": "ffffff",
|
||||
"background": "df7365"
|
||||
}
|
||||
],
|
||||
"colors": {
|
||||
"editor.background": "#1f272a",
|
||||
"editor.foreground": "#dae3e3",
|
||||
"editor.selectionBackground": "#00818480",
|
||||
"editor.lineHighlightBackground": "#434f5410",
|
||||
"editorCursor.foreground": "#dae3e3",
|
||||
"editorWhitespace.foreground": "#374146"
|
||||
}
|
||||
}
|
||||
}
|
||||
113
mixly/common/templates/json/tree-sitter/themes/light-cpp.json
Normal file
113
mixly/common/templates/json/tree-sitter/themes/light-cpp.json
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"monacoTreeSitter": {
|
||||
"type": "#005C5F",
|
||||
"scope": "#4e5b61",
|
||||
"function": "#D35400",
|
||||
"variable": "#4e5b61",
|
||||
"number": "#005C5F",
|
||||
"string": "#005C5F",
|
||||
"comment": "#95a5a6cc",
|
||||
"constant": "#005C5F",
|
||||
"directive": "#728E00",
|
||||
"control": "#00979D",
|
||||
"operator": "#4e5b61",
|
||||
"modifier": "#00979D",
|
||||
"punctuation": "#4e5b61"
|
||||
},
|
||||
"base": {
|
||||
"base": "vs",
|
||||
"inherit": true,
|
||||
"rules": [
|
||||
{
|
||||
"token": "comment",
|
||||
"foreground": "95a5a6"
|
||||
},
|
||||
{
|
||||
"token": "keyword",
|
||||
"foreground": "00979D"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control",
|
||||
"foreground": "00979D"
|
||||
},
|
||||
{
|
||||
"token": "storage",
|
||||
"foreground": "00979D"
|
||||
},
|
||||
{
|
||||
"token": "storage.type",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.type",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "support.type",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function",
|
||||
"foreground": "D35400"
|
||||
},
|
||||
{
|
||||
"token": "support.function",
|
||||
"foreground": "D35400"
|
||||
},
|
||||
{
|
||||
"token": "meta.function-call",
|
||||
"foreground": "D35400"
|
||||
},
|
||||
{
|
||||
"token": "variable",
|
||||
"foreground": "4e5b61"
|
||||
},
|
||||
{
|
||||
"token": "variable.parameter",
|
||||
"foreground": "4e5b61"
|
||||
},
|
||||
{
|
||||
"token": "constant.numeric",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "constant.language",
|
||||
"foreground": "005C5F",
|
||||
"fontStyle": "bold"
|
||||
},
|
||||
{
|
||||
"token": "support.constant",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "string",
|
||||
"foreground": "005C5F"
|
||||
},
|
||||
{
|
||||
"token": "meta.preprocessor",
|
||||
"foreground": "728E00"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control.directive",
|
||||
"foreground": "728E00"
|
||||
},
|
||||
{
|
||||
"token": "operator",
|
||||
"foreground": "4e5b61"
|
||||
},
|
||||
{
|
||||
"token": "invalid",
|
||||
"foreground": "ffffff",
|
||||
"background": "df7365"
|
||||
}
|
||||
],
|
||||
"colors": {
|
||||
"editor.foreground": "#4e5b61",
|
||||
"editor.background": "#ffffff",
|
||||
"editor.selectionBackground": "#7fcbcdb3",
|
||||
"editor.lineHighlightBackground": "#434f5410",
|
||||
"editorCursor.foreground": "#4e5b61",
|
||||
"editorWhitespace.foreground": "#bfbfbf"
|
||||
}
|
||||
}
|
||||
}
|
||||
104
mixly/common/templates/json/tree-sitter/themes/light-python.json
Normal file
104
mixly/common/templates/json/tree-sitter/themes/light-python.json
Normal file
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"monacoTreeSitter": {
|
||||
"type": "#267F99",
|
||||
"scope": "#333333",
|
||||
"function": "#795E26",
|
||||
"variable": "#333333",
|
||||
"number": "#098658",
|
||||
"string": "#A31515",
|
||||
"comment": "#008000",
|
||||
"constant": "#0451A5",
|
||||
"directive": "#AF00DB",
|
||||
"control": "#AF00DB",
|
||||
"operator": "#333333",
|
||||
"modifier": "#AF00DB",
|
||||
"punctuation": "#333333"
|
||||
},
|
||||
"base": {
|
||||
"base": "vs",
|
||||
"inherit": true,
|
||||
"rules": [
|
||||
{
|
||||
"token": "comment",
|
||||
"foreground": "008000"
|
||||
},
|
||||
{
|
||||
"token": "keyword",
|
||||
"foreground": "AF00DB"
|
||||
},
|
||||
{
|
||||
"token": "keyword.control",
|
||||
"foreground": "AF00DB"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.class",
|
||||
"foreground": "267F99"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.type",
|
||||
"foreground": "267F99"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function",
|
||||
"foreground": "795E26"
|
||||
},
|
||||
{
|
||||
"token": "support.function.builtin",
|
||||
"foreground": "0451A5"
|
||||
},
|
||||
{
|
||||
"token": "variable.parameter",
|
||||
"foreground": "001080"
|
||||
},
|
||||
{
|
||||
"token": "variable.language.self",
|
||||
"foreground": "001080"
|
||||
},
|
||||
{
|
||||
"token": "entity.name.function.magic",
|
||||
"foreground": "001080"
|
||||
},
|
||||
{
|
||||
"token": "meta.decorator",
|
||||
"foreground": "AF00DB"
|
||||
},
|
||||
{
|
||||
"token": "string",
|
||||
"foreground": "A31515"
|
||||
},
|
||||
{
|
||||
"token": "string.doc",
|
||||
"foreground": "008000"
|
||||
},
|
||||
{
|
||||
"token": "constant.numeric",
|
||||
"foreground": "098658"
|
||||
},
|
||||
{
|
||||
"token": "constant.language",
|
||||
"foreground": "0451A5"
|
||||
},
|
||||
{
|
||||
"token": "punctuation",
|
||||
"foreground": "333333"
|
||||
},
|
||||
{
|
||||
"token": "keyword.operator",
|
||||
"foreground": "333333"
|
||||
},
|
||||
{
|
||||
"token": "invalid",
|
||||
"foreground": "FFFFFF",
|
||||
"background": "E51400"
|
||||
}
|
||||
],
|
||||
"colors": {
|
||||
"editor.background": "#FFFFFF",
|
||||
"editor.foreground": "#333333",
|
||||
"editor.selectionBackground": "#ADD6FF",
|
||||
"editor.lineHighlightBackground": "#FFFFFF",
|
||||
"editorCursor.foreground": "#000000",
|
||||
"editorWhitespace.foreground": "#BFBFBF"
|
||||
}
|
||||
}
|
||||
}
|
||||
8
mixly/common/templates/markdown/wiki-page-dir.md
Normal file
8
mixly/common/templates/markdown/wiki-page-dir.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: {{&title}}
|
||||
index: {{&index}}
|
||||
dir:
|
||||
order: {{&order}}
|
||||
---
|
||||
|
||||
<Catalog />
|
||||
26
mixly/common/templates/markdown/wiki-page-file.md
Normal file
26
mixly/common/templates/markdown/wiki-page-file.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: {{&title}}
|
||||
order: {{&order}}
|
||||
index: {{&index}}
|
||||
---
|
||||
{{#blocks}}
|
||||
<!--
|
||||
#### **块类型\: {{&type}}**
|
||||
|
||||
---
|
||||
-->
|
||||
|
||||
::: tabs
|
||||
|
||||
@tab 图形化
|
||||
|
||||
<img src="{{&imgPath}}" alt="模块" style="zoom:10%;" />
|
||||
|
||||
@tab 代码
|
||||
|
||||
```python
|
||||
{{&code}}
|
||||
```
|
||||
|
||||
:::
|
||||
{{/blocks}}
|
||||
27
mixly/common/templates/python/cpdir.py
Normal file
27
mixly/common/templates/python/cpdir.py
Normal file
@@ -0,0 +1,27 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def cpfile(src, dst):
|
||||
with open(src, 'rb') as src_file:
|
||||
content = src_file.read()
|
||||
with open(dst, 'wb') as dst_file:
|
||||
dst_file.write(content)
|
||||
|
||||
def cpdir(src, dst):
|
||||
try:
|
||||
os.mkdir(dst)
|
||||
except:
|
||||
pass
|
||||
for item in os.listdir(src):
|
||||
src_path = '{}/{}'.format(src, item)
|
||||
dst_path = '{}/{}'.format(dst, item)
|
||||
stat = os.stat(src_path)
|
||||
mode = stat[0]
|
||||
if mode & 0o170000 == 0o040000:
|
||||
cpdir(src_path, dst_path)
|
||||
else:
|
||||
cpfile(src_path, dst_path)
|
||||
|
||||
cpdir('{{&oldPath}}', '{{&newPath}}')
|
||||
12
mixly/common/templates/python/cpfile.py
Normal file
12
mixly/common/templates/python/cpfile.py
Normal file
@@ -0,0 +1,12 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def cpfile(src, dst):
|
||||
with open(src, 'rb') as src_file:
|
||||
content = src_file.read()
|
||||
with open(dst, 'wb') as dst_file:
|
||||
dst_file.write(content)
|
||||
|
||||
cpfile('{{&oldPath}}', '{{&newPath}}')
|
||||
6
mixly/common/templates/python/cwd.py
Normal file
6
mixly/common/templates/python/cwd.py
Normal file
@@ -0,0 +1,6 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
print(os.getcwd(), end='')
|
||||
9
mixly/common/templates/python/get.py
Normal file
9
mixly/common/templates/python/get.py
Normal file
@@ -0,0 +1,9 @@
|
||||
import sys
|
||||
import ubinascii
|
||||
|
||||
with open('{{&path}}', 'rb') as infile:
|
||||
while True:
|
||||
result = infile.read(32)
|
||||
if result == b'':
|
||||
break
|
||||
len = sys.stdout.write(ubinascii.hexlify(result))
|
||||
23
mixly/common/templates/python/ls-long-format.py
Normal file
23
mixly/common/templates/python/ls-long-format.py
Normal file
@@ -0,0 +1,23 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def listdir(directory):
|
||||
try:
|
||||
if directory == '/':
|
||||
return sorted([directory + f for f in os.listdir(directory)])
|
||||
else:
|
||||
return sorted([directory + '/' + f for f in os.listdir(directory)])
|
||||
except:
|
||||
return sorted([f for f in os.listdir()])
|
||||
|
||||
r = []
|
||||
for f in listdir('{{&path}}'):
|
||||
try:
|
||||
size = os.stat(f)[6]
|
||||
except:
|
||||
size = os.size(f)
|
||||
r.append([f, size])
|
||||
|
||||
print(r)
|
||||
35
mixly/common/templates/python/ls-recursive.py
Normal file
35
mixly/common/templates/python/ls-recursive.py
Normal file
@@ -0,0 +1,35 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def listdir(directory):
|
||||
result = set()
|
||||
|
||||
def _listdir(dir_or_file):
|
||||
try:
|
||||
# if its a directory, then it should provide some children.
|
||||
children = os.listdir(dir_or_file)
|
||||
except OSError:
|
||||
# probably a file. run stat() to confirm.
|
||||
os.stat(dir_or_file)
|
||||
result.add(dir_or_file)
|
||||
else:
|
||||
# probably a directory, add to result if empty.
|
||||
if children:
|
||||
# queue the children to be dealt with in next iteration.
|
||||
for child in children:
|
||||
# create the full path.
|
||||
if dir_or_file == '/':
|
||||
next = dir_or_file + child
|
||||
else:
|
||||
next = dir_or_file + '/' + child
|
||||
|
||||
_listdir(next)
|
||||
else:
|
||||
result.add(dir_or_file)
|
||||
|
||||
_listdir(directory)
|
||||
return sorted(result)
|
||||
|
||||
print(listdir('{{&path}}'))
|
||||
40
mixly/common/templates/python/ls.py
Normal file
40
mixly/common/templates/python/ls.py
Normal file
@@ -0,0 +1,40 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def check_path(path):
|
||||
try:
|
||||
stat = os.stat(path)
|
||||
# The first element of stat contains the file type and permission information
|
||||
# The mode index of the tuple returned by os.stat() is 0
|
||||
mode = stat[0]
|
||||
# To determine whether it is a directory, check the directory bit in stat mode
|
||||
if mode & 0o170000 == 0o040000:
|
||||
if len(os.listdir(path)):
|
||||
return 'dir'
|
||||
else:
|
||||
return 'empty dir'
|
||||
# To determine whether it is a file, check the file position in stat mode
|
||||
elif mode & 0o170000 == 0o100000:
|
||||
return 'file'
|
||||
else:
|
||||
return 'special file'
|
||||
except Exception:
|
||||
return 'none'
|
||||
|
||||
def listdir(directory):
|
||||
output = []
|
||||
if directory == '/':
|
||||
dirs = sorted([directory + f for f in os.listdir(directory)])
|
||||
else:
|
||||
dirs = sorted([directory + '/' + f for f in os.listdir(directory)])
|
||||
|
||||
for dir in dirs:
|
||||
info = check_path(dir)
|
||||
if info == 'none':
|
||||
continue
|
||||
output.append([dir, info])
|
||||
return output
|
||||
|
||||
print(listdir('{{&path}}'))
|
||||
59
mixly/common/templates/python/mixpy.py
Normal file
59
mixly/common/templates/python/mixpy.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import math
|
||||
|
||||
def math_map(v, al, ah, bl, bh):
|
||||
return bl + (bh - bl) * (v - al) / (ah - al)
|
||||
|
||||
def math_mean(myList):
|
||||
localList = [e for e in myList if type(e) == int or type(e) == float]
|
||||
if not localList: return
|
||||
return float(sum(localList)) / len(localList)
|
||||
|
||||
def math_median(myList):
|
||||
localList = sorted([e for e in myList if type(e) == int or type(e) == float])
|
||||
if not localList: return
|
||||
if len(localList) % 2 == 0:
|
||||
return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0
|
||||
else:
|
||||
return localList[(len(localList) - 1) // 2]
|
||||
|
||||
def math_modes(some_list):
|
||||
modes = []
|
||||
# Using a lists of [item, count] to keep count rather than dict
|
||||
# to avoid "unhashable" errors when the counted item is itself a list or dict.
|
||||
counts = []
|
||||
maxCount = 1
|
||||
for item in some_list:
|
||||
found = False
|
||||
for count in counts:
|
||||
if count[0] == item:
|
||||
count[1] += 1
|
||||
maxCount = max(maxCount, count[1])
|
||||
found = True
|
||||
if not found:
|
||||
counts.append([item, 1])
|
||||
for counted_item, item_count in counts:
|
||||
if item_count == maxCount:
|
||||
modes.append(counted_item)
|
||||
return modes
|
||||
|
||||
def math_standard_deviation(numbers):
|
||||
n = len(numbers)
|
||||
if n == 0: return
|
||||
mean = float(sum(numbers)) / n
|
||||
variance = sum((x - mean) ** 2 for x in numbers) / n
|
||||
return math.sqrt(variance)
|
||||
|
||||
def lists_sort(my_list, type, reverse):
|
||||
def try_float(s):
|
||||
try:
|
||||
return float(s)
|
||||
except:
|
||||
return 0
|
||||
key_funcs = {
|
||||
"NUMERIC": try_float,
|
||||
"TEXT": str,
|
||||
"IGNORE_CASE": lambda s: str(s).lower()
|
||||
}
|
||||
key_func = key_funcs[type]
|
||||
list_cpy = list(my_list)
|
||||
return sorted(list_cpy, key=key_func, reverse=reverse)
|
||||
6
mixly/common/templates/python/mkdir.py
Normal file
6
mixly/common/templates/python/mkdir.py
Normal file
@@ -0,0 +1,6 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
os.mkdir('{{&path}}')
|
||||
10
mixly/common/templates/python/mkfile.py
Normal file
10
mixly/common/templates/python/mkfile.py
Normal file
@@ -0,0 +1,10 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
try:
|
||||
os.stat('{{&path}}')
|
||||
except OSError:
|
||||
f = open('{{&path}}', 'w')
|
||||
f.close()
|
||||
6
mixly/common/templates/python/rename.py
Normal file
6
mixly/common/templates/python/rename.py
Normal file
@@ -0,0 +1,6 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
os.rename('{{&oldPath}}', '{{&newPath}}')
|
||||
6
mixly/common/templates/python/rm.py
Normal file
6
mixly/common/templates/python/rm.py
Normal file
@@ -0,0 +1,6 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
os.remove('{{&path}}')
|
||||
18
mixly/common/templates/python/rmdir.py
Normal file
18
mixly/common/templates/python/rmdir.py
Normal file
@@ -0,0 +1,18 @@
|
||||
try:
|
||||
import os
|
||||
except ImportError:
|
||||
import uos as os
|
||||
|
||||
def rmdir(directory):
|
||||
os.chdir(directory)
|
||||
for f in os.listdir():
|
||||
try:
|
||||
os.remove(f)
|
||||
except OSError:
|
||||
pass
|
||||
for f in os.listdir():
|
||||
rmdir(f)
|
||||
os.chdir('..')
|
||||
os.rmdir(directory)
|
||||
|
||||
rmdir('{{&path}}')
|
||||
6
mixly/common/templates/xml/default-categories.xml
Normal file
6
mixly/common/templates/xml/default-categories.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<xml>
|
||||
<category custom="VARIABLE">
|
||||
</category>
|
||||
<category custom="PROCEDURE">
|
||||
</category>
|
||||
</xml>
|
||||
Reference in New Issue
Block a user