Compare commits
5 Commits
ac76131f18
...
f7f394972d
Author | SHA1 | Date |
---|---|---|
Lykin | f7f394972d | |
Lykin | 94c7b7ade5 | |
Lykin | 44770a4a8e | |
Lykin | d819502bc7 | |
Lykin | e942f41f66 |
|
@ -87,7 +87,18 @@ func (b *browserService) Stop() {
|
|||
func (b *browserService) OpenConnection(name string) (resp types.JSResp) {
|
||||
// get connection config
|
||||
selConn := Connection().getConnection(name)
|
||||
item, err := b.getRedisClient(name, selConn.LastDB)
|
||||
// correct last database index
|
||||
lastDB := selConn.LastDB
|
||||
if selConn.DBFilterType == "show" && !sliceutil.Contains(selConn.DBFilterList, lastDB) {
|
||||
lastDB = selConn.DBFilterList[0]
|
||||
} else if selConn.DBFilterType == "hide" && sliceutil.Contains(selConn.DBFilterList, lastDB) {
|
||||
lastDB = selConn.DBFilterList[0]
|
||||
}
|
||||
if lastDB != selConn.LastDB {
|
||||
Connection().SaveLastDB(name, lastDB)
|
||||
}
|
||||
|
||||
item, err := b.getRedisClient(name, lastDB)
|
||||
if err != nil {
|
||||
resp.Msg = err.Error()
|
||||
return
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package services
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"github.com/adrg/sysfont"
|
||||
runtime2 "github.com/wailsapp/wails/v2/pkg/runtime"
|
||||
"net/http"
|
||||
"sort"
|
||||
"strings"
|
||||
|
@ -139,6 +141,38 @@ func (p *preferencesService) GetWindowSize() (width, height int, maximised bool)
|
|||
return
|
||||
}
|
||||
|
||||
func (p *preferencesService) GetWindowPosition(ctx context.Context) (x, y int) {
|
||||
data := p.pref.GetPreferences()
|
||||
x, y = data.Behavior.WindowPosX, data.Behavior.WindowPosY
|
||||
width, height := data.Behavior.WindowWidth, data.Behavior.WindowHeight
|
||||
var screenWidth, screenHeight int
|
||||
if screens, err := runtime2.ScreenGetAll(ctx); err == nil {
|
||||
for _, screen := range screens {
|
||||
if screen.IsCurrent {
|
||||
screenWidth, screenHeight = screen.Size.Width, screen.Size.Height
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if screenWidth <= 0 || screenHeight <= 0 {
|
||||
screenWidth, screenHeight = consts.DEFAULT_WINDOW_WIDTH, consts.DEFAULT_WINDOW_HEIGHT
|
||||
}
|
||||
if x <= 0 || x+width > screenWidth || y <= 0 || y+height > screenHeight {
|
||||
// out of screen, reset to center
|
||||
x, y = (screenWidth-width)/2, (screenHeight-height)/2
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (p *preferencesService) SaveWindowPosition(x, y int) {
|
||||
if x > 0 || y > 0 {
|
||||
p.UpdatePreferences(map[string]any{
|
||||
"behavior.windowPosX": x,
|
||||
"behavior.windowPosY": y,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (p *preferencesService) GetScanSize() int {
|
||||
data := p.pref.GetPreferences()
|
||||
size := data.General.ScanSize
|
||||
|
|
|
@ -63,7 +63,7 @@ func (s *systemService) SelectFile(title string) (resp types.JSResp) {
|
|||
|
||||
func (s *systemService) loopWindowEvent() {
|
||||
var fullscreen, maximised, minimised, normal bool
|
||||
var width, height int
|
||||
var width, height, posx, posy int
|
||||
var dirty bool
|
||||
for {
|
||||
time.Sleep(300 * time.Millisecond)
|
||||
|
@ -84,6 +84,12 @@ func (s *systemService) loopWindowEvent() {
|
|||
dirty = true
|
||||
}
|
||||
|
||||
if x, y := runtime.WindowGetPosition(s.ctx); x != posx || y != posy {
|
||||
// window position changed
|
||||
posx, posy = x, y
|
||||
dirty = true
|
||||
}
|
||||
|
||||
if m := runtime.WindowIsMaximised(s.ctx); m != maximised {
|
||||
maximised = m
|
||||
dirty = true
|
||||
|
@ -110,8 +116,9 @@ func (s *systemService) loopWindowEvent() {
|
|||
})
|
||||
|
||||
if !fullscreen && !minimised {
|
||||
// save window size
|
||||
// save window size and position
|
||||
Preferences().SaveWindowSize(width, height, maximised)
|
||||
Preferences().SaveWindowPosition(posx, posy)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ func NewPreferences() Preferences {
|
|||
Editor: PreferencesEditor{
|
||||
FontSize: consts.DEFAULT_FONT_SIZE,
|
||||
ShowLineNum: true,
|
||||
ShowFolding: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +36,8 @@ type PreferencesBehavior struct {
|
|||
WindowWidth int `json:"windowWidth" yaml:"window_width"`
|
||||
WindowHeight int `json:"windowHeight" yaml:"window_height"`
|
||||
WindowMaximised bool `json:"windowMaximised" yaml:"window_maximised"`
|
||||
WindowPosX int `json:"windowPosX" yaml:"window_pos_x"`
|
||||
WindowPosY int `json:"windowPosY" yaml:"window_pos_y"`
|
||||
}
|
||||
|
||||
type PreferencesGeneral struct {
|
||||
|
@ -54,4 +57,5 @@ type PreferencesEditor struct {
|
|||
Font string `json:"font" yaml:"font,omitempty"`
|
||||
FontSize int `json:"fontSize" yaml:"font_size"`
|
||||
ShowLineNum bool `json:"showLineNum" yaml:"show_line_num"`
|
||||
ShowFolding bool `json:"showFolding" yaml:"show_folding"`
|
||||
}
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^4.5.2",
|
||||
"naive-ui": "^2.35.0",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier": "^3.1.1",
|
||||
"unplugin-auto-import": "^0.17.2",
|
||||
"unplugin-icons": "^0.18.1",
|
||||
"unplugin-vue-components": "^0.26.0",
|
||||
"vite": "^5.0.6"
|
||||
"vite": "^5.0.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@antfu/install-pkg": {
|
||||
|
@ -1747,15 +1747,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.1.0.tgz",
|
||||
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
|
||||
"integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin/prettier.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-microtask": {
|
||||
|
@ -2145,9 +2148,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.6.tgz",
|
||||
"integrity": "sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==",
|
||||
"version": "5.0.7",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.0.7.tgz",
|
||||
"integrity": "sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.19.3",
|
||||
|
@ -2160,6 +2163,9 @@
|
|||
"engines": {
|
||||
"node": "^18.0.0 || >=20.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.3"
|
||||
},
|
||||
|
@ -3510,9 +3516,9 @@
|
|||
}
|
||||
},
|
||||
"prettier": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.1.0.tgz",
|
||||
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
|
||||
"integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
|
||||
"dev": true
|
||||
},
|
||||
"queue-microtask": {
|
||||
|
@ -3797,9 +3803,9 @@
|
|||
}
|
||||
},
|
||||
"vite": {
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.6.tgz",
|
||||
"integrity": "sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==",
|
||||
"version": "5.0.7",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.0.7.tgz",
|
||||
"integrity": "sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esbuild": "^0.19.3",
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^4.5.2",
|
||||
"naive-ui": "^2.35.0",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier": "^3.1.1",
|
||||
"unplugin-auto-import": "^0.17.2",
|
||||
"unplugin-icons": "^0.18.1",
|
||||
"unplugin-vue-components": "^0.26.0",
|
||||
"vite": "^5.0.6"
|
||||
"vite": "^5.0.7"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
5d7ef4625da99af1c918196c905459d4
|
||||
c645c91528721588c620ff74fd475d09
|
|
@ -22,6 +22,10 @@ const props = defineProps({
|
|||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
showFolding: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
|
@ -65,7 +69,7 @@ onMounted(async () => {
|
|||
accessibilitySupport: 'off',
|
||||
wordWrap: 'on',
|
||||
tabSize: 2,
|
||||
folding: true,
|
||||
folding: props.showFolding !== false,
|
||||
fontFamily,
|
||||
fontSize,
|
||||
scrollBeyondLastLine: false,
|
||||
|
@ -152,7 +156,9 @@ onUnmounted(() => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div ref="editorRef" :class="{ 'editor-border': props.border === true }" />
|
||||
<div :class="{ 'editor-border': props.border === true }" style="position: relative">
|
||||
<div ref="editorRef" class="editor-inst" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -162,4 +168,12 @@ onUnmounted(() => {
|
|||
padding: 3px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.editor-inst {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
bottom: 2px;
|
||||
left: 2px;
|
||||
right: 2px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -157,8 +157,8 @@ const onSave = () => {
|
|||
|
||||
<template>
|
||||
<div v-show="show" class="entry-editor flex-box-v">
|
||||
<n-card :title="$t('interface.edit_row')" autofocus size="small" style="height: 100%">
|
||||
<div class="editor-content flex-box-v" style="height: 100%">
|
||||
<n-card :title="$t('interface.edit_row')" autofocus class="flex-item-expand" size="small">
|
||||
<div class="editor-content flex-box-v flex-item-expand">
|
||||
<!-- field -->
|
||||
<div class="editor-content-item flex-box-v">
|
||||
<div class="editor-content-item-label">{{ props.fieldLabel }}</div>
|
||||
|
@ -179,8 +179,8 @@ const onSave = () => {
|
|||
:content="displayValue"
|
||||
:language="viewLanguage"
|
||||
:show-line-num="prefStore.showLineNum"
|
||||
:show-folding="prefStore.showFolding"
|
||||
class="flex-item-expand"
|
||||
style="height: 100%"
|
||||
@input="onInput"
|
||||
@reset="onInput"
|
||||
@save="onSave" />
|
||||
|
@ -248,7 +248,7 @@ const onSave = () => {
|
|||
}
|
||||
|
||||
&-label {
|
||||
line-height: 1.25;
|
||||
height: 18px;
|
||||
color: v-bind('themeVars.textColor3');
|
||||
font-size: 13px;
|
||||
padding: 5px 0;
|
||||
|
@ -260,6 +260,12 @@ const onSave = () => {
|
|||
}
|
||||
}
|
||||
|
||||
:deep(.n-card__content) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
:deep(.n-card__action) {
|
||||
padding: 5px 10px;
|
||||
background-color: unset;
|
||||
|
|
|
@ -211,6 +211,7 @@ defineExpose({
|
|||
:language="viewLanguage"
|
||||
:loading="props.loading"
|
||||
:show-line-num="prefStore.showLineNum"
|
||||
:show-folding="prefStore.showFolding"
|
||||
class="flex-item-expand"
|
||||
style="height: 100%"
|
||||
@input="onInput"
|
||||
|
|
|
@ -132,19 +132,28 @@ const onClose = () => {
|
|||
|
||||
<n-tab-pane :tab="$t('preferences.editor.name')" display-directive="show" name="editor">
|
||||
<n-form :disabled="loading" :model="prefStore.editor" :show-require-mark="false" label-placement="top">
|
||||
<n-form-item :label="$t('preferences.general.font')" required>
|
||||
<n-select
|
||||
v-model:value="prefStore.editor.font"
|
||||
:input-props="{ spellcheck: 'false' }"
|
||||
:options="prefStore.fontOption"
|
||||
filterable />
|
||||
</n-form-item>
|
||||
<n-form-item :label="$t('preferences.general.font_size')">
|
||||
<n-input-number v-model:value="prefStore.editor.fontSize" :max="65535" :min="1" />
|
||||
</n-form-item>
|
||||
<n-checkbox v-model:checked="prefStore.editor.showLineNum">
|
||||
{{ $t('preferences.editor.show_linenum') }}
|
||||
</n-checkbox>
|
||||
<n-grid :x-gap="10">
|
||||
<n-form-item-gi :label="$t('preferences.general.font')" :span="24" required>
|
||||
<n-select
|
||||
v-model:value="prefStore.editor.font"
|
||||
:input-props="{ spellcheck: 'false' }"
|
||||
:options="prefStore.fontOption"
|
||||
filterable />
|
||||
</n-form-item-gi>
|
||||
<n-form-item-gi :label="$t('preferences.general.font_size')" :show-feedback="false" :span="24">
|
||||
<n-input-number v-model:value="prefStore.editor.fontSize" :max="65535" :min="1" />
|
||||
</n-form-item-gi>
|
||||
<n-form-item-gi :show-feedback="false" :span="24">
|
||||
<n-checkbox v-model:checked="prefStore.editor.showLineNum">
|
||||
{{ $t('preferences.editor.show_linenum') }}
|
||||
</n-checkbox>
|
||||
</n-form-item-gi>
|
||||
<n-form-item-gi :show-feedback="false" :span="24">
|
||||
<n-checkbox v-model:checked="prefStore.editor.showFolding">
|
||||
{{ $t('preferences.editor.show_folding') }}
|
||||
</n-checkbox>
|
||||
</n-form-item-gi>
|
||||
</n-grid>
|
||||
</n-form>
|
||||
</n-tab-pane>
|
||||
</n-tabs>
|
||||
|
|
|
@ -152,6 +152,10 @@ const onDisconnect = () => {
|
|||
}
|
||||
|
||||
const handleSelectDB = async (db) => {
|
||||
if (db === props.db) {
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
loading.value = true
|
||||
browserStore.setKeyFilter(props.server, {})
|
||||
|
|
|
@ -295,7 +295,7 @@ const onUpdateSelectedKeys = (keys, options) => {
|
|||
}
|
||||
}
|
||||
// default is load blank key to display server status
|
||||
tabStore.openBlank(props.server)
|
||||
tabStore.openBlank(props.server, props.db)
|
||||
} finally {
|
||||
tabStore.setSelectedKeys(props.server, keys)
|
||||
}
|
||||
|
|
|
@ -49,13 +49,6 @@ const contextMenuParam = reactive({
|
|||
currentNode: null,
|
||||
})
|
||||
|
||||
const renderIcon = (icon) => {
|
||||
return () => {
|
||||
return h(NIcon, null, {
|
||||
default: () => h(icon),
|
||||
})
|
||||
}
|
||||
}
|
||||
const menuOptions = {
|
||||
[ConnectionType.Group]: ({ opened }) => [
|
||||
{
|
||||
|
|
|
@ -48,7 +48,8 @@
|
|||
},
|
||||
"editor": {
|
||||
"name": "Editor",
|
||||
"show_linenum": "Show Line Numbers"
|
||||
"show_linenum": "Show Line Numbers",
|
||||
"show_folding": "Enable Code Folding"
|
||||
}
|
||||
},
|
||||
"interface": {
|
||||
|
|
|
@ -48,7 +48,8 @@
|
|||
},
|
||||
"editor": {
|
||||
"name": "编辑器",
|
||||
"show_linenum": "显示行号"
|
||||
"show_linenum": "显示行号",
|
||||
"show_folding": "启用代码折叠"
|
||||
}
|
||||
},
|
||||
"interface": {
|
||||
|
|
|
@ -55,6 +55,7 @@ const usePreferencesStore = defineStore('preferences', {
|
|||
font: '',
|
||||
fontSize: 14,
|
||||
showLineNum: true,
|
||||
showFolding: true,
|
||||
},
|
||||
lastPref: {},
|
||||
fontList: [],
|
||||
|
@ -190,6 +191,10 @@ const usePreferencesStore = defineStore('preferences', {
|
|||
return get(this.editor, 'showLineNum', true)
|
||||
},
|
||||
|
||||
showFolding() {
|
||||
return get(this.editor, 'showFolding', true)
|
||||
},
|
||||
|
||||
keyIconType() {
|
||||
return get(this.general, 'keyIconStyle', typesIconStyle.SHORT)
|
||||
},
|
||||
|
@ -215,6 +220,10 @@ const usePreferencesStore = defineStore('preferences', {
|
|||
if (showLineNum === undefined) {
|
||||
set(data, 'editor.showLineNum', true)
|
||||
}
|
||||
const showFolding = get(data, 'editor.showFolding')
|
||||
if (showFolding === undefined) {
|
||||
set(data, 'editor.showFolding', true)
|
||||
}
|
||||
i18nGlobal.locale.value = this.currentLanguage
|
||||
}
|
||||
},
|
||||
|
|
|
@ -151,7 +151,7 @@ const useTabStore = defineStore('tab', {
|
|||
},
|
||||
|
||||
openBlank(server) {
|
||||
this.upsertTab({ server, db: 0 })
|
||||
this.upsertTab({ server })
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -194,7 +194,7 @@ const useTabStore = defineStore('tab', {
|
|||
// tab.title = db !== undefined ? `${server}/db${db}` : `${server}`
|
||||
tab.title = server
|
||||
tab.server = server
|
||||
tab.db = db
|
||||
tab.db = db == null ? tab.db : db
|
||||
tab.type = type
|
||||
tab.ttl = ttl
|
||||
tab.key = key
|
||||
|
|
21
go.mod
21
go.mod
|
@ -9,43 +9,44 @@ require (
|
|||
github.com/klauspost/compress v1.17.4
|
||||
github.com/redis/go-redis/v9 v9.3.0
|
||||
github.com/vrischmann/userdir v0.0.0-20151206171402-20f291cebd68
|
||||
github.com/wailsapp/wails/v2 v2.6.0
|
||||
github.com/wailsapp/wails/v2 v2.7.1
|
||||
golang.org/x/crypto v0.16.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/adrg/strutil v0.3.0 // indirect
|
||||
github.com/adrg/strutil v0.3.1 // indirect
|
||||
github.com/adrg/xdg v0.4.0 // indirect
|
||||
github.com/bep/debounce v1.2.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/labstack/echo/v4 v4.11.1 // indirect
|
||||
github.com/labstack/gommon v0.4.0 // indirect
|
||||
github.com/labstack/echo/v4 v4.11.3 // indirect
|
||||
github.com/labstack/gommon v0.4.1 // indirect
|
||||
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
||||
github.com/leaanthony/gosod v1.0.3 // indirect
|
||||
github.com/leaanthony/slicer v1.6.0 // indirect
|
||||
github.com/leaanthony/u v1.1.1 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.6.1 // indirect
|
||||
github.com/samber/lo v1.38.1 // indirect
|
||||
github.com/stretchr/testify v1.8.4 // indirect
|
||||
github.com/samber/lo v1.39.0 // indirect
|
||||
github.com/tkrajina/go-reflector v0.5.6 // indirect
|
||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||
github.com/valyala/fasttemplate v1.2.2 // indirect
|
||||
github.com/wailsapp/go-webview2 v1.0.10 // indirect
|
||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
||||
golang.org/x/net v0.18.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb // indirect
|
||||
golang.org/x/net v0.19.0 // indirect
|
||||
golang.org/x/sys v0.15.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
)
|
||||
|
||||
// replace github.com/wailsapp/wails/v2 v2.6.0 => ~/go/pkg/mod
|
||||
// replace github.com/wailsapp/wails/v2 v2.7.1 => ~/go/pkg/mod
|
||||
|
|
46
go.sum
46
go.sum
|
@ -1,6 +1,6 @@
|
|||
github.com/adrg/strutil v0.2.2/go.mod h1:EF2fjOFlGTepljfI+FzgTG13oXthR7ZAil9/aginnNQ=
|
||||
github.com/adrg/strutil v0.3.0 h1:bi/HB2zQbDihC8lxvATDTDzkT4bG7PATtVnDYp5rvq4=
|
||||
github.com/adrg/strutil v0.3.0/go.mod h1:Jz0wzBVE6Uiy9wxo62YEqEY1Nwto3QlLl1Il5gkLKWU=
|
||||
github.com/adrg/strutil v0.3.1 h1:OLvSS7CSJO8lBii4YmBt8jiK9QOtB9CzCzwl4Ic/Fz4=
|
||||
github.com/adrg/strutil v0.3.1/go.mod h1:8h90y18QLrs11IBffcGX3NW/GFBXCMcNg4M7H6MspPA=
|
||||
github.com/adrg/sysfont v0.1.2 h1:MSU3KREM4RhsQ+7QgH7wPEPTgAgBIz0Hw6Nd4u7QgjE=
|
||||
github.com/adrg/sysfont v0.1.2/go.mod h1:6d3l7/BSjX9VaeXWJt9fcrftFaD/t7l11xgSywCPZGk=
|
||||
github.com/adrg/xdg v0.3.0/go.mod h1:7I2hH/IT30IsupOpKZ5ue7/qNi3CoKzD6tL3HwpaRMQ=
|
||||
|
@ -24,6 +24,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/r
|
|||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
|
||||
github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
|
||||
github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
|
||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
|
||||
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck=
|
||||
|
@ -38,10 +40,10 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/labstack/echo/v4 v4.11.1 h1:dEpLU2FLg4UVmvCGPuk/APjlH6GDpbEPti61srUUUs4=
|
||||
github.com/labstack/echo/v4 v4.11.1/go.mod h1:YuYRTSM3CHs2ybfrL8Px48bO6BAnYIN4l8wSTMP6BDQ=
|
||||
github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8=
|
||||
github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM=
|
||||
github.com/labstack/echo/v4 v4.11.3 h1:Upyu3olaqSHkCjs1EJJwQ3WId8b8b1hxbogyommKktM=
|
||||
github.com/labstack/echo/v4 v4.11.3/go.mod h1:UcGuQ8V6ZNRmSweBIJkPvGfwCMIlFmiqrPqiEBfPYws=
|
||||
github.com/labstack/gommon v0.4.1 h1:gqEff0p/hTENGMABzezPoPSRtIh1Cvw0ueMOe0/dfOk=
|
||||
github.com/labstack/gommon v0.4.1/go.mod h1:TyTrpPqxR5KMk8LKVtLmfMjeQ5FEkBYdxLYPw/WfrOM=
|
||||
github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc=
|
||||
github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA=
|
||||
github.com/leaanthony/go-ansi-parser v1.6.1 h1:xd8bzARK3dErqkPFtoF9F3/HgN8UQk0ed1YDKpEz01A=
|
||||
|
@ -51,15 +53,15 @@ github.com/leaanthony/gosod v1.0.3/go.mod h1:BJ2J+oHsQIyIQpnLPjnqFGTMnOZXDbvWtRC
|
|||
github.com/leaanthony/slicer v1.5.0/go.mod h1:FwrApmf8gOrpzEWM2J/9Lh79tyq8KTX5AzRtwV7m4AY=
|
||||
github.com/leaanthony/slicer v1.6.0 h1:1RFP5uiPJvT93TAHi+ipd3NACobkW53yUiBqZheE/Js=
|
||||
github.com/leaanthony/slicer v1.6.0/go.mod h1:o/Iz29g7LN0GqH3aMjWAe90381nyZlDNquK+mtH2Fj8=
|
||||
github.com/leaanthony/u v1.1.1 h1:TUFjwDGlNX+WuwVEzDqQwC2lOv0P4uhTQw7CMFdiK7M=
|
||||
github.com/leaanthony/u v1.1.1/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
||||
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||
github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
|
@ -73,19 +75,21 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
|||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
||||
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||
github.com/samber/lo v1.39.0 h1:4gTz1wUhNYLhFSKl6O+8peW0v2F4BCY034GRpU9WnuA=
|
||||
github.com/samber/lo v1.39.0/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/tkrajina/go-reflector v0.5.6 h1:hKQ0gyocG7vgMD2M3dRlYN6WBBOmdoOzJ6njQSepKdE=
|
||||
github.com/tkrajina/go-reflector v0.5.6/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
|
||||
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/vrischmann/userdir v0.0.0-20151206171402-20f291cebd68 h1:Ah2/69Z24rwD6OByyOdpJDmttftz0FTF8Q4QZ/SF1E4=
|
||||
|
@ -94,23 +98,20 @@ github.com/wailsapp/go-webview2 v1.0.10 h1:PP5Hug6pnQEAhfRzLCoOh2jJaPdrqeRgJKZhy
|
|||
github.com/wailsapp/go-webview2 v1.0.10/go.mod h1:Uk2BePfCRzttBBjFrBmqKGJd41P6QIHeV9kTgIeOZNo=
|
||||
github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs=
|
||||
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
||||
github.com/wailsapp/wails/v2 v2.6.0 h1:EyH0zR/EO6dDiqNy8qU5spaXDfkluiq77xrkabPYD4c=
|
||||
github.com/wailsapp/wails/v2 v2.6.0/go.mod h1:WBG9KKWuw0FKfoepBrr/vRlyTmHaMibWesK3yz6nNiM=
|
||||
github.com/wailsapp/wails/v2 v2.7.1 h1:HAzp2c5ODOzsLC6ZMDVtNOB72ozM7/SJecJPB2Ur+UU=
|
||||
github.com/wailsapp/wails/v2 v2.7.1/go.mod h1:oIJVwwso5fdOgprBYWXBBqtx6PaSvxg8/KTQHNGkadc=
|
||||
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
||||
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
|
||||
golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb h1:c0vyKkb6yr3KR7jEfJaOSv4lG7xPkbN6r52aJz1d8a8=
|
||||
golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
|
||||
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=
|
||||
golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
|
||||
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
|
@ -129,6 +130,5 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN
|
|||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
Loading…
Reference in New Issue