Compare commits
81 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b3df681753 | ||
![]() |
524ccd06f3 | ||
![]() |
8c4c07c39b | ||
![]() |
296188c45e | ||
![]() |
509ae8d32e | ||
![]() |
f160353abe | ||
![]() |
02fb0db9de | ||
![]() |
0a0ec35b84 | ||
![]() |
fbcb165708 | ||
![]() |
643efb13a7 | ||
![]() |
5a2f14746f | ||
![]() |
fdf9004323 | ||
![]() |
12aa28e766 | ||
![]() |
1fb67e1730 | ||
![]() |
5f0520def9 | ||
![]() |
1aa45ddcdf | ||
![]() |
cfa6c104cd | ||
![]() |
3bb9acfb98 | ||
![]() |
50c585e14c | ||
![]() |
de8afc1e7a | ||
![]() |
eea02eed2a | ||
![]() |
40f57a9709 | ||
![]() |
f2809927c2 | ||
![]() |
f27afebd82 | ||
![]() |
78b4b28480 | ||
![]() |
76562a23ae | ||
![]() |
37a88ea3c4 | ||
![]() |
4d89b1853f | ||
![]() |
67a05dfb39 | ||
![]() |
3e207f7ed2 | ||
![]() |
d3bc36d9a1 | ||
![]() |
0a69f54851 | ||
![]() |
8b3448c72d | ||
![]() |
66b84418b4 | ||
![]() |
1834ba25e0 | ||
![]() |
740c77374e | ||
![]() |
50e9399ee1 | ||
![]() |
30d38e530e | ||
![]() |
6e5504c96c | ||
![]() |
85e0eabc76 | ||
![]() |
f83c1fddb4 | ||
![]() |
f35a9b594f | ||
![]() |
e8769b2e9e | ||
![]() |
24f81ba070 | ||
![]() |
a96a9ea5e5 | ||
![]() |
a98050b1cd | ||
![]() |
8ee1d0076b | ||
![]() |
f47931e763 | ||
![]() |
8539663056 | ||
![]() |
33fca7c176 | ||
![]() |
c80ad41521 | ||
![]() |
9ef4fc3195 | ||
![]() |
a37f2f0eee | ||
![]() |
ff0c2a72df | ||
![]() |
ef920c4bac | ||
![]() |
224f83a283 | ||
![]() |
f1d91162c3 | ||
![]() |
63fd01ae26 | ||
![]() |
d6bdccf66e | ||
![]() |
ead2414c48 | ||
![]() |
ef18541531 | ||
![]() |
7e0b9ecb56 | ||
![]() |
e537b61edd | ||
![]() |
175016bb1a | ||
![]() |
9f4c12ba96 | ||
![]() |
6dc14e0fd5 | ||
![]() |
b154d87865 | ||
![]() |
0aa7e53a78 | ||
![]() |
272918bff6 | ||
![]() |
7cddcee951 | ||
![]() |
fa2bbe39c4 | ||
![]() |
a5fb726206 | ||
![]() |
ec22c00ba5 | ||
![]() |
9be970614a | ||
![]() |
8107b96563 | ||
![]() |
62b94bff2f | ||
![]() |
42867818da | ||
![]() |
0bbb11131d | ||
![]() |
c540f1a813 | ||
![]() |
450a0f3980 | ||
![]() |
7807c5e1c8 |
@@ -747,6 +747,15 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "attet",
|
||||
"name": "Atte Timonen",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1911416?v=4",
|
||||
"profile": "https://github.com/attet",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
8
.github/workflows/build.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.0.0
|
||||
uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.0.0
|
||||
uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
@@ -134,7 +134,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v3.0.0
|
||||
uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
@@ -241,7 +241,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.0.0
|
||||
uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
|
6
.github/workflows/codeql-analysis.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -67,4 +67,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
2
.github/workflows/docs.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.0.0
|
||||
uses: actions/setup-node@v3.2.0
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
|
@@ -258,6 +258,7 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -253,6 +253,7 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -247,6 +247,7 @@ Pull requests and plugins are welcome!
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -257,6 +257,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -253,6 +253,7 @@ Pull-запросы и плагины приветствуются!
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -252,6 +252,7 @@
|
||||
<td align="center"><a href="https://magiclike.codeberg.page/"><img src="https://avatars.githubusercontent.com/u/82117109?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MagicLike</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=MagicLike" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/hisamafahri"><img src="https://avatars.githubusercontent.com/u/65691613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hisam Fahri</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=hisamafahri" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://liangchengj.com"><img src="https://avatars.githubusercontent.com/u/48881023?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Liangcheng Juves</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=LiangchengJ" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/attet"><img src="https://avatars.githubusercontent.com/u/1911416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Atte Timonen</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=attet" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -6,7 +6,7 @@ import * as path from 'path'
|
||||
import * as fs from 'fs'
|
||||
import { Subject, throttleTime } from 'rxjs'
|
||||
|
||||
import { loadConfig } from './config'
|
||||
import { saveConfig } from './config'
|
||||
import { Window, WindowOptions } from './window'
|
||||
import { pluginManager } from './pluginManager'
|
||||
import { PTYManager } from './pty'
|
||||
@@ -23,10 +23,10 @@ export class Application {
|
||||
private windows: Window[] = []
|
||||
private globalHotkey$ = new Subject<void>()
|
||||
private quitRequested = false
|
||||
private configStore: any
|
||||
userPluginsPath: string
|
||||
|
||||
constructor () {
|
||||
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
||||
constructor (private configStore: any) {
|
||||
remote.initialize()
|
||||
this.useBuiltinGraphics()
|
||||
this.ptyManager.init(this)
|
||||
@@ -36,6 +36,10 @@ export class Application {
|
||||
this.configStore = config
|
||||
})
|
||||
|
||||
ipcMain.on('app:save-config', (_event, data) => {
|
||||
saveConfig(data)
|
||||
})
|
||||
|
||||
ipcMain.on('app:register-global-hotkey', (_event, specs) => {
|
||||
globalShortcut.unregisterAll()
|
||||
for (const spec of specs) {
|
||||
@@ -63,7 +67,6 @@ export class Application {
|
||||
}
|
||||
})
|
||||
|
||||
this.configStore = loadConfig()
|
||||
if (process.platform === 'linux') {
|
||||
app.commandLine.appendSwitch('no-sandbox')
|
||||
if (((this.configStore.appearance || {}).opacity || 1) !== 1) {
|
||||
@@ -111,7 +114,7 @@ export class Application {
|
||||
}
|
||||
|
||||
async newWindow (options?: WindowOptions): Promise<Window> {
|
||||
const window = new Window(this, options)
|
||||
const window = new Window(this, this.configStore, options)
|
||||
this.windows.push(window)
|
||||
if (this.windows.length === 1){
|
||||
window.makeMain()
|
||||
|
@@ -1,26 +1,47 @@
|
||||
import * as fs from 'fs'
|
||||
import * as fs from 'mz/fs'
|
||||
import * as path from 'path'
|
||||
import * as yaml from 'js-yaml'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import * as gracefulFS from 'graceful-fs'
|
||||
import { app } from 'electron'
|
||||
import { promisify } from 'util'
|
||||
|
||||
export function migrateConfig (): void {
|
||||
export async function migrateConfig (): Promise<void> {
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
const legacyConfigPath = path.join(app.getPath('userData'), '../terminus', 'config.yaml')
|
||||
if (fs.existsSync(legacyConfigPath) && (
|
||||
!fs.existsSync(configPath) ||
|
||||
fs.statSync(configPath).mtime < fs.statSync(legacyConfigPath).mtime
|
||||
if (await fs.exists(legacyConfigPath) && (
|
||||
!await fs.exists(configPath) ||
|
||||
(await fs.stat(configPath)).mtime < (await fs.stat(legacyConfigPath)).mtime
|
||||
)) {
|
||||
fs.writeFileSync(configPath, fs.readFileSync(legacyConfigPath))
|
||||
await fs.writeFile(configPath, await fs.readFile(legacyConfigPath))
|
||||
}
|
||||
}
|
||||
|
||||
export function loadConfig (): any {
|
||||
migrateConfig()
|
||||
export async function loadConfig (): Promise<any> {
|
||||
await migrateConfig()
|
||||
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
if (fs.existsSync(configPath)) {
|
||||
return yaml.load(fs.readFileSync(configPath, 'utf8'))
|
||||
if (await fs.exists(configPath)) {
|
||||
return yaml.load(await fs.readFile(configPath, 'utf8'))
|
||||
} else {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
let _configSaveInProgress = Promise.resolve()
|
||||
|
||||
async function _saveConfigInternal (content: string): Promise<void> {
|
||||
const tempPath = configPath + '.new.' + uuidv4().toString()
|
||||
await fs.writeFile(tempPath, content, 'utf8')
|
||||
await fs.writeFile(configPath + '.backup', content, 'utf8')
|
||||
await promisify(gracefulFS.rename)(tempPath, configPath)
|
||||
}
|
||||
|
||||
export async function saveConfig (content: string): Promise<void> {
|
||||
try {
|
||||
await _configSaveInProgress
|
||||
} catch { }
|
||||
_configSaveInProgress = _saveConfigInternal(content)
|
||||
await _configSaveInProgress
|
||||
}
|
||||
|
@@ -3,53 +3,62 @@ import './portable'
|
||||
import 'source-map-support/register'
|
||||
import './sentry'
|
||||
import './lru'
|
||||
import { app, ipcMain, Menu } from 'electron'
|
||||
import { app, ipcMain, Menu, dialog } from 'electron'
|
||||
import { parseArgs } from './cli'
|
||||
import { Application } from './app'
|
||||
import electronDebug = require('electron-debug')
|
||||
import { loadConfig } from './config'
|
||||
|
||||
if (!process.env.TABBY_PLUGINS) {
|
||||
process.env.TABBY_PLUGINS = ''
|
||||
}
|
||||
|
||||
const application = new Application()
|
||||
const argv = parseArgs(process.argv, process.cwd())
|
||||
|
||||
ipcMain.on('app:new-window', () => {
|
||||
application.newWindow()
|
||||
const application = loadConfig().catch(err => {
|
||||
dialog.showErrorBox('Could not read config', err.message)
|
||||
app.exit(1)
|
||||
}).then(configStore => {
|
||||
const _application = new Application(configStore)
|
||||
|
||||
ipcMain.on('app:new-window', () => {
|
||||
_application.newWindow()
|
||||
})
|
||||
|
||||
process.on('uncaughtException' as any, err => {
|
||||
console.log(err)
|
||||
_application.broadcast('uncaughtException', err)
|
||||
})
|
||||
|
||||
if (argv.d) {
|
||||
electronDebug({
|
||||
isEnabled: true,
|
||||
showDevTools: true,
|
||||
devToolsMode: 'undocked',
|
||||
})
|
||||
}
|
||||
|
||||
return _application
|
||||
})
|
||||
|
||||
app.on('activate', () => {
|
||||
if (!application.hasWindows()) {
|
||||
application.newWindow()
|
||||
|
||||
app.on('activate', async () => {
|
||||
if (!(await application).hasWindows()) {
|
||||
(await application).newWindow()
|
||||
} else {
|
||||
application.focus()
|
||||
(await application).focus()
|
||||
}
|
||||
})
|
||||
|
||||
process.on('uncaughtException' as any, err => {
|
||||
console.log(err)
|
||||
application.broadcast('uncaughtException', err)
|
||||
app.on('second-instance', async (_event, newArgv, cwd) => {
|
||||
(await application).handleSecondInstance(newArgv, cwd)
|
||||
})
|
||||
|
||||
app.on('second-instance', (_event, argv, cwd) => {
|
||||
application.handleSecondInstance(argv, cwd)
|
||||
})
|
||||
|
||||
const argv = parseArgs(process.argv, process.cwd())
|
||||
|
||||
if (!app.requestSingleInstanceLock()) {
|
||||
app.quit()
|
||||
app.exit(0)
|
||||
}
|
||||
|
||||
if (argv.d) {
|
||||
electronDebug({
|
||||
isEnabled: true,
|
||||
showDevTools: true,
|
||||
devToolsMode: 'undocked',
|
||||
})
|
||||
}
|
||||
|
||||
app.on('ready', async () => {
|
||||
if (process.platform === 'darwin') {
|
||||
app.dock.setMenu(Menu.buildFromTemplate([
|
||||
@@ -61,9 +70,11 @@ app.on('ready', async () => {
|
||||
},
|
||||
]))
|
||||
}
|
||||
application.init()
|
||||
|
||||
const window = await application.newWindow({ hidden: argv.hidden })
|
||||
(await application).init()
|
||||
|
||||
const window = await (await application).newWindow({ hidden: argv.hidden })
|
||||
await window.ready
|
||||
window.passCliArguments(process.argv, process.cwd(), false)
|
||||
window.focus()
|
||||
})
|
||||
|
@@ -11,7 +11,6 @@ import { compare as compareVersions } from 'compare-versions'
|
||||
|
||||
import type { Application } from './app'
|
||||
import { parseArgs } from './cli'
|
||||
import { loadConfig } from './config'
|
||||
|
||||
let DwmEnableBlurBehindWindow: any = null
|
||||
if (process.platform === 'win32') {
|
||||
@@ -42,7 +41,6 @@ export class Window {
|
||||
private closing = false
|
||||
private lastVibrancy: { enabled: boolean, type?: string } | null = null
|
||||
private disableVibrancyWhileDragging = false
|
||||
private configStore: any
|
||||
private touchBarControl: any
|
||||
private isFluentVibrancy = false
|
||||
private dockHidden = false
|
||||
@@ -50,9 +48,8 @@ export class Window {
|
||||
get visible$ (): Observable<boolean> { return this.visible }
|
||||
get closed$ (): Observable<void> { return this.closed }
|
||||
|
||||
constructor (private application: Application, options?: WindowOptions) {
|
||||
this.configStore = loadConfig()
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
||||
constructor (private application: Application, private configStore: any, options?: WindowOptions) {
|
||||
options = options ?? {}
|
||||
|
||||
this.windowConfig = new ElectronConfig({ name: 'window' })
|
||||
@@ -75,6 +72,7 @@ export class Window {
|
||||
frame: false,
|
||||
show: false,
|
||||
backgroundColor: '#00000000',
|
||||
acceptFirstMouse: true,
|
||||
}
|
||||
|
||||
if (this.windowBounds) {
|
||||
|
@@ -11,12 +11,6 @@ msgstr ""
|
||||
msgid "{name} copy"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid ""
|
||||
"<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
msgstr ""
|
||||
@@ -220,7 +214,7 @@ msgstr ""
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:79
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:99
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:40
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:458
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:459
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -365,10 +359,10 @@ msgstr ""
|
||||
msgid "Context menu"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:201
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:209
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:549
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:753
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:202
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:210
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:550
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:754
|
||||
#: tabby-terminal/src/tabContextMenu.ts:29
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
@@ -845,7 +839,7 @@ msgid "Help track the number of Tabby installs across the world!"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgid "Help translate Tabby"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
@@ -1346,7 +1340,7 @@ msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:60
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:457
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:458
|
||||
#: tabby-terminal/src/tabContextMenu.ts:34
|
||||
msgid "Paste"
|
||||
msgstr ""
|
||||
@@ -1355,7 +1349,7 @@ msgstr ""
|
||||
msgid "Paste from clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:464
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:465
|
||||
msgid "Paste multiple lines?"
|
||||
msgstr ""
|
||||
|
||||
@@ -1721,7 +1715,7 @@ msgstr ""
|
||||
msgid "Shell"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:551
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:552
|
||||
msgid "Shell does not support current path detection"
|
||||
msgstr ""
|
||||
|
||||
@@ -1959,7 +1953,7 @@ msgstr ""
|
||||
msgid "Telnet session"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:190
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:191
|
||||
#: tabby-terminal/src/settings.ts:43
|
||||
msgid "Terminal"
|
||||
msgstr ""
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "{name} Kopie"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">Erkennung von Arbeitsverzeichnissen</strong>\n"
|
||||
"<div translate=\"\">Erfahren Sie, wie Tabby das Arbeitsverzeichnis der Remote Shell erkennen kann.</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "Nur einmal akzeptieren"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "Bedienungshilfen"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "Unschärfeeffekt"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "Strichstärke Fettschrift"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -502,7 +503,7 @@ msgstr "{fullPath} löschen?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Gesamte Zeile löschen"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "Download"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "Zeige fett geschriebenen Text in hellen Farben"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "Anonyme Nutzungsdaten senden"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "Animationen aktivieren"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "Datei: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filter"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -855,7 +856,7 @@ msgstr "Hilf dabei, die Anzahl der Tabby-Installationen auf der ganzen Welt zu v
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Hilf Tabby zu übersetzen<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -1186,7 +1187,7 @@ msgstr "Neues Fenster"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "Normal"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "Strichstärke Normalschrift"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "{name} - Copie"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">Détection du répertoire de travail</strong>\n"
|
||||
"<div translate=\"\">Apprenez comment permettre à Tabby de détecter le répertoire de travail distant.</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "Accepter uniquement cette fois"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "Accessibilité"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "Flouté"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "Épaisseur de police en gras"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -502,7 +503,7 @@ msgstr "Supprimer {fullPath}?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Supprimer toute la ligne"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "Télécharger"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "Afficher le texte en gras avec des couleurs vives"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "Activer la télémétrie"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "Activer les animations"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "Fichier : {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtre"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -855,7 +856,7 @@ msgstr "Aidez à suivre le nombre d'installations de Tabby à travers le monde !
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Aidez à traduire Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -1186,7 +1187,7 @@ msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "Normal"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "Épaisseur de police normale"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Language: hr_HR\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:36\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "kopija {name}"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">Otkrivanje radne mape</strong>\n"
|
||||
"<div translate=\"\">Saznaj kako dopustiti Tabby da otkrije radnu mapu udaljene ljuske.</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "Prihvati samo ovaj put"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "Pristupačnost"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "Zamuti"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "Podebljani font"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -415,7 +416,7 @@ msgstr "Stvori"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:5
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:29
|
||||
msgid "Create directory"
|
||||
msgstr "Stvori direktorij"
|
||||
msgstr "Stvori mapu"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:93
|
||||
msgid "Current"
|
||||
@@ -455,11 +456,11 @@ msgstr "Otklanjanje grešaka"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:213
|
||||
msgid "Decrease horizontal split size"
|
||||
msgstr ""
|
||||
msgstr "Smanji veličinu vodoravne podjele"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:205
|
||||
msgid "Decrease vertical split size"
|
||||
msgstr ""
|
||||
msgstr "Smanji veličinu okomite podjele"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:8
|
||||
msgid "Default profile for new tabs"
|
||||
@@ -502,7 +503,7 @@ msgstr "Izbrisati {fullPath}?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Izbriši cijeli redak"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -546,7 +547,7 @@ msgstr "Deaktiviraj dinamički naslov kartice"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:197
|
||||
msgid "Disable fluent background while dragging"
|
||||
msgstr ""
|
||||
msgstr "Deaktiviraj transparentnu pozadinu prilikom povlačenja prozora"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:190
|
||||
msgid "Disable GPU acceleration"
|
||||
@@ -619,7 +620,7 @@ msgstr "Preuzmi"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "Crtaj podebljani tekst svijetlim bojama"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "Aktiviraj analitikčke podatke"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "Aktiviraj animacije"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "Datoteka: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtar"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -725,7 +726,7 @@ msgstr "Fiksno"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:198
|
||||
msgid "Fluent background sometimes causes drag lag"
|
||||
msgstr ""
|
||||
msgstr "Transparentna pozadina ponekad uzrokuje kašnjenje iscrtavanja prilikom povlačenja prozora"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:136
|
||||
msgid "Focus all panes"
|
||||
@@ -855,7 +856,7 @@ msgstr "Pomogni pratiti broj Tabby instalacija diljem svijeta!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Pomogni prevesti Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -930,11 +931,11 @@ msgstr "Odmah lokalno odgovara tvoj unos"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:209
|
||||
msgid "Increase horizontal split size"
|
||||
msgstr ""
|
||||
msgstr "Povećaj veličinu vodoravne podjele"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:201
|
||||
msgid "Increase vertical split size"
|
||||
msgstr ""
|
||||
msgstr "Povećaj veličinu okomite podjele"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:18
|
||||
msgid "Input is sent as you type"
|
||||
@@ -1136,7 +1137,7 @@ msgstr "Ime nove konfiguracije"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpCreateDirectoryModal.component.html:3
|
||||
msgid "Name for the new directory"
|
||||
msgstr "Ime novog direktorija"
|
||||
msgstr "Ime nove mape"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:52
|
||||
msgid "Native"
|
||||
@@ -1186,7 +1187,7 @@ msgstr "Novi prozor"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "Novi prozor"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "Normalno"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "Normalna debljina fonta"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "{name} copia"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">Rilevamento directory di lavoro</strong>\n"
|
||||
"<div translate=\"\">Scopri come consentire a Tabby di rilevare la directory di lavoro della shell remota.</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "Accetta solo questa volta"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "Accessibilità"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "Sfocatura"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "Peso del carattere in grassetto"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -502,7 +503,7 @@ msgstr "Eliminare {fullPath}?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Elimina tutta la riga"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "Scarica"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "Evidenzia il testo in grassetto con colori chiari"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "Abilita dati analitici"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "Abilita animazioni"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "File: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtra"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -855,7 +856,7 @@ msgstr "Aiuta a tenere traccia del numero di installazioni di Tabby nel mondo!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Aiuta a tradurre Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -1186,7 +1187,7 @@ msgstr "Nuova finestra"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "Nuova Finestra"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "Normale"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "Peso del carattere normale"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Language: ja_JP\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "{name} コピー"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">作業ディレクトリの検出</strong>\n"
|
||||
"<div translate=\"\">Tabbyにリモート側の作業ディレクトリを検出させる方法をご紹介します。</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "一度だけ"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "アクセシビリティ"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "ぼかし"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "太字フォントの太さ"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -415,7 +416,7 @@ msgstr "新規作成"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:5
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:29
|
||||
msgid "Create directory"
|
||||
msgstr "ディレクトリを新規作成"
|
||||
msgstr "新規ディレクトリを作成"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:93
|
||||
msgid "Current"
|
||||
@@ -502,7 +503,7 @@ msgstr "{fullPath} を削除しますか?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "行全体を削除"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "ダウンロード"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "太字を明瞭な色で表示"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "統計情報を有効化"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "アニメーションを有効化"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "ファイル: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "フィルター"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -855,7 +856,7 @@ msgstr "世界中でのTabbyのインストール数の調査にご協力くだ
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>の翻訳に協力する"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -1186,7 +1187,7 @@ msgstr "新しいウインドウ"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "新しいウィンドウ"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "標準"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "通常フォントの太さ"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt_BR\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -19,12 +19,13 @@ msgstr "\"{command}\" ainda está em execução. Fechar?"
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:78
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:85
|
||||
msgid "{name} copy"
|
||||
msgstr "{name} cópia"
|
||||
msgstr "{name} Copiar"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">Detecção do diretório de trabalho</strong>\n"
|
||||
"<div translate=\"\">Aprenda como habilitar o Tabby a detectar shell's de diretórios de trabalho remoto.</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "Aceitar apenas desta vez"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "Acessibilidade"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "Desfocar"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "Peso da fonte em negrito"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -340,7 +341,7 @@ msgstr "Configurações"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:21
|
||||
msgid "Connect through a proxy server"
|
||||
msgstr "Conecte-se através de um servidor proxy"
|
||||
msgstr "Conectar-se através de um servidor proxy"
|
||||
|
||||
#: tabby-core/src/index.ts:214
|
||||
#: tabby-core/src/services/profiles.service.ts:173
|
||||
@@ -394,7 +395,7 @@ msgstr "Copiar o caminho atual"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:95
|
||||
msgid "Copy on select"
|
||||
msgstr "Copiar ao selecionar"
|
||||
msgstr "Copiar a seleção"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:10
|
||||
msgid "Copy to clipboard"
|
||||
@@ -447,7 +448,7 @@ msgstr "CSS Personalizado"
|
||||
|
||||
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:26
|
||||
msgid "Data bits"
|
||||
msgstr "bits de dados"
|
||||
msgstr "Bits de dados"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:80
|
||||
msgid "Debugging"
|
||||
@@ -502,7 +503,7 @@ msgstr "Excluir {fullPath}?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Apagar linha inteira"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "Transferir"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "Desenhar texto em negrito em cores brilhantes"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "Habilitar análises"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "Permitir animações"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "Arquivo: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtro"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -809,7 +810,7 @@ msgstr "Interface"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:58
|
||||
msgid "Full"
|
||||
msgstr "Completo"
|
||||
msgstr "Preencher"
|
||||
|
||||
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:3
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:3
|
||||
@@ -819,7 +820,7 @@ msgstr "Geral"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:21
|
||||
msgid "Generate a pre-filled GitHub issue"
|
||||
msgstr "Gerar um problema do GitHub pré-preenchido"
|
||||
msgstr "Gerar uma issue pré-preenchida no GitHub"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:27
|
||||
msgid "Get"
|
||||
@@ -855,7 +856,7 @@ msgstr "Ajude a acompanhar o número de instalações do Tabby pelo mundo!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "Ajude a traduzir o Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -946,7 +947,7 @@ msgstr "Modo de entrada"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/streamProcessingSettings.component.html:15
|
||||
msgid "Input newlines"
|
||||
msgstr "Novas linhas de saída"
|
||||
msgstr "Novas linhas de entrada"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:41
|
||||
msgid "Installed"
|
||||
@@ -958,7 +959,7 @@ msgstr "Ao instalar a atualização, todas as abas serão fechadas e o Tabby rei
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:62
|
||||
msgid "Intelligent Ctrl-C (copy/abort)"
|
||||
msgstr "Inteligente Ctrl-C (copiar/cancelar)"
|
||||
msgstr "Ctrl-C Inteligente (copiar/cancelar)"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:94
|
||||
msgid "Interactive"
|
||||
@@ -1016,7 +1017,7 @@ msgstr "Autenticação interativa do teclado"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:117
|
||||
msgid "Kill"
|
||||
msgstr "Matar"
|
||||
msgstr "Finalizar"
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:10
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
@@ -1186,11 +1187,11 @@ msgstr "Nova janela"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "Nova Janela"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
msgstr "Novo perfil como"
|
||||
msgstr "Novo com perfil"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:37
|
||||
msgid "Next tab"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "Normal"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "Peso da fonte normal"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
2273
locale/uk-UA.po
Normal file
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
"PO-Revision-Date: 2022-04-30 18:35\n"
|
||||
"PO-Revision-Date: 2022-05-17 06:35\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -24,7 +24,8 @@ msgstr "{name} 副本"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:13
|
||||
msgid "<strong translate=\"\">Working directory detection</strong>\n"
|
||||
"<div translate=\"\">Learn how to allow Tabby to detect remote shell's working directory.</div>"
|
||||
msgstr ""
|
||||
msgstr "<strong translate=\"\">工作目录检测</strong>\n"
|
||||
"<div translate=\"\">了解如何允许 Tabby 检测远程 shell 的工作目录。</div>"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:76
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
@@ -44,7 +45,7 @@ msgstr "只接受本次"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "辅助功能"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:20
|
||||
msgid "Acrylic background"
|
||||
@@ -201,7 +202,7 @@ msgstr "模糊"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
|
||||
msgid "Bold font weight"
|
||||
msgstr ""
|
||||
msgstr "粗体字重"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:138
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:82
|
||||
@@ -502,7 +503,7 @@ msgstr "是否删除 {fullPath} ?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:38
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "删除整行"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete next word"
|
||||
@@ -619,7 +620,7 @@ msgstr "下载"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
msgstr ""
|
||||
msgstr "以亮色显示粗体"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:120
|
||||
msgid "Duplicate"
|
||||
@@ -648,7 +649,7 @@ msgstr "启用分析"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:87
|
||||
msgid "Enable animations"
|
||||
msgstr ""
|
||||
msgstr "开启动画效果"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:74
|
||||
msgid "Enable automatic installation of updates when they become available."
|
||||
@@ -717,7 +718,7 @@ msgstr "文件: {description}"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "筛选"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:157
|
||||
msgid "Fixed"
|
||||
@@ -855,7 +856,7 @@ msgstr "帮助追踪 Tabby 在世界各地的安装次数!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:50
|
||||
msgid "Help translate Tabby<i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
msgstr ""
|
||||
msgstr "帮助翻译 Tabby <i class=\"fas fa-external-link-square-alt ml-1\"></i>"
|
||||
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
|
||||
@@ -1186,7 +1187,7 @@ msgstr "新窗口"
|
||||
|
||||
#: tabby-local/src/services/dockMenu.service.ts:62
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
msgstr "新建窗口"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:87
|
||||
msgid "New with profile"
|
||||
@@ -1215,7 +1216,7 @@ msgstr "一般"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
|
||||
msgid "Normal font weight"
|
||||
msgstr ""
|
||||
msgstr "正常字重"
|
||||
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:47
|
||||
#: tabby-terminal/src/components/searchPanel.component.ts:57
|
||||
|
16
package.json
@@ -25,7 +25,7 @@
|
||||
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
||||
"@typescript-eslint/parser": "^4.33.0",
|
||||
"apply-loader": "2.0.0",
|
||||
"axios": "^0.26.1",
|
||||
"axios": "^0.27.2",
|
||||
"browserify-sign": "^4.2.1",
|
||||
"clone-deep": "^4.0.1",
|
||||
"compare-versions": "^4",
|
||||
@@ -34,8 +34,8 @@
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "^6.7.1",
|
||||
"deep-equal": "2.0.5",
|
||||
"electron": "18.1.0",
|
||||
"electron-builder": "^23.0.3",
|
||||
"electron": "18.2.4",
|
||||
"electron-builder": "^23.0.9",
|
||||
"electron-download": "^4.1.1",
|
||||
"electron-installer-snap": "^5.1.0",
|
||||
"electron-notarize": "^1.2.1",
|
||||
@@ -43,16 +43,16 @@
|
||||
"eslint": "^7.32.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"gettext-extractor": "^3.5.4",
|
||||
"graceful-fs": "^4.2.9",
|
||||
"graceful-fs": "^4.2.10",
|
||||
"html-loader": "3.1.0",
|
||||
"json-loader": "^0.5.7",
|
||||
"lru-cache": "^6.0.0",
|
||||
"macos-release": "^3.0.1",
|
||||
"ngx-sortablejs": "^11.1.0",
|
||||
"ngx-toastr": "^14.0.0",
|
||||
"node-abi": "^3.8.0",
|
||||
"node-abi": "^3.15.0",
|
||||
"node-sass": "^7.0.1",
|
||||
"npmlog": "6.0.0",
|
||||
"npmlog": "6.0.2",
|
||||
"npx": "^10.2.2",
|
||||
"patch-package": "^6.4.7",
|
||||
"po-gettext-loader": "^1.0.0",
|
||||
@@ -77,11 +77,11 @@
|
||||
"thenby": "^1.3.4",
|
||||
"ts-loader": "^9.2.8",
|
||||
"tslib": "^2.3.1",
|
||||
"typedoc": "^0.22.13",
|
||||
"typedoc": "^0.22.15",
|
||||
"typescript": "^4.3.5",
|
||||
"utils-decorators": "^1.10.4",
|
||||
"val-loader": "4.0.0",
|
||||
"webpack": "^5.72.0",
|
||||
"webpack": "^5.72.1",
|
||||
"webpack-bundle-analyzer": "^4.5.0",
|
||||
"webpack-cli": "^4.9.2",
|
||||
"yaml-loader": "0.6.0",
|
||||
|
@@ -1,12 +0,0 @@
|
||||
diff --git a/node_modules/builder-util/out/arch.js b/node_modules/builder-util/out/arch.js
|
||||
index eabcf47..e1ac595 100644
|
||||
--- a/node_modules/builder-util/out/arch.js
|
||||
+++ b/node_modules/builder-util/out/arch.js
|
||||
@@ -40,6 +40,7 @@ function archFromString(name) {
|
||||
return Arch.ia32;
|
||||
case "arm64":
|
||||
return Arch.arm64;
|
||||
+ case "arm":
|
||||
case "armv7l":
|
||||
return Arch.armv7l;
|
||||
case "universal":
|
@@ -22,7 +22,9 @@
|
||||
[color]='option.color'
|
||||
)
|
||||
.title.mr-2 {{getOptionText(option)}}
|
||||
.description.no-wrap.text-muted {{option.description}}
|
||||
.description.no-wrap.text-muted(
|
||||
*ngIf='option.description !== getOptionText(option)'
|
||||
) {{option.description}}
|
||||
.ml-auto
|
||||
.no-wrap.badge.badge-secondary.text-muted.ml-2(*ngIf='selectedIndex == i && canEditSelected()')
|
||||
span Backspace
|
||||
|
@@ -311,6 +311,33 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
|
||||
case 'pane-nav-next':
|
||||
this.navigateLinear(1)
|
||||
break
|
||||
case 'pane-nav-1':
|
||||
this.navigateSpecific(0)
|
||||
break
|
||||
case 'pane-nav-2':
|
||||
this.navigateSpecific(1)
|
||||
break
|
||||
case 'pane-nav-3':
|
||||
this.navigateSpecific(2)
|
||||
break
|
||||
case 'pane-nav-4':
|
||||
this.navigateSpecific(3)
|
||||
break
|
||||
case 'pane-nav-5':
|
||||
this.navigateSpecific(4)
|
||||
break
|
||||
case 'pane-nav-6':
|
||||
this.navigateSpecific(5)
|
||||
break
|
||||
case 'pane-nav-7':
|
||||
this.navigateSpecific(6)
|
||||
break
|
||||
case 'pane-nav-8':
|
||||
this.navigateSpecific(7)
|
||||
break
|
||||
case 'pane-nav-9':
|
||||
this.navigateSpecific(8)
|
||||
break
|
||||
case 'pane-maximize':
|
||||
if (this.maximizedTab) {
|
||||
this.maximize(null)
|
||||
@@ -644,6 +671,15 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
|
||||
this.focus(target)
|
||||
}
|
||||
|
||||
navigateSpecific (target: number): void {
|
||||
const all = this.getAllTabs()
|
||||
if (target >= all.length) {
|
||||
return
|
||||
}
|
||||
|
||||
this.focus(all[target])
|
||||
}
|
||||
|
||||
async splitTab (tab: BaseTabComponent, dir: SplitDirection): Promise<BaseTabComponent|null> {
|
||||
const newTab = await this.tabsService.duplicate(tab)
|
||||
if (newTab) {
|
||||
@@ -763,6 +799,9 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
|
||||
const ref = tab.insertIntoContainer(this.viewContainer)
|
||||
this.viewRefs.set(tab, ref)
|
||||
tab.addEventListenerUntilDestroyed(ref.rootNodes[0], 'click', () => this.focus(tab))
|
||||
if (this.config.store.terminal.focusFollowsMouse) {
|
||||
tab.addEventListenerUntilDestroyed(ref.rootNodes[0], 'mousemove', () => this.focus(tab))
|
||||
}
|
||||
|
||||
tab.subscribeUntilDestroyed(tab.titleChange$, () => this.updateTitle())
|
||||
tab.subscribeUntilDestroyed(tab.activity$, a => a ? this.displayActivity() : this.clearActivity())
|
||||
|
@@ -73,6 +73,15 @@ hotkeys:
|
||||
- 'Ctrl-Alt-['
|
||||
pane-nav-next:
|
||||
- 'Ctrl-Alt-]'
|
||||
pane-nav-1: []
|
||||
pane-nav-2: []
|
||||
pane-nav-3: []
|
||||
pane-nav-4: []
|
||||
pane-nav-5: []
|
||||
pane-nav-6: []
|
||||
pane-nav-7: []
|
||||
pane-nav-8: []
|
||||
pane-nav-9: []
|
||||
pane-maximize:
|
||||
- 'Ctrl-Alt-Enter'
|
||||
pane-increase-vertical: []
|
||||
|
@@ -71,6 +71,15 @@ hotkeys:
|
||||
- '⌘-⌥-['
|
||||
pane-nav-next:
|
||||
- '⌘-⌥-]'
|
||||
pane-nav-1: []
|
||||
pane-nav-2: []
|
||||
pane-nav-3: []
|
||||
pane-nav-4: []
|
||||
pane-nav-5: []
|
||||
pane-nav-6: []
|
||||
pane-nav-7: []
|
||||
pane-nav-8: []
|
||||
pane-nav-9: []
|
||||
pane-maximize:
|
||||
- '⌘-⌥-Enter'
|
||||
close-pane:
|
||||
|
@@ -74,6 +74,15 @@ hotkeys:
|
||||
- 'Ctrl-Alt-['
|
||||
pane-nav-next:
|
||||
- 'Ctrl-Alt-]'
|
||||
pane-nav-1: []
|
||||
pane-nav-2: []
|
||||
pane-nav-3: []
|
||||
pane-nav-4: []
|
||||
pane-nav-5: []
|
||||
pane-nav-6: []
|
||||
pane-nav-7: []
|
||||
pane-nav-8: []
|
||||
pane-nav-9: []
|
||||
pane-maximize:
|
||||
- 'Ctrl-Alt-Enter'
|
||||
close-pane: []
|
||||
|
@@ -20,6 +20,7 @@ terminal:
|
||||
showBuiltinProfiles: true
|
||||
showRecentProfiles: 3
|
||||
paneResizeStep: 0.1
|
||||
focusFollowsMouse: false
|
||||
hotkeys:
|
||||
profile:
|
||||
__nonStructural: true
|
||||
|
@@ -188,6 +188,42 @@ export class AppHotkeyProvider extends HotkeyProvider {
|
||||
id: 'pane-nav-next',
|
||||
name: this.translate.instant('Focus next pane'),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-1',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 1 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-2',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 2 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-3',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 3 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-4',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 4 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-5',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 5 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-6',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 6 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-7',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 7 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-8',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 8 }),
|
||||
},
|
||||
{
|
||||
id: 'pane-nav-9',
|
||||
name: this.translate.instant('Focus pane {number}', { number: 9 }),
|
||||
},
|
||||
{
|
||||
id: 'switch-profile',
|
||||
name: this.translate.instant('Switch profile in the active pane'),
|
||||
|
@@ -15,6 +15,7 @@ import localeKO from '@angular/common/locales/ko'
|
||||
import localePL from '@angular/common/locales/pl'
|
||||
import localePT from '@angular/common/locales/pt'
|
||||
import localeRU from '@angular/common/locales/ru'
|
||||
import localeUK from '@angular/common/locales/uk'
|
||||
import localeZH from '@angular/common/locales/zh'
|
||||
import { Observable, Subject } from 'rxjs'
|
||||
import { distinctUntilChanged } from 'rxjs/operators'
|
||||
@@ -34,6 +35,7 @@ registerLocaleData(localeKO)
|
||||
registerLocaleData(localePL)
|
||||
registerLocaleData(localePT)
|
||||
registerLocaleData(localeRU)
|
||||
registerLocaleData(localeUK)
|
||||
registerLocaleData(localeZH)
|
||||
|
||||
function flattenMessageFormatTranslation (po: any) {
|
||||
@@ -116,6 +118,10 @@ export class LocaleService {
|
||||
code: 'ru-RU',
|
||||
name: 'Русский',
|
||||
},
|
||||
{
|
||||
code: 'uk-UA',
|
||||
name: 'Українська',
|
||||
},
|
||||
{
|
||||
code: 'ja-JP',
|
||||
name: '日本語',
|
||||
|
@@ -115,7 +115,7 @@ export class ProfilesService {
|
||||
group: this.translate.instant('Recent'),
|
||||
icon: 'fas fa-history',
|
||||
color: p.color,
|
||||
weight: -1,
|
||||
weight: -2,
|
||||
callback: async () => {
|
||||
if (p.id) {
|
||||
p = (await this.getProfiles()).find(x => x.id === p.id) ?? p
|
||||
|
@@ -300,6 +300,10 @@ checkbox i.on {
|
||||
|
||||
search-panel {
|
||||
background: #131d27 !important;
|
||||
|
||||
input {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -394,7 +398,7 @@ ngx-colors-panel .opened {
|
||||
background: $body-bg !important;
|
||||
|
||||
button {
|
||||
color: $body-color;
|
||||
color: $body-color !important;
|
||||
}
|
||||
|
||||
.button svg {
|
||||
|
@@ -65,6 +65,10 @@ export class ElectronHostAppService extends HostAppService {
|
||||
this.electron.ipcRenderer.send('app:config-change', configStore)
|
||||
}
|
||||
|
||||
saveConfig (data: string): void {
|
||||
this.electron.ipcRenderer.send('app:save-config', data)
|
||||
}
|
||||
|
||||
emitReady (): void {
|
||||
this.electron.ipcRenderer.send('app:ready')
|
||||
}
|
||||
@@ -74,7 +78,11 @@ export class ElectronHostAppService extends HostAppService {
|
||||
if (isPortable) {
|
||||
this.electron.app.relaunch({ execPath: process.env.PORTABLE_EXECUTABLE_FILE })
|
||||
} else {
|
||||
this.electron.app.relaunch()
|
||||
let args: string[] = []
|
||||
if (this.platform === Platform.Linux) {
|
||||
args = ['--no-sandbox']
|
||||
}
|
||||
this.electron.app.relaunch({ args })
|
||||
}
|
||||
this.electron.app.exit()
|
||||
}
|
||||
|
@@ -1,17 +1,15 @@
|
||||
import * as path from 'path'
|
||||
import * as fs from 'fs/promises'
|
||||
import * as gracefulFS from 'graceful-fs'
|
||||
import * as fsSync from 'fs'
|
||||
import * as os from 'os'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { promisify } from 'util'
|
||||
import promiseIpc, { RendererProcessType } from 'electron-promise-ipc'
|
||||
import { execFile } from 'mz/child_process'
|
||||
import { Injectable, NgZone } from '@angular/core'
|
||||
import { PlatformService, ClipboardContent, HostAppService, Platform, MenuItemOptions, MessageBoxOptions, MessageBoxResult, FileUpload, FileDownload, FileUploadOptions, wrapPromise, TranslateService } from 'tabby-core'
|
||||
import { PlatformService, ClipboardContent, Platform, MenuItemOptions, MessageBoxOptions, MessageBoxResult, FileUpload, FileDownload, FileUploadOptions, wrapPromise, TranslateService } from 'tabby-core'
|
||||
import { ElectronService } from '../services/electron.service'
|
||||
import { ElectronHostWindow } from './hostWindow.service'
|
||||
import { ShellIntegrationService } from './shellIntegration.service'
|
||||
import { ElectronHostAppService } from './hostApp.service'
|
||||
const fontManager = require('fontmanager-redux') // eslint-disable-line
|
||||
|
||||
/* eslint-disable block-scoped-var */
|
||||
@@ -27,10 +25,9 @@ try {
|
||||
export class ElectronPlatformService extends PlatformService {
|
||||
supportsWindowControls = true
|
||||
private configPath: string
|
||||
private _configSaveInProgress = Promise.resolve()
|
||||
|
||||
constructor (
|
||||
private hostApp: HostAppService,
|
||||
private hostApp: ElectronHostAppService,
|
||||
private hostWindow: ElectronHostWindow,
|
||||
private electron: ElectronService,
|
||||
private zone: NgZone,
|
||||
@@ -112,18 +109,7 @@ export class ElectronPlatformService extends PlatformService {
|
||||
}
|
||||
|
||||
async saveConfig (content: string): Promise<void> {
|
||||
try {
|
||||
await this._configSaveInProgress
|
||||
} catch { }
|
||||
this._configSaveInProgress = this._saveConfigInternal(content)
|
||||
await this._configSaveInProgress
|
||||
}
|
||||
|
||||
async _saveConfigInternal (content: string): Promise<void> {
|
||||
const tempPath = this.configPath + '.new.' + uuidv4().toString()
|
||||
await fs.writeFile(tempPath, content, 'utf8')
|
||||
await fs.writeFile(this.configPath + '.backup', content, 'utf8')
|
||||
await promisify(gracefulFS.rename)(tempPath, this.configPath)
|
||||
this.hostApp.saveConfig(content)
|
||||
}
|
||||
|
||||
getConfigPath (): string|null {
|
||||
|
@@ -494,9 +494,9 @@ winston-transport@^4.5.0:
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
winston@^3.3.3:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-3.6.0.tgz#be32587a099a292b88c49fac6fa529d478d93fb6"
|
||||
integrity sha512-9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==
|
||||
version "3.7.2"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-3.7.2.tgz#95b4eeddbec902b3db1424932ac634f887c400b1"
|
||||
integrity sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==
|
||||
dependencies:
|
||||
"@dabh/diagnostics" "^2.0.2"
|
||||
async "^3.2.3"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import * as path from 'path'
|
||||
import * as fs from 'mz/fs'
|
||||
import { Injectable } from '@angular/core'
|
||||
import { CLIHandler, CLIEvent, AppService, ConfigService, HostWindowService } from 'tabby-core'
|
||||
import { CLIHandler, CLIEvent, AppService, ConfigService, HostWindowService, ProfilesService, NotificationsService } from 'tabby-core'
|
||||
import { TerminalService } from './services/terminal.service'
|
||||
|
||||
@Injectable()
|
||||
@@ -63,7 +63,9 @@ export class OpenPathCLIHandler extends CLIHandler {
|
||||
|
||||
constructor (
|
||||
private terminal: TerminalService,
|
||||
private profiles: ProfilesService,
|
||||
private hostWindow: HostWindowService,
|
||||
private notifications: NotificationsService,
|
||||
) {
|
||||
super()
|
||||
}
|
||||
@@ -72,12 +74,44 @@ export class OpenPathCLIHandler extends CLIHandler {
|
||||
const op = event.argv._[0]
|
||||
const opAsPath = op ? path.resolve(event.cwd, op) : null
|
||||
|
||||
const profile = await this.terminal.getDefaultProfile()
|
||||
|
||||
if (opAsPath && (await fs.lstat(opAsPath)).isDirectory()) {
|
||||
this.terminal.openTab(undefined, opAsPath)
|
||||
this.terminal.openTab(profile, opAsPath)
|
||||
this.hostWindow.bringToFront()
|
||||
return true
|
||||
}
|
||||
|
||||
if (opAsPath && await fs.exists(opAsPath)) {
|
||||
if (opAsPath.endsWith('.sh') || opAsPath.endsWith('.command')) {
|
||||
profile.options!.pauseAfterExit = true
|
||||
profile.options?.args?.push(opAsPath)
|
||||
this.terminal.openTab(profile)
|
||||
this.hostWindow.bringToFront()
|
||||
return true
|
||||
} else if (opAsPath.endsWith('.bat')) {
|
||||
const psProfile = (await this.profiles.getProfiles()).find(x => x.id === 'cmd')
|
||||
if (psProfile) {
|
||||
psProfile.options!.pauseAfterExit = true
|
||||
psProfile.options?.args?.push(opAsPath)
|
||||
this.terminal.openTab(psProfile)
|
||||
this.hostWindow.bringToFront()
|
||||
return true
|
||||
}
|
||||
} else if (opAsPath.endsWith('.ps1')) {
|
||||
const cmdProfile = (await this.profiles.getProfiles()).find(x => x.id === 'powershell')
|
||||
if (cmdProfile) {
|
||||
cmdProfile.options!.pauseAfterExit = true
|
||||
cmdProfile.options?.args?.push(opAsPath)
|
||||
this.terminal.openTab(cmdProfile)
|
||||
this.hostWindow.bringToFront()
|
||||
return true
|
||||
}
|
||||
} else {
|
||||
this.notifications.error('Cannot handle scripts of this type')
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
1
tabby-local/src/icons/alma.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 61.028 59.731" xmlns="http://www.w3.org/2000/svg"><style>.st1{fill:#86da2f}.st2{fill:#24c2ff}.st3{fill:#ffcb12}.st4{fill:#0069da}.st5{fill:#ff4649}</style><path class="st1" d="M56.114 33.731c2.6-.2 4.7 1.5 4.9 4.1.2 2.7-1.7 4.9-4.3 5.1-2.5.2-4.7-1.7-4.9-4.2-.2-2.7 1.6-4.7 4.3-5z"/><path class="st2" d="M24.514 55.031c0-2.6 2-4.6 4.4-4.6s4.7 2.2 4.7 4.7c0 2.4-2 4.5-4.3 4.6-2.9 0-4.8-1.8-4.8-4.7z"/><path class="st3" d="M31.614 25.831c-.4.2-.6-.1-.7-.4-3.7-6.9-2.6-15.6 3.9-20.8 1.7-1.4 4.9-1.7 6.3-.3.6.5.7 1.1.8 1.8.2 1.5.5 3 1.5 4.2 1.1 1.3 2.5 1.8 4.1 1.7 1.4 0 2.8-.2 3.7 1.4.5.9.3 4.4-.5 5.1-.4.3-.7.1-1 0-2.3-.9-4.7-.9-7.1-.5-.8.1-1.2-.1-1.2-1-.1-1.5-.4-2.9-1.2-4.2-1.5-2.7-4.3-2.8-6.1-.3-1.5 2-1.9 4.4-2.3 6.8-.4 2.1-.3 4.3-.2 6.5 0 0-.1 0 0 0z"/><path class="st1" d="M34.114 27.331c-.2-.3-.1-.6.2-.8 5.7-5.2 14.2-6.2 20.8-1.1 1.7 1.4 2.8 4.3 1.9 6-.4.7-.9 1-1.5 1.2-1.4.6-2.7 1.2-3.6 2.5s-1.1 2.8-.7 4.4c.3 1.3.8 2.7-.5 3.9-.7.7-4.1 1.3-5 .7-.4-.3-.3-.6-.2-1 .3-2.5-.3-4.8-1.2-7-.3-.8-.2-1.2.6-1.4 1.4-.4 2.7-1.1 3.7-2.1 2.2-2.1 1.7-4.8-1.2-6-2.3-1-4.7-.8-7-.6-2.2.1-4.3.7-6.3 1.3z"/><path class="st2" d="M32.814 29.931c.3-.3.5-.2.8 0 6.6 4 10 11.9 7 19.6-.8 2-3.4 4-5.3 3.5-.8-.2-1.2-.6-1.6-1.1-.9-1.2-1.9-2.3-3.4-2.8-1.6-.5-3-.2-4.4.6-1.2.7-2.4 1.6-3.9.7-.9-.5-2.4-3.6-2.1-4.6.2-.4.6-.4 1-.4 2.5-.4 4.5-1.6 6.4-3.2.6-.5 1.1-.5 1.6.2.8 1.2 1.8 2.2 3.1 2.9 2.6 1.5 5.1.2 5.4-2.8.3-2.5-.6-4.7-1.4-6.9-.9-2-2-3.9-3.2-5.7z"/><path class="st4" d="M29.614 30.531c-.4 2-1.3 3.9-2.5 5.6-3.6 5.4-8.8 7.6-15.2 7-2.3-.2-4.2-2.1-4.4-4-.1-.8.1-1.4.6-2 .7-.9 1.3-1.7 1.6-2.8.6-2.2-.2-4-1.8-5.6-2.2-2.2-1.9-4.2.7-5.8.3-.2.7-.4 1.1-.6.6-.3 1.1-.3 1.3.4.9 2.3 2.7 4 4.7 5.4.7.6.7 1 .1 1.7-1.2 1.3-1.9 2.9-2 4.7-.2 2.2 1.1 3.6 3.3 3.6 1.4 0 2.7-.5 3.9-1.1 3.1-1.6 5.5-3.9 7.8-6.3.3-.1.4-.3.8-.2z"/><path class="st5" d="M13.214 9.531c.2 0 .7.1 1.2.2 3.7.7 6-.6 7.2-4.1.8-2.3 2.5-3 4.7-1.8.1 0 .1.1.2.1 2.3 1.3 2.3 1.5.9 3.5-1.2 1.6-1.8 3.4-2.1 5.3-.2 1.1-.6 1.3-1.6.9-1.6-.6-3.3-.6-5 0-1.9.6-2.7 2.3-2.1 4.2.8 2.5 3 3.6 4.9 4.9s4.1 2 6.2 2.9c.3.1.8.1.7.6-.1.3-.5.3-.9.3-4.5.2-8.8-.5-12.3-3.5-3.3-2.7-5.7-6-5.3-10.6.3-1.5 1.4-2.6 3.3-2.9z"/><path class="st4" d="M5.014 37.631c-2.4.3-4.8-1.7-5-4.2-.2-2.4 1.8-4.8 4.1-5 2.6-.3 5 1.5 5.2 3.9.1 2.3-1.4 5.1-4.3 5.3z"/><path class="st3" d="M47.014 2.031c2.5-.2 4.9 1.8 5.1 4.3.2 2.4-1.8 4.7-4.2 4.9-2.6.2-4.9-1.7-5.1-4.2s1.6-4.8 4.2-5z"/><path class="st5" d="M20.914 3.931c.3 2.6-1.5 4.8-4.2 5.2-2.3.3-4.7-1.6-5-3.8-.3-2.9 1.3-5 4-5.3 2.5-.3 4.9 1.6 5.2 3.9z"/></svg>
|
After Width: | Height: | Size: 2.5 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="svg-inline--fa fa-git-alt fa-w-14 fa-3x" data-icon="git-alt" data-prefix="fab" focusable="false" role="img" viewBox="0 0 448 512"><path fill="#f05033" stroke="none" stroke-width="1" d="M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 113.925 113.923"><defs><clipPath id="aaaaaaaa"><path d="M0 0h2183.73v912H0V0z"/></clipPath><clipPath id="bbbbbbbb"><path d="M230.892 51.977L181.15 2.238a7.336 7.336 0 00-10.375 0l-10.328 10.33 13.102 13.102c3.046-1.028 6.537-.339 8.964 2.089a8.72 8.72 0 012.07 9.02l12.627 12.627c3.055-1.053 6.58-.373 9.02 2.07a8.727 8.727 0 010 12.346 8.729 8.729 0 01-12.349 0 8.734 8.734 0 01-1.9-9.494L180.204 42.55v30.99a8.806 8.806 0 012.309 1.652c3.41 3.409 3.41 8.933 0 12.347-3.411 3.41-8.938 3.41-12.346 0-3.41-3.414-3.41-8.938 0-12.347a8.735 8.735 0 012.859-1.905V42.009a8.636 8.636 0 01-2.859-1.905 8.728 8.728 0 01-1.88-9.544L155.37 17.642l-34.106 34.105a7.339 7.339 0 000 10.378l49.742 49.74a7.338 7.338 0 0010.376 0l49.509-49.51a7.341 7.341 0 000-10.378" fill="#f03c2e"/></clipPath></defs><g transform="translate(-119.116 -.075)" clip-path="url(#bbbbbbbb)"><path d="M230.435-10.813l-49.742-49.739a7.336 7.336 0 00-10.374 0l-49.51 49.51a7.339 7.339 0 000 10.378l49.741 49.738a7.338 7.338 0 0010.376 0l49.51-49.508a7.341 7.341 0 000-10.379" fill="#ff8080"/><path d="M293.393 51.928L243.65 2.188a7.336 7.336 0 00-10.375 0c-16.502 16.505-33.006 33.007-49.51 49.51a7.339 7.339 0 000 10.378l49.742 49.739a7.338 7.338 0 0010.376 0l49.509-49.509a7.341 7.341 0 000-10.378" fill="#8dd35f"/><path d="M167.436 51.52L117.693 1.783a7.336 7.336 0 00-10.374 0l-49.51 49.509a7.339 7.339 0 000 10.378l49.741 49.74a7.338 7.338 0 0010.376-.001l49.51-49.508a7.341 7.341 0 000-10.38" fill="#80b3ff"/><path d="M230.13 114.117l-49.743-49.739a7.336 7.336 0 00-10.374 0l-49.51 49.51a7.339 7.339 0 000 10.378l49.741 49.738a7.338 7.338 0 0010.376 0l49.51-49.508a7.341 7.341 0 000-10.379" fill="#ffe680"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 718 B After Width: | Height: | Size: 1.7 KiB |
1
tabby-local/src/icons/kali.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg version="1" viewBox="0 0 459.36 233.64" xmlns="http://www.w3.org/2000/svg"><path d="M448.2.54c-1.708-.456-3.412-.54-5.177-.54H15.093C8.67.05 3.033 4.105.898 10.144c-.697 1.963-.9 3.95-.9 6.01v202.42c.238 8.434 6.837 15.012 15.194 15.033 17.519.023 53.594-.063 53.594-.063l-.064-15.665h-52.62c-.279-1.683-.208-199.78.064-200.69 1.612-.225 425.79-.144 426.72.074.257 1.528.182 199.65-.098 200.69H88.048v15.667s1.384 0 2.018.023h354.25a15.182 15.182 0 0014.147-10.038c.697-1.908.898-3.875.898-5.886v-202.8c-.134-6.7-4.693-12.585-11.143-14.365zM88.06 174.55v-40.512c0-.914.257-1.556 1.003-2.135 3.129-2.474 6.216-5.019 9.303-7.545.308-.228.608-.432.992-.712.333.43.613.783.872 1.17 5.248 7.572 10.5 15.136 15.746 22.696 6.436 9.313 12.883 18.583 19.306 27.852.356.538.684.946 1.475.946 6.762-.023 13.519-.023 20.273-.023.223 0 .453-.074.81-.155-14.956-21.781-29.85-43.412-44.79-65.174 3.005-3.49 5.913-6.847 8.817-10.288 2.912-3.37 5.814-6.75 8.721-10.142 2.903-3.384 5.785-6.774 8.696-10.161 2.904-3.395 5.813-6.783 8.685-10.168a1556.02 1556.02 0 008.827-10.347h-1.704c-6.12 0-12.237.037-18.358-.023-1.125 0-1.835.326-2.578 1.2a41266 41266 0 01-45.178 53.398c-.2.228-.46.432-.894.832V70.965c0-3.666.063-7.343 0-11.012H69.175v116.15c1.501.264 17.926.21 18.94-.063v-1.477zm100.96 1.682c.152-.44.326-.818.459-1.227 3.055-8.681 6.114-17.348 9.178-26.037a136.3 136.3 0 001.478-4.203c.182-.585.48-.892 1.098-.817.2.023.432 0 .635 0h43.136c3.9 10.803 7.772 21.529 11.63 32.255h20.192a186785 186785 0 01-43.549-116.77h-20.649c-.132.254-.23.44-.282.614-14.377 38.55-28.737 77.119-43.11 115.66-.062.063-.062.182-.062.256v.124c0 .05.063.074.074.132h19.734zm17.457-50.036c3.977-11.515 8.01-22.98 11.885-34.526 1.555-4.64 2.727-9.427 4.05-14.16.113-.358.183-.718.334-1.257.2.305.356.491.41.692 3.159 11.794 7.477 23.237 11.398 34.807 1.63 4.814 3.316 9.599 4.974 14.415.126.431.251.862.404 1.395H206.05c.152-.502.28-.934.426-1.365zm102.24-57.278c0-3.008.11-5.988-.087-8.967h-18.675c-.315 1.452-.238 115.33.063 116.29h68.021v-16.18h-32.812c-2.758 0-5.538.023-8.284 0-2.707-.023-5.403.1-8.21-.063V68.94zm81.201-8.251c0-.18 0-.33-.063-.518 0-.05-.062-.063-.062-.099 0-.023-.075-.063-.075-.063h-18.74v116.22h18.839c.063-.195.11-.3.11-.43V60.667z" clip-rule="evenodd" fill="#367bf0" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 205 KiB |
1
tabby-local/src/icons/open-euler.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 80.14 56.1" xmlns="http://www.w3.org/2000/svg"><defs><style>.cls-2{fill:#002fa7}</style></defs><g data-name="图层 2"><g data-name="图层 1"><path class="cls-2" d="M75.101 9.097c-4.08-1.06-9-.05-11.16 2.28s-.92 5.49 3.27 6.82c4.39 1.4 9.92.3 12.07-2.42s.08-5.53-4.18-6.68zM48.941 40.017a12.32 12.32 0 00-13.77 2.64c-3.54 3.79-3.15 9.12 1.26 11.87 4.68 2.93 11.67 1.64 15.18-2.82a7.39 7.39 0 00-2.67-11.69zM57.421 4.527a12.49 12.49 0 00-6.13.12 11.3 11.3 0 01-4.76-.14 3.68 3.68 0 01-2.66-1.92 1.58 1.58 0 00-.1-.43v-.06a3.38 3.38 0 00-2.45-1.72.61.61 0 00-.13 0 10.14 10.14 0 00-4.78-.17c-3.55.66-6.15 2.71-5.81 4.58a10.21 10.21 0 01-.06 1 4.34 4.34 0 01-1.79 2.46 8.39 8.39 0 01-3.2 1.69 14.83 14.83 0 01-2 .26 19.55 19.55 0 00-2.81.17 5.75 5.75 0 00-3.17 1.59 3.78 3.78 0 00-.88 3 5.5 5.5 0 01.06 1.29 5.55 5.55 0 01-2.37 3.67 12.93 12.93 0 01-5.41 2.49 13.54 13.54 0 00-5.87 2.6c-3.38 2.64-4.16 6.12-1.53 7.76 1.54 1 3.89 1.06 6.29.41a8 8 0 015.15.72 4.42 4.42 0 011.78 1.81 3.24 3.24 0 01.32 1 4.12 4.12 0 01.07.78 4.91 4.91 0 002.25 5.21c3.57 2.22 9.6 1.06 13.14-2.55 3.38-3.45 3-7.63-.64-9.39a10.13 10.13 0 00-6.91-.37 8.66 8.66 0 01-5.24-.66 3.54 3.54 0 01-2.14-3.24 6.83 6.83 0 01.42-1.64 9.92 9.92 0 012.16-3.13 9.55 9.55 0 014.44-2.36c.68-.18 1.79-.41 2-.43a10.64 10.64 0 014.93.41c1.41.57 2.45 1.5 2.54 2.66a4.47 4.47 0 002.8 4 11.61 11.61 0 0011.84-2.37c2.7-2.76 1.8-6-1.78-7.24a11.39 11.39 0 00-6.5-.08 10 10 0 01-5-.35c-1.46-.55-2.42-1.44-2.47-2.48a5.59 5.59 0 011.77-3.87 11.79 11.79 0 013.91-2 12.63 12.63 0 011.85-.43 11.79 11.79 0 014.69.19c1.4.42 2.68 1.19 2.72 2 .06 1.1 1.15 2.41 3.13 3 3.55 1.14 8.47.13 10.77-2.21s1.05-4.72-2.44-5.63z"/></g></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
1
tabby-local/src/icons/oracle-linux.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 31.4 19.8" xmlns="http://www.w3.org/2000/svg"><path d="M9.9 19.8C4.4 19.8 0 15.4 0 9.9S4.4 0 9.9 0h11.6c5.5 0 9.9 4.4 9.9 9.9s-4.4 9.9-9.9 9.9H9.9m11.3-3.5c3.6 0 6.4-2.9 6.4-6.4 0-3.6-2.9-6.4-6.4-6.4h-11c-3.6 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4h11" fill="#c74634"/></svg>
|
After Width: | Height: | Size: 287 B |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="svg-inline--fa fa-terminal fa-w-20 fa-2x" data-icon="terminal" data-prefix="fas" focusable="false" role="img" viewBox="0 0 640 512"><path fill="#ef4eff" stroke="none" stroke-width="1" d="M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"/></svg>
|
||||
<svg viewBox="0 0 120 90.001" xmlns="http://www.w3.org/2000/svg"><linearGradient id="1652546273" x1="95.267" x2="26.7" y1="91.926" y2="30.68" gradientTransform="translate(-4.002 -19)" gradientUnits="userSpaceOnUse"><stop stop-color="#A9C8FF" offset="0"/><stop stop-color="#C7E6FF" offset="1"/></linearGradient><path d="M5.03 90c-1.632 0-3.045-.638-3.977-1.798-.952-1.185-1.28-2.814-.896-4.47L18.143 5.821C18.897 2.557 22.06 0 25.347 0h89.623c1.634 0 3.047.638 3.978 1.798.952 1.184 1.279 2.814.896 4.47l-17.986 77.911c-.753 3.264-3.917 5.822-7.203 5.822H5.03z" clip-rule="evenodd" fill="url(#1652546273)" fill-rule="evenodd" opacity=".8"/><g transform="translate(-4.002 -19)"><linearGradient id="1652546298" x1="26.585" x2="93.585" y1="30.778" y2="90.278" gradientUnits="userSpaceOnUse"><stop stop-color="#2D4664" offset="0"/><stop stop-color="#29405B" offset=".169"/><stop stop-color="#1E2F43" offset=".445"/><stop stop-color="#0C131B" offset=".79"/><stop offset="1"/></linearGradient><path d="M118.5 20H29.634c-2.769 0-5.53 2.259-6.168 5.045l-17.834 77.91C4.995 105.742 6.722 108 9.491 108h88.865c2.769 0 5.53-2.258 6.168-5.045l17.834-77.911c.638-2.785-1.09-5.044-3.858-5.044z" clip-rule="evenodd" fill="url(#1652546298)" fill-rule="evenodd"/></g><g clip-rule="evenodd" fill-rule="evenodd"><path d="M60.163 68.558h21.613c2.513 0 4.55 2.125 4.55 4.746s-2.037 4.747-4.55 4.747H60.163c-2.513 0-4.55-2.125-4.55-4.747 0-2.621 2.037-4.746 4.55-4.746zM74.182 47.455c-.372.749-1.144 1.575-2.509 2.534L31.56 78.798c-2.19 1.591-5.334 1.001-7.021-1.319s-1.28-5.49.91-7.082l36.173-26.194v-.538L38.894 19.487c-1.854-1.972-1.661-5.161.431-7.124 2.092-1.962 5.29-1.954 7.144.018L73.74 41.393c1.548 1.647 1.663 4.141.442 6.062z" fill="#2c5591"/><path d="M73.182 46.455c-.372.749-1.144 1.575-2.509 2.534L30.56 77.798c-2.19 1.591-5.334 1.001-7.021-1.319s-1.28-5.49.91-7.082l36.173-26.194v-.538L37.894 18.487c-1.854-1.972-1.661-5.161.431-7.124 2.092-1.962 5.29-1.954 7.144.018L72.74 40.393c1.548 1.647 1.663 4.141.442 6.062zM59.548 68h21.613c2.513 0 4.55 2.015 4.55 4.5s-2.037 4.5-4.55 4.5H59.548c-2.513 0-4.55-2.015-4.55-4.5s2.037-4.5 4.55-4.5z" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 664 B After Width: | Height: | Size: 2.1 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="svg-inline--fa fa-terminal fa-w-20 fa-2x" data-icon="terminal" data-prefix="fas" focusable="false" role="img" viewBox="0 0 640 512"><path fill="#0ff" stroke="none" stroke-width="1" d="M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"/></svg>
|
||||
<svg viewBox="0 0 118.99 90.001" xmlns="http://www.w3.org/2000/svg"><linearGradient id="1652546342" x1="95.123" x2="26.855" y1="91.805" y2="30.825" gradientTransform="translate(-4.503 -19)" gradientUnits="userSpaceOnUse"><stop stop-color="#5391FE" offset="0"/><stop stop-color="#3E6DBF" offset="1"/></linearGradient><path d="M4.988 90c-1.62 0-3.021-.638-3.944-1.798-.944-1.185-1.268-2.814-.89-4.47L17.99 5.821C18.736 2.557 21.873 0 25.13 0h88.866c1.62 0 3.02.638 3.945 1.798.944 1.184 1.268 2.814.889 4.47l-17.834 77.911c-.747 3.264-3.884 5.822-7.143 5.822H4.988z" clip-rule="evenodd" fill="url(#1652546342)" fill-rule="evenodd"/><linearGradient id="1652546328" x1="26.178" x2="93.748" y1="30.015" y2="90.738" gradientTransform="translate(-4.503 -19)" gradientUnits="userSpaceOnUse"><stop stop-color="#5391FE" offset="0"/><stop stop-color="#3E6DBF" offset="1"/></linearGradient><g clip-rule="evenodd" fill-rule="evenodd"><path d="M25.131 1h88.866c2.769 0 4.496 2.259 3.858 5.045l-17.834 77.911c-.638 2.786-3.399 5.045-6.168 5.045H4.988c-2.769 0-4.496-2.258-3.858-5.045L18.964 6.045C19.601 3.259 22.363 1 25.131 1z" fill="url(#1652546328)"/><path d="M59.662 68.558h21.613c2.513 0 4.55 2.125 4.55 4.746s-2.037 4.747-4.55 4.747H59.662c-2.513 0-4.55-2.125-4.55-4.747 0-2.621 2.037-4.746 4.55-4.746zM73.681 47.455c-.372.749-1.144 1.575-2.509 2.534L31.059 78.798c-2.19 1.591-5.334 1.001-7.021-1.319s-1.28-5.49.91-7.082l36.173-26.194v-.538L38.393 19.487c-1.854-1.972-1.661-5.161.431-7.124 2.092-1.962 5.29-1.954 7.144.018l27.271 29.012c1.548 1.647 1.663 4.141.442 6.062z" fill="#2c5591"/><path d="M72.681 46.455c-.372.749-1.144 1.575-2.509 2.534L30.059 77.798c-2.19 1.591-5.334 1.001-7.021-1.319s-1.28-5.49.91-7.082l36.173-26.194v-.538L37.393 18.487c-1.854-1.972-1.661-5.161.431-7.124 2.092-1.962 5.29-1.954 7.144.018l27.271 29.012c1.548 1.647 1.663 4.141.442 6.062zM59.047 68H80.66c2.513 0 4.55 2.015 4.55 4.5S83.173 77 80.66 77H59.047c-2.513 0-4.55-2.015-4.55-4.5s2.037-4.5 4.55-4.5z" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 2.0 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 96 95.51"><defs><style>.a{fill:#fff;}.a,.h{fill-rule:evenodd;}.b{mask:url(#a);}.c{fill:#52218a;}.d{fill:#6c33af;}.e{fill:#854cc7;}.f{fill:#b179f1;}.g{opacity:0.25;}.h{fill:url(#b);}</style><mask id="a" x="0" y="0" width="96" height="95.51" maskUnits="userSpaceOnUse"><g transform="translate(0 -0.25)"><path class="a" d="M68.89,95.6a6,6,0,0,0,3.93-.44L92.6,85.65A6,6,0,0,0,96,80.24V15.76a6,6,0,0,0-3.4-5.41L72.82.84A6,6,0,0,0,68.34.55,6,6,0,0,0,66,2L34.12,37.26,15.5,22l-1.63-1.4a4,4,0,0,0-3.61-.83,2.55,2.55,0,0,0-.53.18L2.46,23A4,4,0,0,0,0,26.37c0,.1,0,.2,0,.3V69.33c0,.1,0,.2,0,.3A4,4,0,0,0,2.46,73l7.27,3a2.55,2.55,0,0,0,.53.18,4,4,0,0,0,3.61-.83L15.5,74,34.12,58.74,66,94A6,6,0,0,0,68.89,95.6ZM72,27.68,47.21,48,72,68.32ZM12,34.27,24.41,48,12,61.73Z"></path></g></mask><linearGradient id="b" x1="48" y1="97.75" x2="48" y2="2.25" gradientTransform="matrix(1, 0, 0, -1, 0, 98)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"></stop><stop offset="1" stop-color="#fff" stop-opacity="0"></stop></linearGradient></defs><title>BrandVisualStudioWin2019</title><g class="b"><path class="c" d="M13.87,75.4a4,4,0,0,1-4.14.65L2.46,73A4,4,0,0,1,0,69.33V26.67A4,4,0,0,1,2.46,23l7.27-3a4,4,0,0,1,4.14.65L15.5,22A2.21,2.21,0,0,0,12,23.8V72.2A2.21,2.21,0,0,0,15.5,74Z" transform="translate(0 -0.25)"></path><path class="d" d="M2.46,73A4,4,0,0,1,0,69.33V69a2.31,2.31,0,0,0,4,1.55L66,2A6,6,0,0,1,72.82.84L92.6,10.36A6,6,0,0,1,96,15.77V16a3.79,3.79,0,0,0-6.19-2.93L15.5,74l-1.63,1.4a4,4,0,0,1-4.14.65Z" transform="translate(0 -0.25)"></path><path class="e" d="M2.46,23A4,4,0,0,0,0,26.67V27a2.31,2.31,0,0,1,4-1.55L66,94a6,6,0,0,0,6.82,1.16L92.6,85.64A6,6,0,0,0,96,80.23V80a3.79,3.79,0,0,1-6.19,2.93L15.5,22l-1.63-1.4A4,4,0,0,0,9.73,20Z" transform="translate(0 -0.25)"></path><path class="f" d="M72.82,95.16A6,6,0,0,1,66,94a3.52,3.52,0,0,0,6-2.49v-87A3.52,3.52,0,0,0,66,2,6,6,0,0,1,72.82.84L92.6,10.35A6,6,0,0,1,96,15.76V80.24a6,6,0,0,1-3.4,5.41Z" transform="translate(0 -0.25)"></path><g class="g"><path class="h" d="M68.89,95.6a6,6,0,0,0,3.93-.44L92.6,85.65A6,6,0,0,0,96,80.24V15.76a6,6,0,0,0-3.4-5.41L72.82.84A6,6,0,0,0,68.34.55,6,6,0,0,0,66,2L34.12,37.26,15.5,22l-1.63-1.4a4,4,0,0,0-3.61-.83,2.55,2.55,0,0,0-.53.18L2.46,23A4,4,0,0,0,0,26.37c0,.1,0,.2,0,.3V69.33c0,.1,0,.2,0,.3A4,4,0,0,0,2.46,73l7.27,3a2.55,2.55,0,0,0,.53.18,4,4,0,0,0,3.61-.83L15.5,74,34.12,58.74,66,94A6,6,0,0,0,68.89,95.6ZM72,27.68,47.21,48,72,68.32ZM12,34.27,24.41,48,12,61.73Z" transform="translate(0 -0.25)"></path></g></g></svg>
|
Before Width: | Height: | Size: 2.6 KiB |
1
tabby-local/src/icons/vs2017.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="57.04" height="57.04" color-interpolation-filters="sRGB" viewBox="0 0 42.78 42.78" xmlns="http://www.w3.org/2000/svg" fill="none" fill-rule="evenodd" font-size="12" overflow="visible" stroke-linecap="square" stroke-miterlimit="3"><g transform="translate(-1.5 -1.5)"><g transform="translate(1.5 -1.5)"><path d="M32.08 3v36.74L0 34.97l32.08 10.81 10.7-4.45V7.45zM11.02 23.58l9.83 9.72 5.88-2.5V11.74l-5.88-2.5-9.83 9.72-5.91-4.46-2.44.82v11.9l2.44.82zm9.83-7.41v10.2l-6.76-5.1zM5.11 17.73l3.58 3.54-3.58 3.54z" fill="#5c2d91"/></g></g></svg>
|
After Width: | Height: | Size: 551 B |
1
tabby-local/src/icons/vs2019.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 96 95.503" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="1652546395" x1="48" x2="48" y1="97.75" y2="2.25" gradientTransform="matrix(1 0 0 -1 0 98)" gradientUnits="userSpaceOnUse"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><mask id="1652546356" x="0" y="0" width="96" height="95.51" maskUnits="userSpaceOnUse"><path transform="translate(0 -.25)" d="M68.89 95.6a6 6 0 003.93-.44l19.78-9.51a6 6 0 003.4-5.41V15.76a6 6 0 00-3.4-5.41L72.82.84a6 6 0 00-4.48-.29A6 6 0 0066 2L34.12 37.26 15.5 22l-1.63-1.4a4 4 0 00-3.61-.83 2.55 2.55 0 00-.53.18L2.46 23A4 4 0 000 26.37v43.26A4 4 0 002.46 73l7.27 3a2.55 2.55 0 00.53.18 4 4 0 003.61-.83L15.5 74l18.62-15.26L66 94a6 6 0 002.89 1.6zM72 27.68L47.21 48 72 68.32zm-60 6.59L24.41 48 12 61.73z" fill="#fff" fill-rule="evenodd"/></mask></defs><g transform="translate(0 .002)" mask="url(#1652546356)"><path d="M13.87 75.15a4 4 0 01-4.14.65l-7.27-3.05A4 4 0 010 69.08V26.42a4 4 0 012.46-3.67l7.27-3a4 4 0 014.14.65l1.63 1.35a2.21 2.21 0 00-3.5 1.8v48.4a2.21 2.21 0 003.5 1.8z" fill="#52218a"/><path d="M2.46 72.75A4 4 0 010 69.08v-.33a2.31 2.31 0 004 1.55L66 1.75A6 6 0 0172.82.59l19.78 9.52a6 6 0 013.4 5.41v.23a3.79 3.79 0 00-6.19-2.93L15.5 73.75l-1.63 1.4a4 4 0 01-4.14.65z" fill="#6c33af"/><path d="M2.46 22.75A4 4 0 000 26.42v.33a2.31 2.31 0 014-1.55l62 68.55a6 6 0 006.82 1.16l19.78-9.52a6 6 0 003.4-5.41v-.23a3.79 3.79 0 01-6.19 2.93L15.5 21.75l-1.63-1.4a4 4 0 00-4.14-.6z" fill="#854cc7"/><path d="M72.82 94.91A6 6 0 0166 93.75a3.52 3.52 0 006-2.49v-87a3.52 3.52 0 00-6-2.51A6 6 0 0172.82.59L92.6 10.1a6 6 0 013.4 5.41v64.48a6 6 0 01-3.4 5.41z" fill="#b179f1"/><path transform="translate(0 -.25)" d="M68.89 95.6a6 6 0 003.93-.44l19.78-9.51a6 6 0 003.4-5.41V15.76a6 6 0 00-3.4-5.41L72.82.84a6 6 0 00-4.48-.29A6 6 0 0066 2L34.12 37.26 15.5 22l-1.63-1.4a4 4 0 00-3.61-.83 2.55 2.55 0 00-.53.18L2.46 23A4 4 0 000 26.37v43.26A4 4 0 002.46 73l7.27 3a2.55 2.55 0 00.53.18 4 4 0 003.61-.83L15.5 74l18.62-15.26L66 94a6 6 0 002.89 1.6zM72 27.68L47.21 48 72 68.32zm-60 6.59L24.41 48 12 61.73z" fill="url(#1652546395)" fill-rule="evenodd" opacity=".25"/></g></svg>
|
After Width: | Height: | Size: 2.1 KiB |
1
tabby-local/src/icons/vs2022.svg
Normal file
After Width: | Height: | Size: 5.8 KiB |
@@ -47,7 +47,8 @@ export class TerminalService {
|
||||
this.logger.info(`Starting profile ${fullProfile.name}`, fullProfile)
|
||||
const options = {
|
||||
...fullProfile.options,
|
||||
pauseAfterExit: pause,
|
||||
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
||||
pauseAfterExit: fullProfile.options.pauseAfterExit || pause,
|
||||
cwd: cwd ?? undefined,
|
||||
}
|
||||
|
||||
|
@@ -36,7 +36,7 @@ export class GitBashShellProvider extends ShellProvider {
|
||||
|
||||
return [{
|
||||
id: 'git-bash',
|
||||
name: 'Git-Bash',
|
||||
name: 'Git Bash',
|
||||
command: path.join(gitBashPath, 'bin', 'bash.exe'),
|
||||
args: ['--login', '-i'],
|
||||
icon: require('../icons/git-bash.svg'),
|
||||
|
@@ -5,6 +5,14 @@ import { HostAppService, Platform } from 'tabby-core'
|
||||
|
||||
import { ShellProvider, Shell } from '../api'
|
||||
|
||||
/* eslint-disable quote-props */
|
||||
const vsIconMap: Record<string, string> = {
|
||||
'2017': require('../icons/vs2017.svg'),
|
||||
'2019': require('../icons/vs2019.svg'),
|
||||
'2022': require('../icons/vs2022.svg'),
|
||||
}
|
||||
/* eslint-enable quote-props */
|
||||
|
||||
/** @hidden */
|
||||
@Injectable()
|
||||
export class VSDevToolsProvider extends ShellProvider {
|
||||
@@ -19,30 +27,32 @@ export class VSDevToolsProvider extends ShellProvider {
|
||||
return []
|
||||
}
|
||||
|
||||
const parentPath = path.join(process.env['programfiles(x86)'] ?? 'C:\\Program Files (x86', 'Microsoft Visual Studio')
|
||||
|
||||
try {
|
||||
await fs.stat(parentPath)
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
const x86ParentPath = path.join(process.env['programfiles(x86)'] ?? 'C:\\Program Files (x86)', 'Microsoft Visual Studio')
|
||||
const x64ParentPath = path.join(process.env['programfiles'] ?? 'C:\\Program Files', 'Microsoft Visual Studio')
|
||||
|
||||
const result: Shell[] = []
|
||||
for (const version of await fs.readdir(parentPath)) {
|
||||
const bat = path.join(parentPath, version, 'Community\\Common7\\Tools\\VsDevCmd.bat')
|
||||
for (const parentPath of [x86ParentPath, x64ParentPath]) {
|
||||
try {
|
||||
await fs.stat(bat)
|
||||
} catch {
|
||||
continue
|
||||
await fs.stat(parentPath)
|
||||
for (const version of await fs.readdir(parentPath)) {
|
||||
const bat = path.join(parentPath, version, 'Community\\Common7\\Tools\\VsDevCmd.bat')
|
||||
try {
|
||||
await fs.stat(bat)
|
||||
} catch {
|
||||
continue
|
||||
}
|
||||
result.push({
|
||||
id: `vs-cmd-${version}`,
|
||||
name: `Developer Prompt for VS ${version}`,
|
||||
command: 'cmd.exe',
|
||||
args: ['/k', bat],
|
||||
icon: vsIconMap[version],
|
||||
env: {},
|
||||
})
|
||||
}
|
||||
} catch (_) {
|
||||
// Ignore
|
||||
}
|
||||
result.push({
|
||||
id: `vs-cmd-${version}`,
|
||||
name: `Developer Prompt for VS ${version}`,
|
||||
command: 'cmd.exe',
|
||||
args: ['/k', bat],
|
||||
icon: require('../icons/vs.svg'),
|
||||
env: {},
|
||||
})
|
||||
}
|
||||
return result
|
||||
|
||||
|
@@ -18,12 +18,17 @@ try {
|
||||
const wslIconMap: Record<string, string> = {
|
||||
'Alpine': require('../icons/alpine.svg'),
|
||||
'Debian': require('../icons/debian.svg'),
|
||||
'kali-linux': require('../icons/linux.svg'),
|
||||
'kali-linux': require('../icons/kali.svg'),
|
||||
'SLES-12': require('../icons/suse.svg'),
|
||||
'openSUSE-Leap-15-1': require('../icons/suse.svg'),
|
||||
'Ubuntu-16.04': require('../icons/ubuntu.svg'),
|
||||
'Ubuntu-18.04': require('../icons/ubuntu.svg'),
|
||||
'Ubuntu-22.04': require('../icons/ubuntu.svg'),
|
||||
'Ubuntu': require('../icons/ubuntu.svg'),
|
||||
'AlmaLinux-8': require('../icons/alma.svg'),
|
||||
'OracleLinux_7_9': require('../icons/oracle-linux.svg'),
|
||||
'OracleLinux_8_5': require('../icons/oracle-linux.svg'),
|
||||
'openEuler': require('../icons/open-euler.svg'),
|
||||
'Linux': require('../icons/linux.svg'),
|
||||
'docker-desktop': require('../icons/docker.svg'),
|
||||
'docker-desktop-data': require('../icons/docker.svg'),
|
||||
@@ -62,7 +67,8 @@ export class WSLShellProvider extends ShellProvider {
|
||||
TERM: 'xterm-color',
|
||||
COLORTERM: 'truecolor',
|
||||
},
|
||||
icon: wslIconMap[defaultDistKey.DistributionName.value],
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
icon: wslIconMap[defaultDistKey.DistributionName.value] ?? wslIconMap.Linux,
|
||||
}
|
||||
shells.push(shell)
|
||||
}
|
||||
@@ -103,7 +109,8 @@ export class WSLShellProvider extends ShellProvider {
|
||||
TERM: 'xterm-color',
|
||||
COLORTERM: 'truecolor',
|
||||
},
|
||||
icon: wslIconMap[name],
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
icon: wslIconMap[name] ?? wslIconMap.Linux,
|
||||
}
|
||||
shells.push(shell)
|
||||
}
|
||||
|
@@ -47,13 +47,9 @@ export class PluginManagerService {
|
||||
|
||||
_listAvailableInternal (namePrefix: string, keyword: string, query?: string): Observable<PluginInfo[]> {
|
||||
return from(
|
||||
axios.get(`https://www.npmjs.com/search?q=keywords%3A${keyword}+${encodeURIComponent(query ?? '')}&from=0&size=1000`, {
|
||||
headers: {
|
||||
'x-spiferack': '1',
|
||||
},
|
||||
})
|
||||
axios.get(`https://api.npms.io/v2/search?q=keywords%3A${keyword}+${encodeURIComponent(query ?? '')}&size=250`)
|
||||
).pipe(
|
||||
map(response => response.data.objects
|
||||
map(response => response.data.results
|
||||
.filter(item => !item.keywords?.includes('tabby-dummy-transition-plugin'))
|
||||
.map(item => ({
|
||||
name: item.package.name.substring(namePrefix.length),
|
||||
|
@@ -79,7 +79,11 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
}
|
||||
profile.isBuiltin = false
|
||||
profile.isTemplate = false
|
||||
await this.showProfileEditModal(profile)
|
||||
const result = await this.showProfileEditModal(profile)
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
Object.assign(profile, result)
|
||||
if (!profile.name) {
|
||||
const cfgProxy = this.profilesService.getConfigProxyForProfile(profile)
|
||||
profile.name = this.profilesService.providerForProfile(profile)?.getSuggestedName(cfgProxy) ?? this.translate.instant('{name} copy', base)
|
||||
@@ -90,11 +94,15 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
}
|
||||
|
||||
async editProfile (profile: PartialProfile<Profile>): Promise<void> {
|
||||
await this.showProfileEditModal(profile)
|
||||
const result = await this.showProfileEditModal(profile)
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
Object.assign(profile, result)
|
||||
await this.config.save()
|
||||
}
|
||||
|
||||
async showProfileEditModal (profile: PartialProfile<Profile>): Promise<void> {
|
||||
async showProfileEditModal (profile: PartialProfile<Profile>): Promise<PartialProfile<Profile>|null> {
|
||||
const modal = this.ngbModal.open(
|
||||
EditProfileModalComponent,
|
||||
{ size: 'lg' },
|
||||
@@ -108,7 +116,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
|
||||
const result = await modal.result.catch(() => null)
|
||||
if (!result) {
|
||||
return
|
||||
return null
|
||||
}
|
||||
|
||||
// Fully replace the config
|
||||
@@ -116,9 +124,9 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
||||
delete profile[k]
|
||||
}
|
||||
Object.assign(profile, result)
|
||||
|
||||
profile.type = provider.id
|
||||
result.type = provider.id
|
||||
return result
|
||||
}
|
||||
|
||||
async deleteProfile (profile: PartialProfile<Profile>): Promise<void> {
|
||||
|
@@ -69,7 +69,8 @@
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Language
|
||||
a.description(translate, (click)='homeBase.openTranslations()') Help translate Tabby
|
||||
a.description((click)='homeBase.openTranslations()')
|
||||
span(translate) Help translate Tabby
|
||||
i.fas.fa-external-link-square-alt.ml-1
|
||||
select.form-control([(ngModel)]='config.store.language', (ngModelChange)='saveConfiguration(true)')
|
||||
option([ngValue]='null', translate) Automatic
|
||||
|
@@ -319,6 +319,15 @@ h3.mt-4(translate) Panes
|
||||
step='0.05'
|
||||
)
|
||||
|
||||
.form-line()
|
||||
.header
|
||||
.title(translate) Focus follows mouse
|
||||
.description(translate) Moving the mouse over an inactive pane will cause it to activate
|
||||
toggle(
|
||||
[(ngModel)]='config.store.terminal.focusFollowsMouse',
|
||||
(ngModelChange)='config.save(); config.requestRestart()'
|
||||
)
|
||||
|
||||
h3.mt-4(translate) Hacks
|
||||
|
||||
.form-line
|
||||
|
@@ -21,7 +21,7 @@
|
||||
*ngIf='shouldShowCWDTip && !cwdDetectionAvailable',
|
||||
(click)='platform.openExternal("https://tabby.sh/go/cwd-detection")'
|
||||
)
|
||||
.mr-auto(translate)
|
||||
.mr-auto
|
||||
strong(translate) Working directory detection
|
||||
div(translate) Learn how to allow Tabby to detect remote shell's working directory.
|
||||
button.close((click)='dismissCWDTip()')
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tabby-terminal",
|
||||
"version": "1.0.171-nightly.3",
|
||||
"version": "1.0.171-nightly.4",
|
||||
"description": "Tabby's terminal emulation core",
|
||||
"keywords": [
|
||||
"tabby-builtin-plugin"
|
||||
@@ -26,8 +26,9 @@
|
||||
"ngx-colors": "^3.0.4",
|
||||
"ps-node": "^0.1.6",
|
||||
"runes": "^0.4.2",
|
||||
"xterm": "npm:@tabby-gang/xterm@^4.19.0-beta.2",
|
||||
"xterm": "npm:@tabby-gang/xterm@^4.19.0-beta.4",
|
||||
"xterm-addon-fit": "^0.6.0-beta.8",
|
||||
"xterm-addon-image": "^0.1.0",
|
||||
"xterm-addon-ligatures": "^0.6.0-beta.14",
|
||||
"xterm-addon-search": "^0.9.0-beta.18",
|
||||
"xterm-addon-serialize": "^0.7.0-beta.12",
|
||||
|
@@ -138,6 +138,7 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
||||
},
|
||||
})
|
||||
private spinnerActive = false
|
||||
private spinnerPaused = false
|
||||
private toolbarRevealTimeout = new ResettableTimeout(() => {
|
||||
this.revealToolbar = false
|
||||
}, 1000)
|
||||
@@ -760,17 +761,17 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
||||
}
|
||||
|
||||
protected startSpinner (text?: string): void {
|
||||
if (this.spinnerActive) {
|
||||
if (this.spinnerActive || this.spinnerPaused) {
|
||||
return
|
||||
}
|
||||
if (text) {
|
||||
this.spinner.text = text
|
||||
}
|
||||
this.spinner.setSpinnerString(6)
|
||||
this.spinnerActive = true
|
||||
this.zone.runOutsideAngular(() => {
|
||||
this.spinner.start()
|
||||
})
|
||||
this.spinnerActive = true
|
||||
}
|
||||
|
||||
protected stopSpinner (): void {
|
||||
@@ -782,11 +783,19 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
||||
}
|
||||
|
||||
protected async withSpinnerPaused (work: () => any): Promise<void> {
|
||||
const wasActive = this.spinnerActive
|
||||
this.stopSpinner()
|
||||
await work()
|
||||
if (wasActive) {
|
||||
this.startSpinner()
|
||||
this.spinnerPaused = true
|
||||
if (this.spinnerActive) {
|
||||
this.spinner.stop(true)
|
||||
}
|
||||
try {
|
||||
await work()
|
||||
} finally {
|
||||
this.spinnerPaused = false
|
||||
if (this.spinnerActive) {
|
||||
this.zone.runOutsideAngular(() => {
|
||||
this.spinner.start()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -9,4 +9,6 @@ export interface TerminalColorScheme {
|
||||
background: string
|
||||
cursor: string
|
||||
colors: string[]
|
||||
selection?: string
|
||||
selectionForeground?: string
|
||||
}
|
||||
|
@@ -46,6 +46,18 @@
|
||||
title='CA',
|
||||
hint='Block cursor foreground'
|
||||
)
|
||||
color-picker(
|
||||
[(model)]='config.store.terminal.colorScheme.selection',
|
||||
(modelChange)='config.save()',
|
||||
title='SB',
|
||||
hint='Selection background'
|
||||
)
|
||||
color-picker(
|
||||
[(model)]='config.store.terminal.colorScheme.selectionForeground',
|
||||
(modelChange)='config.save()',
|
||||
title='SF',
|
||||
hint='Selection foreground'
|
||||
)
|
||||
color-picker(
|
||||
*ngFor='let _ of config.store.terminal.colorScheme.colors; let idx = index; trackBy: colorsTrackBy',
|
||||
[(model)]='config.store.terminal.colorScheme.colors[idx]',
|
||||
|
@@ -31,6 +31,15 @@ div
|
||||
(ngModelChange)='config.save()'
|
||||
)
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Sixel graphics support (experimental)
|
||||
.description(translate) Display images via Sixel escape sequences
|
||||
toggle(
|
||||
[(ngModel)]='config.store.terminal.sixel',
|
||||
(ngModelChange)='config.save(); config.requestRestart()'
|
||||
)
|
||||
|
||||
div.mt-4
|
||||
h3(translate) Keyboard
|
||||
|
||||
|
@@ -68,6 +68,7 @@ export class TerminalConfigProvider extends ConfigProvider {
|
||||
detectProgress: true,
|
||||
scrollbackLines: 25000,
|
||||
drawBoldTextInBrightColors: true,
|
||||
sixel: true,
|
||||
},
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
}
|
||||
|
||||
.xterm-decoration-overview-ruler {
|
||||
right: 6px;
|
||||
right: 1px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@@ -27,3 +27,8 @@
|
||||
outline: 2px solid yellow;
|
||||
backdrop-filter: contrast(2);
|
||||
}
|
||||
|
||||
.xterm-find-active-result-decoration {
|
||||
backdrop-filter: contrast(4);
|
||||
outline-width: 2px !important;
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import { BehaviorSubject, filter, firstValueFrom, takeUntil } from 'rxjs'
|
||||
import { Injector } from '@angular/core'
|
||||
import { ConfigService, getCSSFontFamily, HostAppService, HotkeysService, Platform, PlatformService } from 'tabby-core'
|
||||
import { Frontend, SearchOptions, SearchState } from './frontend'
|
||||
import { takeUntil } from 'rxjs'
|
||||
import { Terminal, ITheme } from 'xterm'
|
||||
import { FitAddon } from 'xterm-addon-fit'
|
||||
import { LigaturesAddon } from 'xterm-addon-ligatures'
|
||||
@@ -9,6 +9,7 @@ import { ISearchOptions, SearchAddon } from 'xterm-addon-search'
|
||||
import { WebglAddon } from 'xterm-addon-webgl'
|
||||
import { Unicode11Addon } from 'xterm-addon-unicode11'
|
||||
import { SerializeAddon } from 'xterm-addon-serialize'
|
||||
import { ImageAddon } from 'xterm-addon-image'
|
||||
import './xterm.css'
|
||||
import deepEqual from 'deep-equal'
|
||||
import { Attributes } from 'xterm/src/common/buffer/Constants'
|
||||
@@ -20,6 +21,41 @@ const COLOR_NAMES = [
|
||||
'brightBlack', 'brightRed', 'brightGreen', 'brightYellow', 'brightBlue', 'brightMagenta', 'brightCyan', 'brightWhite',
|
||||
]
|
||||
|
||||
class FlowControl {
|
||||
private blocked = false
|
||||
private blocked$ = new BehaviorSubject<boolean>(false)
|
||||
private pendingCallbacks = 0
|
||||
private lowWatermark = 5
|
||||
private highWatermark = 10
|
||||
private bytesWritten = 0
|
||||
private bytesThreshold = 1024 * 128
|
||||
|
||||
constructor (private xterm: Terminal) { }
|
||||
|
||||
async write (data: string) {
|
||||
if (this.blocked) {
|
||||
await firstValueFrom(this.blocked$.pipe(filter(x => !x)))
|
||||
}
|
||||
this.bytesWritten += data.length
|
||||
if (this.bytesWritten > this.bytesThreshold) {
|
||||
this.pendingCallbacks++
|
||||
if (this.pendingCallbacks > this.highWatermark) {
|
||||
this.blocked = true
|
||||
this.blocked$.next(true)
|
||||
}
|
||||
this.xterm.write(data, () => {
|
||||
this.pendingCallbacks--
|
||||
if (this.pendingCallbacks < this.lowWatermark) {
|
||||
this.blocked = false
|
||||
this.blocked$.next(false)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.xterm.write(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** @hidden */
|
||||
export class XTermFrontend extends Frontend {
|
||||
enableResizing = true
|
||||
@@ -41,6 +77,7 @@ export class XTermFrontend extends Frontend {
|
||||
private webGLAddon?: WebglAddon
|
||||
private opened = false
|
||||
private resizeObserver?: any
|
||||
private flowControl: FlowControl
|
||||
|
||||
private configService: ConfigService
|
||||
private hotkeysService: HotkeysService
|
||||
@@ -59,6 +96,7 @@ export class XTermFrontend extends Frontend {
|
||||
overviewRulerWidth: 8,
|
||||
windowsMode: process.platform === 'win32',
|
||||
})
|
||||
this.flowControl = new FlowControl(this.xterm)
|
||||
this.xtermCore = this.xterm['_core']
|
||||
|
||||
this.xterm.onBinary(data => {
|
||||
@@ -87,6 +125,17 @@ export class XTermFrontend extends Frontend {
|
||||
this.xterm.loadAddon(new Unicode11Addon())
|
||||
this.xterm.unicode.activeVersion = '11'
|
||||
|
||||
if (this.configService.store.terminal.sixel) {
|
||||
this.xterm.loadAddon(new ImageAddon(
|
||||
URL.createObjectURL(
|
||||
new Blob(
|
||||
[require('xterm-addon-image/lib/xterm-addon-image-worker.js')],
|
||||
{ type: 'application/javascript' },
|
||||
),
|
||||
),
|
||||
))
|
||||
}
|
||||
|
||||
const keyboardEventHandler = (name: string, event: KeyboardEvent) => {
|
||||
if (this.isAlternateScreenActive()) {
|
||||
let modifiers = 0
|
||||
@@ -248,7 +297,7 @@ export class XTermFrontend extends Frontend {
|
||||
}
|
||||
|
||||
async write (data: string): Promise<void> {
|
||||
await new Promise<void>(r => this.xterm.write(data, r))
|
||||
await this.flowControl.write(data)
|
||||
}
|
||||
|
||||
clear (): void {
|
||||
@@ -304,6 +353,7 @@ export class XTermFrontend extends Frontend {
|
||||
const theme: ITheme = {
|
||||
foreground: config.terminal.colorScheme.foreground,
|
||||
selection: config.terminal.colorScheme.selection || '#88888888',
|
||||
selectionForeground: config.terminal.colorScheme.selectionForeground || undefined,
|
||||
background: config.terminal.background === 'colorScheme' ? config.terminal.colorScheme.background : '#00000000',
|
||||
cursor: config.terminal.colorScheme.cursor,
|
||||
cursorAccent: config.terminal.colorScheme.cursorAccent,
|
||||
|
@@ -5,5 +5,11 @@ module.exports = config({
|
||||
externals: [
|
||||
'opentype.js',
|
||||
],
|
||||
rules: [
|
||||
{
|
||||
test: /lib[\\/]xterm-addon-image-worker.js$/i,
|
||||
type: 'asset/source',
|
||||
},
|
||||
],
|
||||
})
|
||||
module.exports.resolve.modules.push('node_modules/xterm/src')
|
||||
|
@@ -158,9 +158,14 @@ xtend@^4.0.0:
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
xterm-addon-fit@^0.6.0-beta.8:
|
||||
version "0.6.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.6.0-beta.8.tgz#d1df80c146ee63a8bcb135e5337dba84fa87d753"
|
||||
integrity sha512-T3bmdIXg019PQnJ7tMx81YUOW8Tjzw6ZB+ejWGNMsgYauFtgXTBAmdXzJ4dDJTlWDW18SHId+O6EmGzC77c44g==
|
||||
version "0.6.0-beta.9"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.6.0-beta.9.tgz#55d550b7e8f3b90ee0781fdddf876b8502a31540"
|
||||
integrity sha512-QrlwItVFiapkiJ2YL2rj2drtOvFmr8luDyV286MCrVSK4iGxSnsOdT+NcjeNig1lqYmy5FAo8iuP4FPY//NDog==
|
||||
|
||||
xterm-addon-image@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.1.0.tgz#ead96aa224f5fcbfb45da2907f02368fe92985e6"
|
||||
integrity sha512-xMvcEQ2rVUIXbbj5BRhznrZU24CRaMiSo8l2HH/E1FeE+G+KKduoF6mwja856/n4ekZ7K0ALZmmyDsbZODhDqQ==
|
||||
|
||||
xterm-addon-ligatures@^0.6.0-beta.14:
|
||||
version "0.6.0-beta.14"
|
||||
@@ -171,9 +176,9 @@ xterm-addon-ligatures@^0.6.0-beta.14:
|
||||
font-ligatures "^1.4.1"
|
||||
|
||||
xterm-addon-search@^0.9.0-beta.18:
|
||||
version "0.9.0-beta.25"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.25.tgz#c0923197f64793821ae8b4dfd30e19b411c8e7a7"
|
||||
integrity sha512-Z6Gd6JN1jcUyQ1iB9yBtPBzNsnPv6DXAxNnJXqFvIznfx0FmXx85FL5SunsH0/uoXre5UwqI+SWc/ON3CkKeUQ==
|
||||
version "0.9.0-beta.37"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.37.tgz#84a020f03b2cacc5afac78ca6ff2f1eb86fb6710"
|
||||
integrity sha512-bfeFgKJkDYyIgqpWiV1oWYqDiTo+SHTeIPEbpOfxDr97pc3PtDF1Tyd79PrvJNfoxaV3VMUo//UEOy4D+KY9OQ==
|
||||
|
||||
xterm-addon-serialize@^0.7.0-beta.12:
|
||||
version "0.7.0-beta.12"
|
||||
@@ -186,14 +191,14 @@ xterm-addon-unicode11@^0.4.0-beta.3:
|
||||
integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q==
|
||||
|
||||
xterm-addon-webgl@^0.12.0-beta.27:
|
||||
version "0.12.0-beta.29"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.29.tgz#7a508595c4521d14d7ed4315a121f9e3f230a0f0"
|
||||
integrity sha512-NcZBsD0ar3ZpQX070hDIsyEBl/StRMNu6U+9crNpiD2rQVfkM1vcWkOv31Zlj3eu6/f8z5aStyZLRMCGFwiRbA==
|
||||
version "0.12.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.36.tgz#460f80829a78c979a448d5b764699af3f0366ff1"
|
||||
integrity sha512-sgX7OHSGZQZE5b4xtPqd/5NEcll0Z+00tnTVxKZlXf5XEENcG0tnBF4I4f+k9K3cmjE1UIUVG2yYPrqWlYCdpA==
|
||||
|
||||
"xterm@npm:@tabby-gang/xterm@^4.19.0-beta.2":
|
||||
version "4.19.0-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.19.0-beta.2.tgz#ffac3b0e776130f96ed860c8d44b30328d08ef62"
|
||||
integrity sha512-6V4xlCFfvZ3SXy+fQL4n0rn/gyil5sThvVz6FSbfSVIHCY14JGiWt/7ouZwm3V4kdEgWmsf2P9KjR15YqVjECg==
|
||||
"xterm@npm:@tabby-gang/xterm@^4.19.0-beta.4":
|
||||
version "4.19.0-beta.5"
|
||||
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.19.0-beta.5.tgz#aa7a4509148a31ac4e4e55475c950f8572616899"
|
||||
integrity sha512-8Vn92qMHDT2Q8TLPTFqalbwdS8ev3AmtLfPs2PRoMlJA/XzrcGUD5BNuAau5bn9lF5iEueX1gYqsJxzk5aYDbQ==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
@@ -56,7 +56,7 @@ module.exports = options => {
|
||||
{
|
||||
test: /\.js$/,
|
||||
enforce: 'pre',
|
||||
use: {
|
||||
use: {
|
||||
loader: 'source-map-loader',
|
||||
options: {
|
||||
filterSourceMappingUrl: (url, resourcePath) => {
|
||||
|
385
yarn.lock
@@ -161,10 +161,10 @@
|
||||
global-agent "^3.0.0"
|
||||
global-tunnel-ng "^2.7.1"
|
||||
|
||||
"@electron/universal@1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.0.tgz#518cac72bccd79c00bf41345119e6fdbabdb871d"
|
||||
integrity sha512-eu20BwNsrMPKoe2bZ3/l9c78LclDvxg3PlVXrQf3L50NaUuW5M59gbPytI+V4z7/QMrohUHetQaU0ou+p1UG9Q==
|
||||
"@electron/universal@1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339"
|
||||
integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==
|
||||
dependencies:
|
||||
"@malept/cross-spawn-promise" "^1.1.0"
|
||||
asar "^3.1.0"
|
||||
@@ -1044,35 +1044,36 @@ app-builder-bin@4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
|
||||
integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
|
||||
|
||||
app-builder-lib@23.0.3:
|
||||
version "23.0.3"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.0.3.tgz#44c90237abdc4ad9b34a24658bee022828ad6205"
|
||||
integrity sha512-1qrtXYHXJfXhzJnMtVGjIva3067F1qYQubl2oBjI61gCBoCHvhghdYJ57XxXTQQ0VxnUhg1/Iaez87uXp8mD8w==
|
||||
app-builder-lib@23.0.9:
|
||||
version "23.0.9"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.0.9.tgz#c429299b12bf2210f30dfd671b38869bbc5917b7"
|
||||
integrity sha512-2JboeCVrL+PksZ7IHp2teXbMUBnlucc3LhKGV+irxEA0l36bHs939AVtcaiATqyGnJcZkRdaB6TDd7SZfu+pxQ==
|
||||
dependencies:
|
||||
"7zip-bin" "~5.1.1"
|
||||
"@develar/schema-utils" "~2.6.5"
|
||||
"@electron/universal" "1.2.0"
|
||||
"@electron/universal" "1.2.1"
|
||||
"@malept/flatpak-bundler" "^0.4.0"
|
||||
async-exit-hook "^2.0.1"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util "23.0.2"
|
||||
builder-util-runtime "9.0.0"
|
||||
builder-util "23.0.9"
|
||||
builder-util-runtime "9.0.2"
|
||||
chromium-pickle-js "^0.2.0"
|
||||
debug "^4.3.2"
|
||||
ejs "^3.1.6"
|
||||
debug "^4.3.4"
|
||||
ejs "^3.1.7"
|
||||
electron-osx-sign "^0.6.0"
|
||||
electron-publish "23.0.2"
|
||||
electron-publish "23.0.9"
|
||||
form-data "^4.0.0"
|
||||
fs-extra "^10.0.0"
|
||||
hosted-git-info "^4.0.2"
|
||||
fs-extra "^10.1.0"
|
||||
hosted-git-info "^4.1.0"
|
||||
is-ci "^3.0.0"
|
||||
isbinaryfile "^4.0.8"
|
||||
isbinaryfile "^4.0.10"
|
||||
js-yaml "^4.1.0"
|
||||
lazy-val "^1.0.5"
|
||||
minimatch "^3.0.4"
|
||||
minimatch "^3.1.2"
|
||||
read-config-file "6.2.0"
|
||||
sanitize-filename "^1.6.3"
|
||||
semver "^7.3.5"
|
||||
semver "^7.3.7"
|
||||
tar "^6.1.11"
|
||||
temp-file "^3.4.0"
|
||||
|
||||
apply-loader@2.0.0:
|
||||
@@ -1110,6 +1111,14 @@ are-we-there-yet@^2.0.0:
|
||||
delegates "^1.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
are-we-there-yet@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d"
|
||||
integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==
|
||||
dependencies:
|
||||
delegates "^1.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
are-we-there-yet@~1.1.2:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
|
||||
@@ -1226,10 +1235,10 @@ async-foreach@^0.1.3:
|
||||
resolved "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz"
|
||||
integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
|
||||
|
||||
async@0.9.x:
|
||||
version "0.9.2"
|
||||
resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz"
|
||||
integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
|
||||
async@^3.2.3:
|
||||
version "3.2.3"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
|
||||
integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
@@ -1266,12 +1275,13 @@ aws4@^1.2.1, aws4@^1.8.0:
|
||||
resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz"
|
||||
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
|
||||
|
||||
axios@^0.26.1:
|
||||
version "0.26.1"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
|
||||
integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
|
||||
axios@^0.27.2:
|
||||
version "0.27.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
|
||||
integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
|
||||
dependencies:
|
||||
follow-redirects "^1.14.8"
|
||||
follow-redirects "^1.14.9"
|
||||
form-data "^4.0.0"
|
||||
|
||||
babel-runtime@^6.26.0:
|
||||
version "6.26.0"
|
||||
@@ -1548,28 +1558,28 @@ buildcheck@0.0.3:
|
||||
resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
|
||||
integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
|
||||
|
||||
builder-util-runtime@9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz#3a40ba7382712ccdb24471567f91d7c167e00830"
|
||||
integrity sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA==
|
||||
builder-util-runtime@9.0.2:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.2.tgz#dc54f8581bbcf1e0428da4483fa46d09524be857"
|
||||
integrity sha512-xF55W/8mgfT6+sMbX0TeiJkTusA5GMOzckM4rajN4KirFcUIuLTH8oEaTYmM86YwVCZaTwa/7GyFhauXaEICwA==
|
||||
dependencies:
|
||||
debug "^4.3.2"
|
||||
debug "^4.3.4"
|
||||
sax "^1.2.4"
|
||||
|
||||
builder-util@23.0.2:
|
||||
version "23.0.2"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.0.2.tgz#da84a971076397e3a671726f4bb96f0c2214fea7"
|
||||
integrity sha512-HaNHL3axNW/Ms8O1mDx3I07G+ZnZ/TKSWWvorOAPau128cdt9S+lNx5ocbx8deSaHHX4WFXSZVHh3mxlaKJNgg==
|
||||
builder-util@23.0.9:
|
||||
version "23.0.9"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.0.9.tgz#8b1aeeeee679060e39ad2bd0f50f5b3f3cb53a59"
|
||||
integrity sha512-ccPFwI1Sex4yLt8R3LI+H07p2jHICKwEWtxkFkb6jiU/g/VJnF1wazW7I1oMcCFcPTEl30GhqoRv9rfDD9VAiQ==
|
||||
dependencies:
|
||||
"7zip-bin" "~5.1.1"
|
||||
"@types/debug" "^4.1.6"
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
app-builder-bin "4.0.0"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util-runtime "9.0.0"
|
||||
builder-util-runtime "9.0.2"
|
||||
chalk "^4.1.1"
|
||||
cross-spawn "^7.0.3"
|
||||
debug "^4.3.2"
|
||||
debug "^4.3.4"
|
||||
fs-extra "^10.0.0"
|
||||
http-proxy-agent "^5.0.0"
|
||||
https-proxy-agent "^5.0.0"
|
||||
@@ -1761,7 +1771,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2:
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
|
||||
chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||
@@ -1860,13 +1870,13 @@ cli-spinners@^2.4.0:
|
||||
resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz"
|
||||
integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==
|
||||
|
||||
cli-truncate@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz"
|
||||
integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==
|
||||
cli-truncate@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
|
||||
integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
|
||||
dependencies:
|
||||
slice-ansi "^1.0.0"
|
||||
string-width "^2.0.0"
|
||||
slice-ansi "^3.0.0"
|
||||
string-width "^4.2.0"
|
||||
|
||||
cliui@^4.0.0:
|
||||
version "4.1.0"
|
||||
@@ -1958,7 +1968,7 @@ color-name@~1.1.4:
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-support@^1.1.2:
|
||||
color-support@^1.1.2, color-support@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
|
||||
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
|
||||
@@ -2326,7 +2336,7 @@ debug@3.1.0:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
|
||||
version "4.3.2"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
|
||||
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
|
||||
@@ -2347,6 +2357,13 @@ debug@^3.0.0, debug@^3.1.0:
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.3.4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debuglog@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
|
||||
@@ -2489,32 +2506,31 @@ dir-glob@^3.0.1:
|
||||
dependencies:
|
||||
path-type "^4.0.0"
|
||||
|
||||
dmg-builder@23.0.3:
|
||||
version "23.0.3"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.0.3.tgz#ea94bc76fcd94612641580f3c6ae42c3f07f3fee"
|
||||
integrity sha512-mBYrHHnSM5PC656TDE+xTGmXIuWHAGmmRfyM+dV0kP+AxtwPof4pAXNQ8COd0/exZQ4dqf72FiPS3B9G9aB5IA==
|
||||
dmg-builder@23.0.9:
|
||||
version "23.0.9"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.0.9.tgz#ee509dba5631057a65e3d78434a8736179b2093a"
|
||||
integrity sha512-a9mq85K31czOjso+T0aN9pWlmydzhehapU+ussFMD5FwD3l3JCK2ILlRfXuR3penbZT6LKCHuQFDIaZvsusY1w==
|
||||
dependencies:
|
||||
app-builder-lib "23.0.3"
|
||||
builder-util "23.0.2"
|
||||
builder-util-runtime "9.0.0"
|
||||
app-builder-lib "23.0.9"
|
||||
builder-util "23.0.9"
|
||||
builder-util-runtime "9.0.2"
|
||||
fs-extra "^10.0.0"
|
||||
iconv-lite "^0.6.2"
|
||||
js-yaml "^4.1.0"
|
||||
optionalDependencies:
|
||||
dmg-license "^1.0.9"
|
||||
dmg-license "^1.0.11"
|
||||
|
||||
dmg-license@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f"
|
||||
integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==
|
||||
dmg-license@^1.0.11:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a"
|
||||
integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==
|
||||
dependencies:
|
||||
"@types/plist" "^3.0.1"
|
||||
"@types/verror" "^1.10.3"
|
||||
ajv "^6.10.0"
|
||||
cli-truncate "^1.1.0"
|
||||
crc "^3.8.0"
|
||||
iconv-corefoundation "^1.1.6"
|
||||
plist "^3.0.1"
|
||||
iconv-corefoundation "^1.1.7"
|
||||
plist "^3.0.4"
|
||||
smart-buffer "^4.0.2"
|
||||
verror "^1.10.0"
|
||||
|
||||
@@ -2600,24 +2616,24 @@ editor@~1.0.0:
|
||||
resolved "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
|
||||
integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=
|
||||
|
||||
ejs@^3.1.6:
|
||||
version "3.1.6"
|
||||
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a"
|
||||
integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==
|
||||
ejs@^3.1.7:
|
||||
version "3.1.8"
|
||||
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
|
||||
integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
|
||||
dependencies:
|
||||
jake "^10.6.1"
|
||||
jake "^10.8.5"
|
||||
|
||||
electron-builder@^23.0.3:
|
||||
version "23.0.3"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.0.3.tgz#16264a0d8e3d40da1467bcc8ef7917538b54a3bc"
|
||||
integrity sha512-0lnTsljAgcOMuIiOjPcoFf+WxOOe/O04hZPgIvvUBXIbz3kolbNu0Xdch1f5WuQ40NdeZI7oqs8Eo395PcuGHQ==
|
||||
electron-builder@^23.0.9:
|
||||
version "23.0.9"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.0.9.tgz#b181cbee1584d5c5c2eedfb6bc0348e6660600d3"
|
||||
integrity sha512-qeAbUfgVOBMjrDfGaTDsM2wuiPsISbADKLaMM27HAeVTjs6o4UuUFl+DzDVPal3v61W6nAB9kvBTeU9RZ/jH7g==
|
||||
dependencies:
|
||||
"@types/yargs" "^17.0.1"
|
||||
app-builder-lib "23.0.3"
|
||||
builder-util "23.0.2"
|
||||
builder-util-runtime "9.0.0"
|
||||
app-builder-lib "23.0.9"
|
||||
builder-util "23.0.9"
|
||||
builder-util-runtime "9.0.2"
|
||||
chalk "^4.1.1"
|
||||
dmg-builder "23.0.3"
|
||||
dmg-builder "23.0.9"
|
||||
fs-extra "^10.0.0"
|
||||
is-ci "^3.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -2728,14 +2744,14 @@ electron-osx-sign@^0.6.0:
|
||||
minimist "^1.2.0"
|
||||
plist "^3.0.1"
|
||||
|
||||
electron-publish@23.0.2:
|
||||
version "23.0.2"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.0.2.tgz#aa11419ae57b847df4beb63b95e2b2a43161957c"
|
||||
integrity sha512-8gMYgWqv96lc83FCm85wd+tEyxNTJQK7WKyPkNkO8GxModZqt1GO8S+/vAnFGxilS/7vsrVRXFfqiCDUCSuxEg==
|
||||
electron-publish@23.0.9:
|
||||
version "23.0.9"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.0.9.tgz#5b098dafab5d830b7c8bcd18b5a499164c51fa6b"
|
||||
integrity sha512-afr2z6L07/elgDX+6I/G/0vzXOP6xYUd/aXx9tnTPSVZ/3AuvCegHrKiuh8sKYHmzoAcNGXe3ikISYIu961IfA==
|
||||
dependencies:
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
builder-util "23.0.2"
|
||||
builder-util-runtime "9.0.0"
|
||||
builder-util "23.0.9"
|
||||
builder-util-runtime "9.0.2"
|
||||
chalk "^4.1.1"
|
||||
fs-extra "^10.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -2766,10 +2782,10 @@ electron-to-chromium@^1.3.723:
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
|
||||
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
|
||||
|
||||
electron@18.1.0:
|
||||
version "18.1.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-18.1.0.tgz#d92b76f301af1a8728adff8d6eeb42382e218fe8"
|
||||
integrity sha512-P55wdHNTRMo7a/agC84ZEZDYEK/pTBcQdlp8lFbHcx3mO4Kr+Im/J5p2uQgiuXtown31HqNh2paL3V0p+E6rpQ==
|
||||
electron@18.2.4:
|
||||
version "18.2.4"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-18.2.4.tgz#3ea3392f008ea4bdf66b0e3b2e1769e04370323c"
|
||||
integrity sha512-wSjU2N6kBGyGKb2GgBhujpfKtnmNr+gDaZZ6fMmlVMoPJ+GvuW0Zr1ImKPdb5zPXopPYmaURDSvHuAfSd4oHFA==
|
||||
dependencies:
|
||||
"@electron/get" "^1.13.0"
|
||||
"@types/node" "^16.11.26"
|
||||
@@ -2841,10 +2857,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
enhanced-resolve@^5.0.0, enhanced-resolve@^5.9.2:
|
||||
version "5.9.2"
|
||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9"
|
||||
integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==
|
||||
enhanced-resolve@^5.0.0, enhanced-resolve@^5.9.3:
|
||||
version "5.9.3"
|
||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88"
|
||||
integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.4"
|
||||
tapable "^2.2.0"
|
||||
@@ -3256,11 +3272,11 @@ file-loader@^6.2.0:
|
||||
schema-utils "^3.0.0"
|
||||
|
||||
filelist@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz"
|
||||
integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.3.tgz#448607750376484932f67ef1b9ff07386b036c83"
|
||||
integrity sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==
|
||||
dependencies:
|
||||
minimatch "^3.0.4"
|
||||
minimatch "^5.0.1"
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
@@ -3325,7 +3341,7 @@ flush-write-stream@^1.0.0:
|
||||
inherits "^2.0.1"
|
||||
readable-stream "^2.0.4"
|
||||
|
||||
follow-redirects@^1.14.8:
|
||||
follow-redirects@^1.14.9:
|
||||
version "1.14.9"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
|
||||
integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
|
||||
@@ -3397,6 +3413,15 @@ fs-extra@^10.0.0:
|
||||
jsonfile "^6.0.1"
|
||||
universalify "^2.0.0"
|
||||
|
||||
fs-extra@^10.1.0:
|
||||
version "10.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
|
||||
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^6.0.1"
|
||||
universalify "^2.0.0"
|
||||
|
||||
fs-extra@^4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz"
|
||||
@@ -3516,20 +3541,19 @@ gauge@^3.0.0:
|
||||
strip-ansi "^3.0.1 || ^4.0.0"
|
||||
wide-align "^1.1.2"
|
||||
|
||||
gauge@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8"
|
||||
integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==
|
||||
gauge@^4.0.3:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce"
|
||||
integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
aproba "^1.0.3 || ^2.0.0"
|
||||
color-support "^1.1.2"
|
||||
console-control-strings "^1.0.0"
|
||||
color-support "^1.1.3"
|
||||
console-control-strings "^1.1.0"
|
||||
has-unicode "^2.0.1"
|
||||
signal-exit "^3.0.0"
|
||||
signal-exit "^3.0.7"
|
||||
string-width "^4.2.3"
|
||||
strip-ansi "^6.0.1"
|
||||
wide-align "^1.1.2"
|
||||
wide-align "^1.1.5"
|
||||
|
||||
gauge@~2.7.3:
|
||||
version "2.7.4"
|
||||
@@ -3793,10 +3817,10 @@ got@^9.6.0:
|
||||
to-readable-stream "^1.0.0"
|
||||
url-parse-lax "^3.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9, graceful-fs@~4.1.11:
|
||||
version "4.2.9"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
|
||||
integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9, graceful-fs@~4.1.11:
|
||||
version "4.2.10"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
|
||||
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
|
||||
|
||||
"graceful-readlink@>= 1.0.0":
|
||||
version "1.0.1"
|
||||
@@ -3970,10 +3994,10 @@ hosted-git-info@^3.0.6:
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
hosted-git-info@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
|
||||
integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
|
||||
hosted-git-info@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
|
||||
integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
@@ -4088,12 +4112,12 @@ humanize-ms@^1.2.1:
|
||||
dependencies:
|
||||
ms "^2.0.0"
|
||||
|
||||
iconv-corefoundation@^1.1.6:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz#27c135470237f6f8d13462fa1f5eaf250523c29a"
|
||||
integrity sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==
|
||||
iconv-corefoundation@^1.1.7:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a"
|
||||
integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==
|
||||
dependencies:
|
||||
cli-truncate "^1.1.0"
|
||||
cli-truncate "^2.1.0"
|
||||
node-addon-api "^1.6.3"
|
||||
|
||||
iconv-lite@^0.6.2, iconv-lite@^0.6.3:
|
||||
@@ -4595,10 +4619,10 @@ isbinaryfile@^3.0.2:
|
||||
dependencies:
|
||||
buffer-alloc "^1.2.0"
|
||||
|
||||
isbinaryfile@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
|
||||
integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
|
||||
isbinaryfile@^4.0.10:
|
||||
version "4.0.10"
|
||||
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
|
||||
integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
|
||||
|
||||
isemail@2.x.x:
|
||||
version "2.2.1"
|
||||
@@ -4625,13 +4649,13 @@ items@2.x.x:
|
||||
resolved "https://registry.npmjs.org/items/-/items-2.1.2.tgz"
|
||||
integrity sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg==
|
||||
|
||||
jake@^10.6.1:
|
||||
version "10.8.2"
|
||||
resolved "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz"
|
||||
integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
|
||||
jake@^10.8.5:
|
||||
version "10.8.5"
|
||||
resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
|
||||
integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
|
||||
dependencies:
|
||||
async "0.9.x"
|
||||
chalk "^2.4.2"
|
||||
async "^3.2.3"
|
||||
chalk "^4.0.2"
|
||||
filelist "^1.0.1"
|
||||
minimatch "^3.0.4"
|
||||
|
||||
@@ -4709,12 +4733,7 @@ json-loader@^0.5.7:
|
||||
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
|
||||
integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
|
||||
|
||||
json-parse-better-errors@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
|
||||
|
||||
json-parse-even-better-errors@^2.3.0:
|
||||
json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
|
||||
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
|
||||
@@ -5320,13 +5339,20 @@ minimalistic-crypto-utils@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
||||
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
|
||||
|
||||
minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
|
||||
minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^3.0.4, minimatch@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
|
||||
@@ -5519,10 +5545,10 @@ no-case@^3.0.4:
|
||||
lower-case "^2.0.2"
|
||||
tslib "^2.0.3"
|
||||
|
||||
node-abi@^3.0.0, node-abi@^3.5.0, node-abi@^3.8.0:
|
||||
version "3.8.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.8.0.tgz#679957dc8e7aa47b0a02589dbfde4f77b29ccb32"
|
||||
integrity sha512-tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==
|
||||
node-abi@^3.0.0, node-abi@^3.15.0, node-abi@^3.5.0:
|
||||
version "3.15.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.15.0.tgz#cd9ac8c58328129b49998cc6fa16aa5506152716"
|
||||
integrity sha512-Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
@@ -5876,14 +5902,14 @@ npm@5.1.0:
|
||||
gauge "~2.7.3"
|
||||
set-blocking "~2.0.0"
|
||||
|
||||
npmlog@6.0.0, npmlog@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.0.tgz#ba9ef39413c3d936ea91553db7be49c34ad0520c"
|
||||
integrity sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==
|
||||
npmlog@6.0.2, npmlog@^6.0.0:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
|
||||
integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
|
||||
dependencies:
|
||||
are-we-there-yet "^2.0.0"
|
||||
are-we-there-yet "^3.0.0"
|
||||
console-control-strings "^1.1.0"
|
||||
gauge "^4.0.0"
|
||||
gauge "^4.0.3"
|
||||
set-blocking "^2.0.0"
|
||||
|
||||
npmlog@^5.0.0:
|
||||
@@ -7411,6 +7437,13 @@ semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@^7.3.7:
|
||||
version "7.3.7"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
|
||||
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
semver@~5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||
@@ -7519,6 +7552,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
||||
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
||||
|
||||
signal-exit@^3.0.7:
|
||||
version "3.0.7"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
|
||||
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
|
||||
|
||||
simple-html-tokenizer@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz"
|
||||
@@ -7550,12 +7588,14 @@ slash@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
|
||||
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
|
||||
|
||||
slice-ansi@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz"
|
||||
integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
|
||||
slice-ansi@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
|
||||
integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
|
||||
dependencies:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
ansi-styles "^4.0.0"
|
||||
astral-regex "^2.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
|
||||
slice-ansi@^4.0.0:
|
||||
version "4.0.0"
|
||||
@@ -7835,6 +7875,15 @@ string-width@^1.0.1:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^4.0.0"
|
||||
|
||||
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
string-width@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"
|
||||
@@ -7862,15 +7911,6 @@ string-width@^4.2.0:
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
string.prototype.trimend@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
||||
@@ -8095,7 +8135,7 @@ tar@^2.0.0, tar@~2.2.1:
|
||||
fstream "^1.0.12"
|
||||
inherits "2"
|
||||
|
||||
tar@^6.0.2, tar@^6.0.5, tar@^6.1.2:
|
||||
tar@^6.0.2, tar@^6.0.5, tar@^6.1.11, tar@^6.1.2:
|
||||
version "6.1.11"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
|
||||
integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
|
||||
@@ -8417,10 +8457,10 @@ typedarray@^0.0.6:
|
||||
resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
|
||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
typedoc@^0.22.13:
|
||||
version "0.22.13"
|
||||
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.22.13.tgz#d061f8f0fb7c9d686e48814f245bddeea4564e66"
|
||||
integrity sha512-NHNI7Dr6JHa/I3+c62gdRNXBIyX7P33O9TafGLd07ur3MqzcKgwTvpg18EtvCLHJyfeSthAtCLpM7WkStUmDuQ==
|
||||
typedoc@^0.22.15:
|
||||
version "0.22.15"
|
||||
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.22.15.tgz#c6ad7ed9d017dc2c3a06c9189cb392bd8e2d8c3f"
|
||||
integrity sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==
|
||||
dependencies:
|
||||
glob "^7.2.0"
|
||||
lunr "^2.3.9"
|
||||
@@ -8731,10 +8771,10 @@ webpack-sources@^3.2.3:
|
||||
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
|
||||
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
|
||||
|
||||
webpack@^5.72.0:
|
||||
version "5.72.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.0.tgz#f8bc40d9c6bb489a4b7a8a685101d6022b8b6e28"
|
||||
integrity sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==
|
||||
webpack@^5.72.1:
|
||||
version "5.72.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13"
|
||||
integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==
|
||||
dependencies:
|
||||
"@types/eslint-scope" "^3.7.3"
|
||||
"@types/estree" "^0.0.51"
|
||||
@@ -8745,13 +8785,13 @@ webpack@^5.72.0:
|
||||
acorn-import-assertions "^1.7.6"
|
||||
browserslist "^4.14.5"
|
||||
chrome-trace-event "^1.0.2"
|
||||
enhanced-resolve "^5.9.2"
|
||||
enhanced-resolve "^5.9.3"
|
||||
es-module-lexer "^0.9.0"
|
||||
eslint-scope "5.1.1"
|
||||
events "^3.2.0"
|
||||
glob-to-regexp "^0.4.1"
|
||||
graceful-fs "^4.2.9"
|
||||
json-parse-better-errors "^1.0.2"
|
||||
json-parse-even-better-errors "^2.3.1"
|
||||
loader-runner "^4.2.0"
|
||||
mime-types "^2.1.27"
|
||||
neo-async "^2.6.2"
|
||||
@@ -8835,6 +8875,13 @@ wide-align@^1.1.0, wide-align@^1.1.2:
|
||||
dependencies:
|
||||
string-width "^1.0.2 || 2"
|
||||
|
||||
wide-align@^1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
|
||||
integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
|
||||
dependencies:
|
||||
string-width "^1.0.2 || 2 || 3 || 4"
|
||||
|
||||
widest-line@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz"
|
||||
|