Compare commits
72 commits
backup/pre
...
local/libc
| Author | SHA1 | Date | |
|---|---|---|---|
| 936e57b63e | |||
| c45b23aa85 | |||
|
|
bfc98bf219 | ||
|
|
14aba66228 | ||
|
|
430120f6ff | ||
|
|
9307793661 | ||
|
|
505ecd18fe | ||
|
|
4b4871ecf4 | ||
|
|
1054b6a7fd | ||
|
|
139cfaaf5c | ||
| 85da7f90f2 | |||
| 70c1765b1f | |||
| 20c47377a8 | |||
|
|
26f6ffd3e6 | ||
| 6150549a9b | |||
| de9ae6890a | |||
|
|
13b1d4aac0 | ||
|
|
6c800ce1f1 | ||
|
|
0e9c927f1a | ||
|
|
b23384043e | ||
| 36d66d7ef2 | |||
|
|
4a5be62b02 | ||
|
|
8c9c15de85 | ||
|
|
0f725de5e6 | ||
|
|
1727fe3108 | ||
|
|
98191e32c7 | ||
|
|
067e2e0441 | ||
|
|
3f2c1af3fa | ||
|
|
8b3cff1afd | ||
|
|
aad6c21ab4 | ||
|
|
e4006945c6 | ||
| 542d943211 | |||
|
|
4ac0da3af9 | ||
|
|
97d310a94c | ||
|
|
dec809369a | ||
|
|
94b1e6cfa9 | ||
| 39a4e4beec | |||
|
|
a3d4920285 | ||
|
|
e11896dac2 | ||
|
|
60c38e818a | ||
|
|
34eecb7dcd | ||
|
|
2cbbf48e70 | ||
|
|
9c927e040d | ||
|
|
171de79535 | ||
| c3bd3782da | |||
| 30b334693f | |||
| 00e4487038 | |||
| cc2c274538 | |||
| 229b92c507 | |||
| cde36b1a5f | |||
| 6effc415e1 | |||
|
|
2600c6d38a | ||
|
|
dfcef22632 | ||
|
|
495f52cd5b | ||
|
|
eae9127fbe | ||
|
|
6ce200c84b | ||
|
|
b6627523f9 | ||
|
|
00a76ee709 | ||
|
|
bf217ab250 | ||
|
|
a56297f855 | ||
|
|
2db1c80078 | ||
|
|
4edfc6aa8e | ||
|
|
12cee06253 | ||
|
|
4b231042e7 | ||
|
|
aadff7540e | ||
|
|
2efddc1833 | ||
|
|
7bbe82ec3f | ||
|
|
448da77cd5 | ||
|
|
d123bc0a51 | ||
|
|
2a60283f14 | ||
|
|
7de9ba756c | ||
|
|
4c53d607f7 |
41 changed files with 2381 additions and 1964 deletions
3004
Cargo.lock
generated
3004
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
34
Cargo.toml
34
Cargo.toml
|
|
@ -1,10 +1,10 @@
|
||||||
[package]
|
[package]
|
||||||
name = "cosmic-edit"
|
name = "cosmic-edit"
|
||||||
version = "1.0.11"
|
version = "1.9.0"
|
||||||
authors = ["Jeremy Soller <jeremy@system76.com>"]
|
authors = ["Jeremy Soller <jeremy@system76.com>"]
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "GPL-3.0-only"
|
license = "GPL-3.0-only"
|
||||||
rust-version = "1.90"
|
rust-version = "1.93"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
dirs = "6"
|
dirs = "6"
|
||||||
|
|
@ -33,21 +33,23 @@ i18n-embed-fl = "0.10"
|
||||||
rust-embed = "8"
|
rust-embed = "8"
|
||||||
|
|
||||||
[dependencies.cosmic-files]
|
[dependencies.cosmic-files]
|
||||||
git = "https://github.com/pop-os/cosmic-files.git"
|
path = "../cosmic-files"
|
||||||
default-features = false
|
default-features = false
|
||||||
|
|
||||||
[dependencies.cosmic-syntax-theme]
|
[dependencies.cosmic-syntax-theme]
|
||||||
git = "https://github.com/pop-os/cosmic-syntax-theme.git"
|
git = "https://github.com/pop-os/cosmic-syntax-theme.git"
|
||||||
|
|
||||||
[dependencies.cosmic-text]
|
[dependencies.cosmic-text]
|
||||||
git = "https://github.com/pop-os/cosmic-text.git"
|
version = "0.19"
|
||||||
features = ["syntect", "vi"]
|
features = ["syntect", "vi"]
|
||||||
|
|
||||||
[dependencies.libcosmic]
|
# Yoda fork.
|
||||||
git = "https://github.com/pop-os/libcosmic.git"
|
[dependencies.cosmic]
|
||||||
|
package = "libcosmic-yoda"
|
||||||
|
path = "../libcosmic"
|
||||||
default-features = false
|
default-features = false
|
||||||
#TODO: a11y feature crashes file choser dialog
|
#TODO: a11y feature crashes file choser dialog
|
||||||
features = ["about", "multi-window", "tokio", "winit", "surface-message"]
|
features = ["about", "multi-window", "tokio", "wayland", "surface-message"]
|
||||||
|
|
||||||
[target.'cfg(unix)'.dependencies]
|
[target.'cfg(unix)'.dependencies]
|
||||||
fork = "0.2"
|
fork = "0.2"
|
||||||
|
|
@ -57,10 +59,10 @@ xdgen = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["dbus-config", "gvfs", "wgpu", "wayland"]
|
default = ["dbus-config", "gvfs", "wgpu", "wayland"]
|
||||||
dbus-config = ["libcosmic/dbus-config"]
|
dbus-config = ["cosmic/dbus-config"]
|
||||||
gvfs = ["cosmic-files/gvfs"]
|
gvfs = ["cosmic-files/gvfs"]
|
||||||
wgpu = ["libcosmic/wgpu", "cosmic-files/wgpu"]
|
wgpu = ["cosmic/wgpu", "cosmic-files/wgpu"]
|
||||||
wayland = ["libcosmic/wayland", "cosmic-files/wayland"]
|
wayland = ["cosmic/wayland", "cosmic-files/wayland"]
|
||||||
|
|
||||||
[profile.release-with-debug]
|
[profile.release-with-debug]
|
||||||
inherits = "release"
|
inherits = "release"
|
||||||
|
|
@ -69,8 +71,12 @@ debug = true
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
onig = { git = "https://github.com/rust-onig/rust-onig.git", branch = "main" }
|
onig = { git = "https://github.com/rust-onig/rust-onig.git", branch = "main" }
|
||||||
onig_sys = { git = "https://github.com/rust-onig/rust-onig.git", branch = "main" }
|
onig_sys = { git = "https://github.com/rust-onig/rust-onig.git", branch = "main" }
|
||||||
|
# Yoda: unify cosmic-text with the local checkout used by libcosmic/iced/glyphon.
|
||||||
|
cosmic-text = { path = "../cosmic-text" }
|
||||||
|
|
||||||
# [patch.'https://github.com/pop-os/libcosmic']
|
# Yoda wayland cut v5: redirect window_clipboard to the local fork
|
||||||
# libcosmic = { git = "https://github.com/pop-os/libcosmic//" }
|
# (x11 gated behind opt-in feature).
|
||||||
# cosmic-config = { git = "https://github.com/pop-os/libcosmic//" }
|
[patch.'https://forge.aditua.com/leyoda/window_clipboard.git']
|
||||||
# cosmic-theme = { git = "https://github.com/pop-os/libcosmic//" }
|
window_clipboard = { path = "/home/lionel/Projets/COSMIC/window_clipboard" }
|
||||||
|
dnd = { path = "/home/lionel/Projets/COSMIC/window_clipboard/dnd" }
|
||||||
|
mime = { path = "/home/lionel/Projets/COSMIC/window_clipboard/mime" }
|
||||||
|
|
|
||||||
84
debian/changelog
vendored
84
debian/changelog
vendored
|
|
@ -1,3 +1,87 @@
|
||||||
|
cosmic-edit (1.9.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.9.0 version update
|
||||||
|
|
||||||
|
-- Michael Murphy <michael@mmurphy.dev> Mon, 14 Sep 2026 21:54:06 +0200
|
||||||
|
|
||||||
|
cosmic-edit (1.8.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.8.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Wed, 02 Sep 2026 08:14:30 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.7.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.7.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 25 Aug 2026 09:19:59 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.6.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.6.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 18 Aug 2026 07:13:06 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.5.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.5.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 28 Jul 2026 09:13:50 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.4.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.4.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Mon, 20 Jul 2026 14:35:49 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.3.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.3.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Sun, 12 Jul 2026 13:20:55 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.2.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.2.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 30 Jun 2026 12:20:53 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.1.0) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.1.0 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 23 Jun 2026 08:47:04 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.0.16) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.0.16 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 09 Jun 2026 10:25:21 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.0.15) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.0.15 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 02 Jun 2026 11:02:06 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.0.14) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.0.14 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 26 May 2026 08:30:39 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.0.13) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.0.13 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 12 May 2026 09:37:51 -0600
|
||||||
|
|
||||||
|
cosmic-edit (1.0.12) noble; urgency=medium
|
||||||
|
|
||||||
|
* Epoch 1.0.12 version update
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Tue, 05 May 2026 10:23:41 -0600
|
||||||
|
|
||||||
cosmic-edit (1.0.11) noble; urgency=medium
|
cosmic-edit (1.0.11) noble; urgency=medium
|
||||||
|
|
||||||
* Epoch 1.0.11 version update
|
* Epoch 1.0.11 version update
|
||||||
|
|
|
||||||
5
debian/rules
vendored
5
debian/rules
vendored
|
|
@ -1,15 +1,12 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
export DESTDIR = debian/cosmic-edit
|
export DESTDIR = debian/cosmic-edit
|
||||||
export VENDOR ?= 1
|
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@
|
dh $@
|
||||||
|
|
||||||
override_dh_auto_clean:
|
override_dh_auto_clean:
|
||||||
if ! ischroot && test "${VENDOR}" = "1"; then \
|
ischroot || just vendor
|
||||||
just vendor; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
override_dh_auto_build:
|
override_dh_auto_build:
|
||||||
just build-vendored
|
just build-vendored
|
||||||
|
|
|
||||||
6
debian/source/options
vendored
6
debian/source/options
vendored
|
|
@ -1,4 +1,6 @@
|
||||||
tar-ignore=.github
|
tar-ignore=.github
|
||||||
tar-ignore=.vscode
|
tar-ignore=target/.rustc_info.json
|
||||||
|
tar-ignore=target/CACHEDIR.TAG
|
||||||
|
tar-ignore=target/debug
|
||||||
|
tar-ignore=target/release
|
||||||
tar-ignore=vendor
|
tar-ignore=vendor
|
||||||
tar-ignore=target
|
|
||||||
|
|
@ -49,7 +49,7 @@ settings = الإعدادات
|
||||||
### Appearance
|
### Appearance
|
||||||
|
|
||||||
appearance = المظهر
|
appearance = المظهر
|
||||||
theme = النسق
|
theme = السمة
|
||||||
match-desktop = طابق سطح المكتب
|
match-desktop = طابق سطح المكتب
|
||||||
dark = داكن
|
dark = داكن
|
||||||
light = فاتح
|
light = فاتح
|
||||||
|
|
@ -96,7 +96,7 @@ document-type = نوع المستند...
|
||||||
encoding = الترميز...
|
encoding = الترميز...
|
||||||
menu-git-management = إدارة Git...
|
menu-git-management = إدارة Git...
|
||||||
print = اطبع
|
print = اطبع
|
||||||
quit = أنهِ
|
quit = إنهِ
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
cancel = Cancel·lar
|
||||||
|
quit = Surt
|
||||||
|
settings = Configuració
|
||||||
|
save = Desa
|
||||||
|
undo = Desfés
|
||||||
|
|
@ -71,9 +71,9 @@ automatic-indentation = Automatické odsazení
|
||||||
tab-width = Šířka tabulátoru: { $tab_width }
|
tab-width = Šířka tabulátoru: { $tab_width }
|
||||||
convert-indentation-to-spaces = Převést odsazení na mezery
|
convert-indentation-to-spaces = Převést odsazení na mezery
|
||||||
convert-indentation-to-tabs = Převést odsazení na tabulátory
|
convert-indentation-to-tabs = Převést odsazení na tabulátory
|
||||||
word-wrap = Zalamování slov
|
word-wrap = Zalamování řádků
|
||||||
show-line-numbers = Zobrazit čísla řádků
|
show-line-numbers = Zobrazit čísla řádků
|
||||||
highlight-current-line = Zvýraznění aktuálního řádku
|
highlight-current-line = Zvýraznit aktuální řádek
|
||||||
syntax-highlighting = Zvýraznění syntaxe...
|
syntax-highlighting = Zvýraznění syntaxe...
|
||||||
menu-settings = Nastavení...
|
menu-settings = Nastavení...
|
||||||
menu-keyboard-shortcuts = Klávesové zkratky...
|
menu-keyboard-shortcuts = Klávesové zkratky...
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
save = Gem
|
||||||
|
cancel = Afbryd
|
||||||
|
quit = Afslut
|
||||||
|
cosmic-text-editor = COSMIC-teksteditor
|
||||||
|
new-document = Nyt dokument
|
||||||
|
open-project = Åbn project
|
||||||
|
repository = Pakkearkiv
|
||||||
|
todo = TODO
|
||||||
|
document-statistics = Dokument-statistikker
|
||||||
|
word-count = Antal ord
|
||||||
|
character-count = Tegn
|
||||||
|
character-count-no-spaces = Tegn (uden mellemrum)
|
||||||
|
line-count = Linjer
|
||||||
|
appearance = Udseende
|
||||||
|
git-management = Git-håndtering
|
||||||
|
theme = Tema
|
||||||
|
git-management-description = Git.håndtering er et udvikler-værktøj, som bruges til versionskontrol-operationer.
|
||||||
|
match-desktop = Følg skrivebordets indstillinger
|
||||||
|
git-management-loading = Indlæser Git-håndtering...
|
||||||
|
dark = Mørkt
|
||||||
|
stage = Bered
|
||||||
|
light = Lyst
|
||||||
|
staged-changes = Forberedte ændringer
|
||||||
|
file = Fil
|
||||||
|
unstage = Fjern fra forberedelse
|
||||||
|
unstaged-changes = Uforberedte ændringer
|
||||||
|
project-search = Projektsøgning
|
||||||
|
prompt-save-changes-title = Gem ændringer før lukning?
|
||||||
|
close-file = Luk fil
|
||||||
|
prompt-unsaved-changes = Du har ugemte ændringer. Hvis du fortsætter uden at gemme, vil disse ændringer gå tabt.
|
||||||
|
discard = Kassér ændringer
|
||||||
|
save-all = Gem alle
|
||||||
|
default-zoom-step = Zoom-trin
|
||||||
|
syntax-dark = Syntaks mørk
|
||||||
|
syntax-light = Syntaks lys
|
||||||
|
default-font = Standard skrifttype
|
||||||
|
default-font-size = Standard skriftstørrelse
|
||||||
|
keyboard-shortcuts = Tastaturgenveje
|
||||||
|
enable-vim-bindings = Aktivér Vim-bindinger
|
||||||
|
find-placeholder = Find...
|
||||||
|
find-previous = Find forrige
|
||||||
|
find-next = Find næste
|
||||||
|
replace-placeholder = Erstat...
|
||||||
|
replace = Erstat
|
||||||
|
replace-all = Erstat alle
|
||||||
|
case-sensitive = Forskel på store og små bogstaver
|
||||||
|
use-regex = Anvend regex
|
||||||
|
wrap-around = Omslut
|
||||||
|
new-file = Ny fil
|
||||||
|
new-window = Nyt vindue
|
||||||
|
open-file = Åbn fil...
|
||||||
|
open-recent-file = Åbn seneste fil
|
||||||
|
menu-open-project = Åbn projekt...
|
||||||
|
open-recent-project = Åbn seneste projekt
|
||||||
|
close-project = Luk projekt
|
||||||
|
edit = Redigér
|
||||||
|
save-as = Gem som...
|
||||||
|
copy = Kopiér
|
||||||
|
revert-all-changes = Tilbagefør alle ændringer
|
||||||
|
paste = Indsæt
|
||||||
|
menu-document-statistics = Dokument-statistikker...
|
||||||
|
select-all = Vælg alle
|
||||||
|
document-type = Dokumenttype...
|
||||||
|
find = Find
|
||||||
|
encoding = Kodning...
|
||||||
|
menu-git-management = Git-håndtering...
|
||||||
|
print = Udskriv
|
||||||
|
view = Vis
|
||||||
|
undo = Fortryd
|
||||||
|
redo = Omgør
|
||||||
|
cut = Klip
|
||||||
|
find-in-project = Find i projekt...
|
||||||
|
menu-settings = Indstillinger...
|
||||||
|
spell-check = Stavekontrol...
|
||||||
|
zoom-in = Zoom ind
|
||||||
|
default-size = Standardstørrelse
|
||||||
|
zoom-out = Zoom ud
|
||||||
|
indentation = Indrykning
|
||||||
|
automatic-indentation = Automatisk Indrykning
|
||||||
|
tab-width = Fanebladsbredde: { $tab_width }
|
||||||
|
convert-indentation-to-spaces = Konvertér indryk til mellemrum
|
||||||
|
convert-indentation-to-tabs = Konvertér indryk til tabulaturer
|
||||||
|
comment = Teksteditor til COSMIC-skrivebordet
|
||||||
|
menu-keyboard-shortcuts = Tastaturgenveje…
|
||||||
|
word-wrap = Tekstombrydning
|
||||||
|
show-line-numbers = Vis linjenumre
|
||||||
|
highlight-current-line = Fremhæv aktuel linje
|
||||||
|
syntax-highlighting = Syntaksfremhævning…
|
||||||
|
menu-about = Om COSMIC Teksteditor…
|
||||||
|
support = Support
|
||||||
|
settings = Indstillinger
|
||||||
|
|
@ -21,7 +21,7 @@ line-count = Zeilen
|
||||||
|
|
||||||
git-management = Git-Verwaltung
|
git-management = Git-Verwaltung
|
||||||
git-management-description = Git-Verwaltung ist ein Entwicklerwerkzeug, das für die Versionskontrolle eingesetzt wird.
|
git-management-description = Git-Verwaltung ist ein Entwicklerwerkzeug, das für die Versionskontrolle eingesetzt wird.
|
||||||
git-management-loading = Git-Verwaltung wird geladen...
|
git-management-loading = Git-Verwaltung wird geladen ...
|
||||||
stage = Vormerken
|
stage = Vormerken
|
||||||
staged-changes = Vorgemerkte Änderungen
|
staged-changes = Vorgemerkte Änderungen
|
||||||
unstage = Nicht vormerken
|
unstage = Nicht vormerken
|
||||||
|
|
@ -50,8 +50,8 @@ theme = Thema
|
||||||
match-desktop = An Desktop anpassen
|
match-desktop = An Desktop anpassen
|
||||||
dark = Dunkel
|
dark = Dunkel
|
||||||
light = Hell
|
light = Hell
|
||||||
syntax-dark = Syntax dunkel
|
syntax-dark = Dunkle Syntax
|
||||||
syntax-light = Syntax hell
|
syntax-light = Helle Syntax
|
||||||
default-font = Standardschriftart
|
default-font = Standardschriftart
|
||||||
default-font-size = Standardschriftgröße
|
default-font-size = Standardschriftgröße
|
||||||
default-zoom-step = Zoomstufen
|
default-zoom-step = Zoomstufen
|
||||||
|
|
@ -61,10 +61,10 @@ default-zoom-step = Zoomstufen
|
||||||
keyboard-shortcuts = Tastenkombinationen
|
keyboard-shortcuts = Tastenkombinationen
|
||||||
enable-vim-bindings = Vim-Kombinationen aktivieren
|
enable-vim-bindings = Vim-Kombinationen aktivieren
|
||||||
# Suchen
|
# Suchen
|
||||||
find-placeholder = Suchen...
|
find-placeholder = Suchen ...
|
||||||
find-previous = Vorherigen suchen
|
find-previous = Vorherigen suchen
|
||||||
find-next = Nächsten suchen
|
find-next = Nächsten suchen
|
||||||
replace-placeholder = Ersetzen...
|
replace-placeholder = Ersetzen ...
|
||||||
replace = Ersetzen
|
replace = Ersetzen
|
||||||
replace-all = Alles ersetzen
|
replace-all = Alles ersetzen
|
||||||
case-sensitive = Groß-/Kleinschreibung beachten
|
case-sensitive = Groß-/Kleinschreibung beachten
|
||||||
|
|
@ -79,19 +79,19 @@ wrap-around = Umlaufen
|
||||||
file = Datei
|
file = Datei
|
||||||
new-file = Neue Datei
|
new-file = Neue Datei
|
||||||
new-window = Neues Fenster
|
new-window = Neues Fenster
|
||||||
open-file = Datei öffnen...
|
open-file = Datei öffnen ...
|
||||||
open-recent-file = Letzte Datei öffnen
|
open-recent-file = Letzte Datei öffnen
|
||||||
close-file = Datei schließen
|
close-file = Datei schließen
|
||||||
menu-open-project = Projekt öffnen...
|
menu-open-project = Projekt öffnen ...
|
||||||
open-recent-project = Letztes Projekt öffnen
|
open-recent-project = Letztes Projekt öffnen
|
||||||
close-project = Projekt schließen
|
close-project = Projekt schließen
|
||||||
save = Speichern
|
save = Speichern
|
||||||
save-as = Speichern unter...
|
save-as = Speichern unter ...
|
||||||
revert-all-changes = Alle Änderungen rückgängig machen
|
revert-all-changes = Alle Änderungen rückgängig machen
|
||||||
menu-document-statistics = Dokument-Statistiken...
|
menu-document-statistics = Dokument-Statistiken ...
|
||||||
document-type = Dokumententyp...
|
document-type = Dokumententyp ...
|
||||||
encoding = Kodierung...
|
encoding = Kodierung ...
|
||||||
menu-git-management = Git-Verwaltung...
|
menu-git-management = Git-Verwaltung ...
|
||||||
print = Drucken
|
print = Drucken
|
||||||
quit = Beenden
|
quit = Beenden
|
||||||
|
|
||||||
|
|
@ -105,8 +105,8 @@ copy = Kopieren
|
||||||
paste = Einfügen
|
paste = Einfügen
|
||||||
select-all = Alles auswählen
|
select-all = Alles auswählen
|
||||||
find = Suchen
|
find = Suchen
|
||||||
find-in-project = Im Projekt suchen...
|
find-in-project = Im Projekt suchen ...
|
||||||
spell-check = Rechtschreibprüfung...
|
spell-check = Rechtschreibprüfung ...
|
||||||
|
|
||||||
## Ansicht
|
## Ansicht
|
||||||
|
|
||||||
|
|
@ -125,10 +125,10 @@ convert-indentation-to-tabs = Einrückung in Tabulatoren umwandeln
|
||||||
word-wrap = Zeilenumbruch
|
word-wrap = Zeilenumbruch
|
||||||
show-line-numbers = Zeilennummern anzeigen
|
show-line-numbers = Zeilennummern anzeigen
|
||||||
highlight-current-line = Aktuelle Zeile hervorheben
|
highlight-current-line = Aktuelle Zeile hervorheben
|
||||||
syntax-highlighting = Syntaxhervorhebung...
|
syntax-highlighting = Syntaxhervorhebung ...
|
||||||
menu-settings = Einstellungen...
|
menu-settings = Einstellungen ...
|
||||||
menu-keyboard-shortcuts = Tastenkombinationen...
|
menu-keyboard-shortcuts = Tastenkombinationen ...
|
||||||
menu-about = Über COSMIC Texteditor...
|
menu-about = Über COSMIC Texteditor ...
|
||||||
repository = Repository
|
repository = Repositorium
|
||||||
support = Unterstützung
|
support = Unterstützung
|
||||||
comment = Texteditor für den COSMIC Desktop
|
comment = Texteditor für den COSMIC Desktop
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ open-project = Άνοιγμα έργου
|
||||||
## Document statistics
|
## Document statistics
|
||||||
|
|
||||||
document-statistics = Στατιστικά εγγράφου
|
document-statistics = Στατιστικά εγγράφου
|
||||||
word-count = Λέξεις
|
word-count = Πλήθος λέξεων
|
||||||
character-count = Χαρακτήρες
|
character-count = Χαρακτήρες
|
||||||
character-count-no-spaces = Χαρακτήρες (χωρίς κενά)
|
character-count-no-spaces = Χαρακτήρες (χωρίς κενά)
|
||||||
line-count = Γραμμές
|
line-count = Γραμμές
|
||||||
|
|
@ -20,13 +20,13 @@ settings = Ρυθμίσεις
|
||||||
|
|
||||||
appearance = Εμφάνιση
|
appearance = Εμφάνιση
|
||||||
theme = Θέμα
|
theme = Θέμα
|
||||||
default-font = Γραμματοσειρά
|
default-font = Προεπιλεγμένη γραμματοσειρά
|
||||||
default-font-size = Μέγεθος γραμματοσειράς
|
default-font-size = Προεπιλεγμένο μέγεθος γραμματοσειράς
|
||||||
|
|
||||||
### Keyboard shortcuts
|
### Keyboard shortcuts
|
||||||
|
|
||||||
keyboard-shortcuts = Συντομεύσεις πλήκτρων
|
keyboard-shortcuts = Συντομεύσεις πληκτρολογίου
|
||||||
enable-vim-bindings = Ενεργοποίηση πλήκτρων vim
|
enable-vim-bindings = Ενεργοποίηση συντομεύσεων Vim
|
||||||
|
|
||||||
# Menu
|
# Menu
|
||||||
|
|
||||||
|
|
@ -37,7 +37,7 @@ file = Αρχείο
|
||||||
new-file = Νέο αρχείο
|
new-file = Νέο αρχείο
|
||||||
new-window = Νέο παράθυρο
|
new-window = Νέο παράθυρο
|
||||||
open-file = Άνοιγμα αρχείου...
|
open-file = Άνοιγμα αρχείου...
|
||||||
todo = TODO
|
todo = Λίστα εργασιών
|
||||||
save = Αποθήκευση
|
save = Αποθήκευση
|
||||||
save-as = Αποθήκευση ως...
|
save-as = Αποθήκευση ως...
|
||||||
revert-all-changes = Αναίρεση όλων των αλλαγών
|
revert-all-changes = Αναίρεση όλων των αλλαγών
|
||||||
|
|
@ -45,7 +45,7 @@ menu-document-statistics = Στατιστικά εγγράφου...
|
||||||
document-type = Τύπος εγγράφου...
|
document-type = Τύπος εγγράφου...
|
||||||
encoding = Κωδικοποίηση...
|
encoding = Κωδικοποίηση...
|
||||||
print = Εκτύπωση
|
print = Εκτύπωση
|
||||||
quit = Έξοδος
|
quit = Τερματισμός
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
@ -62,23 +62,60 @@ spell-check = Έλεγχος ορθογραφίας...
|
||||||
## View
|
## View
|
||||||
|
|
||||||
view = Προβολή
|
view = Προβολή
|
||||||
indentation = Εσοχές
|
indentation = Εσοχές κειμένου
|
||||||
|
|
||||||
### Indentation
|
### Indentation
|
||||||
|
|
||||||
automatic-indentation = Αυτόματη εισαγωγή εσοχών
|
automatic-indentation = Αυτόματη εισαγωγή εσοχών
|
||||||
tab-width = Πλάτος Tabs: { $tab_width }
|
tab-width = Πλάτος στηλοθέτη: { $tab_width }
|
||||||
convert-indentation-to-spaces = Μετατροπή εσοχών σε spaces
|
convert-indentation-to-spaces = Μετατροπή εσοχών σε κενά
|
||||||
convert-indentation-to-tabs = Μετατροπή εσοχών σε tabs
|
convert-indentation-to-tabs = Μετατροπή εσοχών σε στηλοθέτες
|
||||||
word-wrap = Περιτύλιξη λέξεων
|
word-wrap = Αναδίπλωση λέξεων
|
||||||
show-line-numbers = Εμφάνιση αριθμού γραμμών
|
show-line-numbers = Εμφάνιση αριθμού γραμμών
|
||||||
highlight-current-line = Υπογράμμιση τρέχουσας γραμμής
|
highlight-current-line = Επισήμανση τρέχουσας γραμμής
|
||||||
syntax-highlighting = Υπογράμμιση συντακτικού...
|
syntax-highlighting = Επισήμανση συντακτικού...
|
||||||
menu-settings = Ρυθμίσεις...
|
menu-settings = Ρυθμίσεις...
|
||||||
menu-keyboard-shortcuts = Συντομεύσεις πλήκτρων...
|
menu-keyboard-shortcuts = Συντομεύσεις πληκτρολογίου...
|
||||||
menu-about = Σχετικά με τον επεξεργαστή κειμένου COSMIC...
|
menu-about = Σχετικά με την Επεξεργασία κειμένου COSMIC...
|
||||||
cancel = Ακύρωση
|
cancel = Ακύρωση
|
||||||
repository = Αποθετήριο
|
repository = Αποθετήριο
|
||||||
support = Υποστήριξη
|
support = Υποστήριξη
|
||||||
dark = Σκοτεινό
|
dark = Σκουρόχρωμο
|
||||||
light = Φωτεινό
|
light = Ανοιχτόχρωμο
|
||||||
|
close-file = Κλείσιμο αρχείου
|
||||||
|
cosmic-text-editor = Επεξεργασία κειμένου COSMIC
|
||||||
|
find-placeholder = Εύρεση...
|
||||||
|
replace-placeholder = Αντικατάσταση...
|
||||||
|
match-desktop = Συμφωνία με την επιφάνεια εργασίας
|
||||||
|
discard = Απόρριψη αλλαγών
|
||||||
|
select-all = Επιλογή όλων
|
||||||
|
comment = Πρόγραμμα επεξεργασίας κειμένου για το περιβάλλον επιφάνειας εργασίας COSMIC
|
||||||
|
git-management = Διαχείριση Git
|
||||||
|
save-all = Αποθήκευση όλων
|
||||||
|
find-previous = Εύρεση προηγούμενου
|
||||||
|
find-next = Εύρεση επόμενου
|
||||||
|
replace-all = Αντικατάσταση όλων
|
||||||
|
close-project = Κλείσιμο έργου
|
||||||
|
menu-git-management = Διαχείριση Git...
|
||||||
|
find-in-project = Εύρεση στο έργο...
|
||||||
|
default-size = Προεπιλεγμένο μέγεθος
|
||||||
|
zoom-out = Σμίκρυνση
|
||||||
|
zoom-in = Μεγέθυνση
|
||||||
|
project-search = Αναζήτηση έργων
|
||||||
|
prompt-save-changes-title = Αποθήκευση των αλλαγών πριν από το κλείσιμο;
|
||||||
|
open-recent-file = Άνοιγμα πρόσφατου αρχείου
|
||||||
|
menu-open-project = Άνοιγμα έργου...
|
||||||
|
open-recent-project = Άνοιγμα πρόσφατου έργου
|
||||||
|
git-management-loading = Φόρτωση διαχείρισης Git...
|
||||||
|
prompt-unsaved-changes = Υπάρχουν μη αποθηκευμένες αλλαγές. Εάν συνεχίσετε χωρίς να κάνετε αποθήκευση, αυτές οι αλλαγές θα χαθούν.
|
||||||
|
case-sensitive = Διάκριση πεζών-κεφαλαίων
|
||||||
|
stage = Προετοιμασία
|
||||||
|
staged-changes = Προετοιμασμένες αλλαγές
|
||||||
|
unstage = Ακύρωση προετοιμασίας
|
||||||
|
unstaged-changes = Απροετοίμαστες αλλαγές
|
||||||
|
syntax-dark = Σκουρόχρωμο συντακτικό
|
||||||
|
syntax-light = Ανοιχτόχρωμο συντακτικό
|
||||||
|
default-zoom-step = Βήματα ζουμ
|
||||||
|
git-management-description = Η διαχείριση Git είναι ένα εργαλείο για προγραμματιστές που χρησιμοποιείται για λειτουργίες ελέγχου εκδόσεων.
|
||||||
|
use-regex = Χρήση κανονικών εκφράσεων
|
||||||
|
wrap-around = Αναδίπλωση
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
save = Save
|
||||||
|
quit = Quit
|
||||||
|
cancel = Cancel
|
||||||
|
settings = Settings
|
||||||
|
appearance = Appearance
|
||||||
|
theme = Theme
|
||||||
|
match-desktop = Match desktop
|
||||||
|
dark = Dark
|
||||||
|
file = File
|
||||||
|
close-file = Close file
|
||||||
|
syntax-light = Syntax light
|
||||||
|
cosmic-text-editor = COSMIC Text Editor
|
||||||
|
comment = Text editor for the COSMIC desktop
|
||||||
|
new-document = New document
|
||||||
|
open-project = Open project
|
||||||
|
todo = TODO
|
||||||
|
repository = Repository
|
||||||
|
support = Support
|
||||||
|
document-statistics = Document statistics
|
||||||
|
word-count = Word count
|
||||||
|
character-count = Characters
|
||||||
|
character-count-no-spaces = Characters (without spaces)
|
||||||
|
line-count = Lines
|
||||||
|
git-management = Git management
|
||||||
|
git-management-description = Git management is a developer tool used for version control operations.
|
||||||
|
keyboard-shortcuts = Keyboard shortcuts
|
||||||
|
replace = Replace
|
||||||
|
git-management-loading = Loading Git management...
|
||||||
|
stage = Stage
|
||||||
|
staged-changes = Staged changes
|
||||||
|
unstage = Unstage
|
||||||
|
unstaged-changes = Unstaged changes
|
||||||
|
project-search = Project search
|
||||||
|
prompt-save-changes-title = Save changes before closing?
|
||||||
|
prompt-unsaved-changes = You have unsaved changes. If you continue without saving, these changes will be lost.
|
||||||
|
discard = Discard changes
|
||||||
|
save-all = Save all
|
||||||
|
syntax-dark = Syntax dark
|
||||||
|
default-font = Default font
|
||||||
|
default-font-size = Default font size
|
||||||
|
default-zoom-step = Zoom steps
|
||||||
|
enable-vim-bindings = Enable Vim bindings
|
||||||
|
find-placeholder = Find...
|
||||||
|
find-previous = Find previous
|
||||||
|
find-next = Find next
|
||||||
|
replace-placeholder = Replace...
|
||||||
|
replace-all = Replace all
|
||||||
|
case-sensitive = Case sensitive
|
||||||
|
use-regex = Use regex
|
||||||
|
wrap-around = Wrap around
|
||||||
|
new-file = New file
|
||||||
|
new-window = New window
|
||||||
|
open-file = Open file...
|
||||||
|
open-recent-file = Open recent file
|
||||||
|
menu-open-project = Open project...
|
||||||
|
open-recent-project = Open recent project
|
||||||
|
close-project = Close project
|
||||||
|
save-as = Save as...
|
||||||
|
revert-all-changes = Revert all changes
|
||||||
|
menu-document-statistics = Document statistics...
|
||||||
|
document-type = Document type...
|
||||||
|
encoding = Encoding...
|
||||||
|
menu-git-management = Git management...
|
||||||
|
print = Print
|
||||||
|
light = Light
|
||||||
|
edit = Edit
|
||||||
|
undo = Undo
|
||||||
|
redo = Redo
|
||||||
|
cut = Cut
|
||||||
|
copy = Copy
|
||||||
|
paste = Paste
|
||||||
|
select-all = Select all
|
||||||
|
find = Find
|
||||||
|
find-in-project = Find in project...
|
||||||
|
spell-check = Spell check...
|
||||||
|
view = View
|
||||||
|
zoom-in = Zoom in
|
||||||
|
default-size = Default size
|
||||||
|
zoom-out = Zoom out
|
||||||
|
indentation = Indentation
|
||||||
|
automatic-indentation = Automatic Indentation
|
||||||
|
tab-width = Tab width: { $tab_width }
|
||||||
|
convert-indentation-to-spaces = Convert indentation to spaces
|
||||||
|
convert-indentation-to-tabs = Convert indentation to tabs
|
||||||
|
menu-keyboard-shortcuts = Keyboard shortcuts...
|
||||||
|
word-wrap = Word wrap
|
||||||
|
show-line-numbers = Show line numbers
|
||||||
|
highlight-current-line = Highlight current line
|
||||||
|
syntax-highlighting = Syntax highlighting...
|
||||||
|
menu-settings = Settings...
|
||||||
|
menu-about = About COSMIC Text Editor...
|
||||||
|
|
@ -31,7 +31,7 @@ settings = Asetukset
|
||||||
|
|
||||||
appearance = Ulkoasu
|
appearance = Ulkoasu
|
||||||
theme = Teema
|
theme = Teema
|
||||||
match-desktop = Sovita työpöytään
|
match-desktop = Sama kuin työpöytä
|
||||||
dark = Tumma
|
dark = Tumma
|
||||||
light = Vaalea
|
light = Vaalea
|
||||||
syntax-dark = Tumma syntaksi
|
syntax-dark = Tumma syntaksi
|
||||||
|
|
|
||||||
0
i18n/fil/cosmic_edit.ftl
Normal file
0
i18n/fil/cosmic_edit.ftl
Normal file
91
i18n/gl/cosmic_edit.ftl
Normal file
91
i18n/gl/cosmic_edit.ftl
Normal file
|
|
@ -0,0 +1,91 @@
|
||||||
|
save = Gardar
|
||||||
|
cancel = Cancelar
|
||||||
|
cosmic-text-editor = Editor de Texto de COSMIC
|
||||||
|
comment = Editor de texto para o escritorio COSMIC
|
||||||
|
new-document = Novo documento
|
||||||
|
open-project = Abrir proxecto
|
||||||
|
todo = TODO
|
||||||
|
repository = Repositorio
|
||||||
|
support = Soporte
|
||||||
|
document-statistics = Estadisticas do documento
|
||||||
|
word-count = Reconto de palabras
|
||||||
|
character-count = Carácteres
|
||||||
|
character-count-no-spaces = Carácter (sen espazos)
|
||||||
|
line-count = Liñas
|
||||||
|
git-management = Xestion de Git
|
||||||
|
git-management-description = A xestión de Git é unha ferramenta de desenvolvemento utilizada para operacións de control de versións.
|
||||||
|
git-management-loading = Cargando a xestión de Git...
|
||||||
|
stage = Etapa
|
||||||
|
staged-changes = Cambios preparados
|
||||||
|
unstage = Sen preparar
|
||||||
|
unstaged-changes = Cambios sen preparar
|
||||||
|
project-search = Buscar proxecto
|
||||||
|
prompt-save-changes-title = Gardar os cambios antes de pechar?
|
||||||
|
prompt-unsaved-changes = Tes cambios sen gardar. Se continúas sen gardalos, estes cambios perderanse.
|
||||||
|
discard = Descartar cambios
|
||||||
|
save-all = Gardar todo
|
||||||
|
settings = Axustes
|
||||||
|
appearance = Apariencia
|
||||||
|
theme = Tema
|
||||||
|
match-desktop = Axustar ao escritorio
|
||||||
|
dark = Escuro
|
||||||
|
light = Claro
|
||||||
|
syntax-dark = Sintaxe escura
|
||||||
|
syntax-light = Sintaxe clara
|
||||||
|
default-font = Fonte por defecto
|
||||||
|
default-font-size = Tamaño de fonte por defecto
|
||||||
|
default-zoom-step = Pasos do zoom
|
||||||
|
keyboard-shortcuts = Atallos de teclado
|
||||||
|
enable-vim-bindings = Activar as asociacións de teclas de Vim
|
||||||
|
find-placeholder = Atopar…
|
||||||
|
find-previous = Atopar antes
|
||||||
|
find-next = Atopar seguinte
|
||||||
|
replace-placeholder = Remplazar…
|
||||||
|
replace = Remplazar
|
||||||
|
replace-all = Remplazar todo
|
||||||
|
case-sensitive = Distinguir maiúsculas e minúsculas
|
||||||
|
use-regex = Usar expresións regulares
|
||||||
|
wrap-around = Buscar de comezo a fin
|
||||||
|
file = Ficheiro
|
||||||
|
new-file = Novo ficheiro
|
||||||
|
new-window = Nova xanela
|
||||||
|
open-file = Abrir ficheiro…
|
||||||
|
open-recent-file = Abrir ficheiro recente
|
||||||
|
close-file = Pechar ficheiro
|
||||||
|
menu-open-project = Abrir proxecto…
|
||||||
|
open-recent-project = Abrir proxecto recente
|
||||||
|
close-project = Pechar proxecto
|
||||||
|
save-as = Gardar como…
|
||||||
|
revert-all-changes = Desvotar todos os cambios
|
||||||
|
menu-document-statistics = Estatísticas do documento...
|
||||||
|
document-type = Tipo de documento…
|
||||||
|
encoding = Codificación...
|
||||||
|
menu-git-management = Xestión de Git...
|
||||||
|
print = Imprimir
|
||||||
|
quit = Pechar
|
||||||
|
edit = Editar
|
||||||
|
undo = Desfacer
|
||||||
|
redo = Refacer
|
||||||
|
cut = Cortar
|
||||||
|
copy = Copiar
|
||||||
|
paste = Pegar
|
||||||
|
select-all = Seleccionar todo
|
||||||
|
find = Atopar
|
||||||
|
find-in-project = Atopar en proxecto…
|
||||||
|
spell-check = Corrección ortográfica...
|
||||||
|
view = Ver
|
||||||
|
zoom-in = Aumentar Zoom
|
||||||
|
default-size = Tamaño por defecto
|
||||||
|
zoom-out = Afastar Zoom
|
||||||
|
indentation = Sangría
|
||||||
|
automatic-indentation = Sangría automatica
|
||||||
|
tab-width = Largura da tabulación:{ $tab_width }
|
||||||
|
convert-indentation-to-spaces = Converter a sangria en espazos
|
||||||
|
convert-indentation-to-tabs = Converter a sangría en tabulacións
|
||||||
|
word-wrap = Axuste de liña
|
||||||
|
show-line-numbers = Amosar o numero de liñas
|
||||||
|
highlight-current-line = Subrayar a liña actual
|
||||||
|
syntax-highlighting = Realce da sintaxe...
|
||||||
|
menu-settings = Axustes...
|
||||||
|
menu-keyboard-shortcuts = Atallos de teclado…
|
||||||
|
menu-about = Sobre Editor de Texto COSMIC…
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
cosmic-text-editor = कॉस्मिक टेक्स्ट एडिटर
|
cosmic-text-editor = कॉस्मिक टेक्स्ट एडिटर
|
||||||
new-document = नया दस्तावेज़
|
new-document = नया दस्तावेज़
|
||||||
open-project = प्रोजेक्ट खोलें
|
open-project = प्रोजेक्ट खोलें
|
||||||
todo = करने के लिए
|
todo = कार्य-सूची
|
||||||
|
|
||||||
# Context Pages
|
# Context Pages
|
||||||
|
|
||||||
|
|
@ -13,41 +13,41 @@ todo = करने के लिए
|
||||||
|
|
||||||
document-statistics = दस्तावेज़ आँकड़े
|
document-statistics = दस्तावेज़ आँकड़े
|
||||||
word-count = शब्दों की संख्या
|
word-count = शब्दों की संख्या
|
||||||
character-count = अक्षरों की संख्या
|
character-count = अक्षर
|
||||||
character-count-no-spaces = अक्षरों की संख्या (स्पेस के बिना)
|
character-count-no-spaces = अक्षर (बिना स्थान के)
|
||||||
line-count = पंक्तियाँ
|
line-count = पंक्तियाँ
|
||||||
|
|
||||||
## Git management
|
## Git management
|
||||||
|
|
||||||
git-management = Git प्रबंधन
|
git-management = गिट प्रबंधन
|
||||||
git-management-description = Git प्रबंधन एक डेवलपर टूल है जो संस्करण नियंत्रण कार्यों के लिए उपयोग किया जाता है।
|
git-management-description = गिट प्रबंधन एक डेवलपर उपकरण है जिसका उपयोग संस्करण नियंत्रण संचालन के लिए किया जाता है।
|
||||||
git-management-loading = Git प्रबंधन लोड हो रहा है...
|
git-management-loading = गिट प्रबंधन लोड हो रहा है..।
|
||||||
stage = स्टेज
|
stage = स्टेज करें
|
||||||
staged-changes = स्टेज पर बदली गई चीज़ें
|
staged-changes = स्टेज किए गए बदलाव
|
||||||
unstage = स्टेज से हटाएँ
|
unstage = अनस्टेज करें
|
||||||
unstaged-changes = बिना स्टेज की गई चीज़ें
|
unstaged-changes = अनस्टेज किए गए बदलाव
|
||||||
|
|
||||||
## Project search
|
## Project search
|
||||||
|
|
||||||
project-search = प्रोजेक्ट खोज
|
project-search = परियोजना खोज
|
||||||
|
|
||||||
## Prompt save changes
|
## Prompt save changes
|
||||||
|
|
||||||
prompt-save-changes-title = बिना सहेजे हुए बदलाव
|
prompt-save-changes-title = बंद करने से पहले बदलाव सहेजें?
|
||||||
prompt-unsaved-changes = आपके पास बिना सहेजे हुए बदलाव हैं। सहेजना है?
|
prompt-unsaved-changes = आपके पास अनसहेजे बदलाव हैं। यदि आप बिना सहेजे जारी रखते हैं, तो ये बदलाव नष्ट हो जाएँगे।
|
||||||
cancel = रद्द करो
|
cancel = रद्द करें
|
||||||
discard = बदलाव को खारिज करें
|
discard = बदलावों को खारिज करें
|
||||||
save-all = सब कुछ सहेजें
|
save-all = सभी सहेजें
|
||||||
|
|
||||||
## Settings
|
## Settings
|
||||||
|
|
||||||
settings = सेटिंग
|
settings = सेटिंग्स
|
||||||
|
|
||||||
### Appearance
|
### Appearance
|
||||||
|
|
||||||
appearance = दिखावट
|
appearance = रुप-रंग
|
||||||
theme = थीम
|
theme = प्रसंग
|
||||||
match-desktop = डेस्कटॉप से मेल करें
|
match-desktop = डेस्कटॉप से मेल खाएँ
|
||||||
dark = डार्क
|
dark = डार्क
|
||||||
light = लाइट
|
light = लाइट
|
||||||
syntax-dark = सिंटैक्स डार्क
|
syntax-dark = सिंटैक्स डार्क
|
||||||
|
|
@ -60,14 +60,14 @@ default-font-size = डिफ़ॉल्ट फ़ॉन्ट आकार
|
||||||
keyboard-shortcuts = कीबोर्ड शॉर्टकट्स
|
keyboard-shortcuts = कीबोर्ड शॉर्टकट्स
|
||||||
enable-vim-bindings = Vim बाइंडिंग्स सक्षम करें
|
enable-vim-bindings = Vim बाइंडिंग्स सक्षम करें
|
||||||
# Find
|
# Find
|
||||||
find-placeholder = खोजें...
|
find-placeholder = खोजें..।
|
||||||
find-previous = पिछला खोजें
|
find-previous = पिछला खोजें
|
||||||
find-next = अगला खोजें
|
find-next = अगला खोजें
|
||||||
replace-placeholder = बदलें...
|
replace-placeholder = बदलें..।
|
||||||
replace = बदलें
|
replace = बदलें
|
||||||
replace-all = सब कुछ बदलें
|
replace-all = सब कुछ बदलें
|
||||||
case-sensitive = केस-सेंसिटिव
|
case-sensitive = अक्षर संवेदनशील
|
||||||
use-regex = Regex का उपयोग करें
|
use-regex = रिगैक्स का उपयोग करें
|
||||||
|
|
||||||
# Menu
|
# Menu
|
||||||
|
|
||||||
|
|
@ -77,34 +77,34 @@ use-regex = Regex का उपयोग करें
|
||||||
file = फ़ाइल
|
file = फ़ाइल
|
||||||
new-file = नई फ़ाइल
|
new-file = नई फ़ाइल
|
||||||
new-window = नई विंडो
|
new-window = नई विंडो
|
||||||
open-file = फ़ाइल खोलें...
|
open-file = फ़ाइल खोलें..।
|
||||||
open-recent-file = हाल की फ़ाइल खोलें
|
open-recent-file = हाल की फ़ाइल खोलें
|
||||||
close-file = फ़ाइल बंद करें
|
close-file = फ़ाइल बंद करें
|
||||||
menu-open-project = प्रोजेक्ट खोलें...
|
menu-open-project = परियोजना खोलें..।
|
||||||
open-recent-project = हाल का प्रोजेक्ट खोलें
|
open-recent-project = हालिया परियोजना खोलें
|
||||||
close-project = प्रोजेक्ट बंद करें
|
close-project = परियोजना बंद करें
|
||||||
save = सहेजें
|
save = सहेजें
|
||||||
save-as = इस रूप में सहेजें...
|
save-as = इस रूप में सहेजें..।
|
||||||
revert-all-changes = सभी बदलावों को पलटें
|
revert-all-changes = सभी बदलावों को पलटें
|
||||||
menu-document-statistics = दस्तावेज़ आँकड़े...
|
menu-document-statistics = दस्तावेज़ आँकड़े..।
|
||||||
document-type = दस्तावेज़ प्रकार...
|
document-type = दस्तावेज़ प्रकार..।
|
||||||
encoding = एन्कोडिंग...
|
encoding = एनकोडिंग..।
|
||||||
menu-git-management = Git प्रबंधन...
|
menu-git-management = गिट प्रबंधन..।
|
||||||
print = प्रिंट करें
|
print = छापें
|
||||||
quit = बंद करें
|
quit = बाहर जाएँ
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
edit = संपादित करें
|
edit = संपादन
|
||||||
undo = पूर्ववत करें
|
undo = पूर्ववत करें
|
||||||
redo = फिर से करें
|
redo = फिर से करें
|
||||||
cut = काटें
|
cut = काटें
|
||||||
copy = कॉपी करें
|
copy = कॉपी करें
|
||||||
paste = पेस्ट करें
|
paste = चिपकाएँ
|
||||||
select-all = सब कुछ चुनें
|
select-all = सभी चुनें
|
||||||
find = खोजें
|
find = खोजें
|
||||||
find-in-project = प्रोजेक्ट में खोजें...
|
find-in-project = परियोजना में खोजें..।
|
||||||
spell-check = वर्तनी की जांच...
|
spell-check = वर्तनी जाँच..।
|
||||||
|
|
||||||
## View
|
## View
|
||||||
|
|
||||||
|
|
@ -116,13 +116,19 @@ indentation = इंडेंटेशन
|
||||||
automatic-indentation = स्वचालित इंडेंटेशन
|
automatic-indentation = स्वचालित इंडेंटेशन
|
||||||
tab-width = टैब चौड़ाई: { $tab_width }
|
tab-width = टैब चौड़ाई: { $tab_width }
|
||||||
convert-indentation-to-spaces = इंडेंटेशन को स्पेस में बदलें
|
convert-indentation-to-spaces = इंडेंटेशन को स्पेस में बदलें
|
||||||
convert-indentation-to-tabs = इंडेंटेशन को टैब्स में बदलें
|
convert-indentation-to-tabs = इंडेंटेशन को टैब में बदलें
|
||||||
word-wrap = वर्ड रैप
|
word-wrap = शब्द लपेटन
|
||||||
show-line-numbers = पंक्ति संख्या दिखाएँ
|
show-line-numbers = पंक्ति संख्या दिखाएँ
|
||||||
highlight-current-line = वर्तमान पंक्ति को हाइलाइट करें
|
highlight-current-line = वर्तमान पंक्ति को हाइलाइट करें
|
||||||
syntax-highlighting = सिंटैक्स हाइलाइटिंग...
|
syntax-highlighting = सिंटैक्स हाइलाइटिंग..।
|
||||||
menu-settings = सेटिंग्स...
|
menu-settings = सेटिंग्स..।
|
||||||
menu-keyboard-shortcuts = कीबोर्ड शॉर्टकट्स...
|
menu-keyboard-shortcuts = कीबोर्ड शॉर्टकट्स..।
|
||||||
menu-about = कॉस्मिक टेक्स्ट एडिटर के बारे में...
|
menu-about = कॉस्मिक टेक्स्ट एडिटर के बारे में..।
|
||||||
repository = रिपॉजिटरी
|
repository = रिपॉजिटरी
|
||||||
support = सहायता
|
support = समर्थन
|
||||||
|
comment = कॉस्मिक डेस्कटॉप के लिए टेक्स्ट एडिटर
|
||||||
|
default-zoom-step = ज़ूम चरण
|
||||||
|
wrap-around = लपेटें
|
||||||
|
zoom-in = बड़ा करें
|
||||||
|
default-size = मूल आकार
|
||||||
|
zoom-out = छोटा करें
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,8 @@ git-management-description = A Git-kezelő egy verziókezeléssel kapcsolatos fe
|
||||||
git-management-loading = Git-kezelő betöltése…
|
git-management-loading = Git-kezelő betöltése…
|
||||||
stage = Előkészítés
|
stage = Előkészítés
|
||||||
staged-changes = Előkészített változtatások
|
staged-changes = Előkészített változtatások
|
||||||
unstage = Változtatások visszavonása előkészítésből
|
unstage = Előkészítés visszavonása
|
||||||
unstaged-changes = Előkészítésből visszavont változtatások
|
unstaged-changes = Nem előkészített változtatások
|
||||||
|
|
||||||
## Project search
|
## Project search
|
||||||
|
|
||||||
|
|
@ -35,7 +35,7 @@ project-search = Projektkereső
|
||||||
## Prompt save changes
|
## Prompt save changes
|
||||||
|
|
||||||
prompt-save-changes-title = Mented a változtatásokat bezárás előtt?
|
prompt-save-changes-title = Mented a változtatásokat bezárás előtt?
|
||||||
prompt-unsaved-changes = Vannak nem mentett változtatások. Ha nem mentesz, ezek el fognak veszni!
|
prompt-unsaved-changes = Vannak nem mentett változtatások. Ha nem mentesz, ezek el fognak veszni.
|
||||||
cancel = Mégse
|
cancel = Mégse
|
||||||
discard = Változtatások elvetése
|
discard = Változtatások elvetése
|
||||||
save-all = Összes mentése
|
save-all = Összes mentése
|
||||||
|
|
@ -60,7 +60,7 @@ default-zoom-step = Nagyítási mérték
|
||||||
### Keyboard shortcuts
|
### Keyboard shortcuts
|
||||||
|
|
||||||
keyboard-shortcuts = Gyorsbillentyűk
|
keyboard-shortcuts = Gyorsbillentyűk
|
||||||
enable-vim-bindings = Vim billentyűkombinációk engedélyezése
|
enable-vim-bindings = Vim-billentyűkombinációk engedélyezése
|
||||||
# Find
|
# Find
|
||||||
find-placeholder = Keresés…
|
find-placeholder = Keresés…
|
||||||
find-previous = Előző találat
|
find-previous = Előző találat
|
||||||
|
|
@ -68,7 +68,7 @@ find-next = Következő találat
|
||||||
replace-placeholder = Csere…
|
replace-placeholder = Csere…
|
||||||
replace = Csere
|
replace = Csere
|
||||||
replace-all = Összes lecserélése
|
replace-all = Összes lecserélése
|
||||||
case-sensitive = Kis- és nagybetű érzékenység
|
case-sensitive = Kis- és nagybetű-érzékenység
|
||||||
use-regex = Regex használata
|
use-regex = Regex használata
|
||||||
wrap-around = Körbefutás
|
wrap-around = Körbefutás
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ quit = Kilépés
|
||||||
|
|
||||||
edit = Szerkesztés
|
edit = Szerkesztés
|
||||||
undo = Visszavonás
|
undo = Visszavonás
|
||||||
redo = Visszaállítás
|
redo = Újra
|
||||||
cut = Kivágás
|
cut = Kivágás
|
||||||
copy = Másolás
|
copy = Másolás
|
||||||
paste = Beillesztés
|
paste = Beillesztés
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ appearance = Tampilan
|
||||||
git-management = Pengelolaan Git
|
git-management = Pengelolaan Git
|
||||||
theme = Tema
|
theme = Tema
|
||||||
git-management-description = Pengelolaan Git adalah alat pengembang yang digunakan untuk operasi pengendalian versi.
|
git-management-description = Pengelolaan Git adalah alat pengembang yang digunakan untuk operasi pengendalian versi.
|
||||||
match-desktop = Cocokkan desktop
|
match-desktop = Cocok desktop
|
||||||
menu-settings = Pengaturan...
|
menu-settings = Pengaturan...
|
||||||
git-management-loading = Memuat pengelolaan Git...
|
git-management-loading = Memuat pengelolaan Git...
|
||||||
staged-changes = Perubahan yang bertahap
|
staged-changes = Perubahan yang bertahap
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
cosmic-text-editor = COSMIC Text Editor
|
cosmic-text-editor = Editor di testo COSMIC
|
||||||
comment = Editor di testo di COSMIC
|
comment = Editor di testo per il desktop COSMIC
|
||||||
new-document = Nuovo documento
|
new-document = Nuovo documento
|
||||||
open-project = Apri progetto
|
open-project = Apri progetto
|
||||||
todo = TODO
|
todo = A fare
|
||||||
|
|
||||||
# Context Pages
|
# Context Pages
|
||||||
|
|
||||||
|
|
@ -15,15 +15,15 @@ support = Supporto
|
||||||
## Document statistics
|
## Document statistics
|
||||||
|
|
||||||
document-statistics = Statistiche documento
|
document-statistics = Statistiche documento
|
||||||
word-count = Conteggio parole
|
word-count = Conteggio delle parole
|
||||||
character-count = Caratteri
|
character-count = Caratteri
|
||||||
character-count-no-spaces = Caratteri (senza spazi)
|
character-count-no-spaces = Caratteri (senza spazi)
|
||||||
line-count = Righe
|
line-count = Linee
|
||||||
|
|
||||||
## Git management
|
## Git management
|
||||||
|
|
||||||
git-management = Gestione Git
|
git-management = Gestione Git
|
||||||
git-management-description = Gestione Git è uno strumento per sviluppatori, usato per le operazioni di controllo versione.
|
git-management-description = Gestione Git è uno strumento per sviluppatori, usato per le operazioni di controllo di versione.
|
||||||
git-management-loading = Caricamento Gestione Git...
|
git-management-loading = Caricamento Gestione Git...
|
||||||
stage = Prepara modifiche
|
stage = Prepara modifiche
|
||||||
staged-changes = Modifiche preparate
|
staged-changes = Modifiche preparate
|
||||||
|
|
@ -35,8 +35,8 @@ project-search = Ricerca nel progetto
|
||||||
|
|
||||||
## Prompt save changes
|
## Prompt save changes
|
||||||
|
|
||||||
prompt-save-changes-title = Modifiche non salvate
|
prompt-save-changes-title = Salvare le modifiche prima di chiudere?
|
||||||
prompt-unsaved-changes = Hai delle modifiche non salvate. Vuoi salvarle?
|
prompt-unsaved-changes = Sono presenti modifiche non salvate. Se continui senza salvare, queste modifiche andranno perse.
|
||||||
cancel = Annulla
|
cancel = Annulla
|
||||||
discard = Ignora modifiche
|
discard = Ignora modifiche
|
||||||
save-all = Salva tutto
|
save-all = Salva tutto
|
||||||
|
|
@ -49,7 +49,7 @@ settings = Impostazioni
|
||||||
|
|
||||||
appearance = Aspetto
|
appearance = Aspetto
|
||||||
theme = Tema
|
theme = Tema
|
||||||
match-desktop = Sistema
|
match-desktop = Abbina al desktop
|
||||||
dark = Scuro
|
dark = Scuro
|
||||||
light = Chiaro
|
light = Chiaro
|
||||||
syntax-dark = Sintassi scura
|
syntax-dark = Sintassi scura
|
||||||
|
|
@ -89,8 +89,8 @@ close-project = Chiudi progetto
|
||||||
save = Salva
|
save = Salva
|
||||||
save-as = Salva come...
|
save-as = Salva come...
|
||||||
revert-all-changes = Annulla tutte le modifiche
|
revert-all-changes = Annulla tutte le modifiche
|
||||||
menu-document-statistics = Statistiche documento...
|
menu-document-statistics = Statistiche di documento...
|
||||||
document-type = Tipo documento...
|
document-type = Tipo di documento...
|
||||||
encoding = Codifica...
|
encoding = Codifica...
|
||||||
menu-git-management = Gestione Git...
|
menu-git-management = Gestione Git...
|
||||||
print = Stampa
|
print = Stampa
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
cancel = Sefsex
|
cancel = Semmet
|
||||||
undo = Ssemmet
|
undo = Ssemmet
|
||||||
save = Sekles
|
save = Sekles
|
||||||
quit = Tuffɣa
|
quit = Ffeɣ
|
||||||
replace = Semselsi
|
replace = Semselsi
|
||||||
support = Tallalt
|
support = Tallelt
|
||||||
settings = Iɣewwaṛen
|
settings = Iɣewwaṛen
|
||||||
appearance = Timeẓri
|
appearance = Timeẓri
|
||||||
theme = Asentel
|
theme = Asentel
|
||||||
|
|
@ -16,7 +16,7 @@ default-size = Tiddi tamezwert
|
||||||
zoom-out = Asemẓi
|
zoom-out = Asemẓi
|
||||||
view = Wali
|
view = Wali
|
||||||
menu-settings = Iɣewwaṛen…
|
menu-settings = Iɣewwaṛen…
|
||||||
match-desktop = Amṣada d tnarit
|
match-desktop = Semṣada akked tnarit
|
||||||
file = Afaylu
|
file = Afaylu
|
||||||
new-window = Asfaylu amaynut
|
new-window = Asfaylu amaynut
|
||||||
edit = Ẓreg
|
edit = Ẓreg
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ replace = Алмастыру
|
||||||
repository = Репозиторий
|
repository = Репозиторий
|
||||||
support = Қолдау
|
support = Қолдау
|
||||||
settings = Баптаулар
|
settings = Баптаулар
|
||||||
appearance = Сыртқы түрі
|
appearance = Сыртқы көрініс
|
||||||
theme = Тақырып
|
theme = Тема
|
||||||
match-desktop = Жұмыс үстеліне сәйкес келу
|
match-desktop = Жұмыс үстеліне сәйкес болу
|
||||||
dark = Қараңғы
|
dark = Қою
|
||||||
light = Жарық
|
light = Ашық
|
||||||
file = Файл
|
file = Файл
|
||||||
new-window = Жаңа терезе
|
new-window = Жаңа терезе
|
||||||
quit = Шығу
|
quit = Шығу
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
save = Tomar bike
|
||||||
|
cancel = Têk bibe
|
||||||
|
undo = Vegerîne
|
||||||
|
cosmic-text-editor = Edîtorê nivîsê ya COSMIC
|
||||||
|
stage = Ast
|
||||||
|
settings = Sazkarî
|
||||||
|
appearance = Xuyang
|
||||||
|
theme = Rûkar
|
||||||
|
dark = Tarî
|
||||||
|
light = Ronî
|
||||||
|
support = Piştgirî
|
||||||
|
quit = Biqedîne
|
||||||
|
find-placeholder = Bibîne...
|
||||||
|
copy = Jê bigire
|
||||||
|
paste = Pê ve bike
|
||||||
|
match-desktop = Bi sermaseyê re li hev bîne
|
||||||
|
select-all = Hemûyan hilbijêre
|
||||||
|
zoom-in = Nêzîk bike
|
||||||
|
default-size = Mezinahiya berdest
|
||||||
|
zoom-out = Dûr bike
|
||||||
|
file = Pel
|
||||||
|
default-zoom-step = Gavên nêzîkbûnê
|
||||||
|
keyboard-shortcuts = Kurteriyên kilîtdankê
|
||||||
|
menu-keyboard-shortcuts = Kurteriyên kilîtdankê...
|
||||||
|
find-previous = Yê paş bibîne
|
||||||
|
find-next = Yê pêş bibîne
|
||||||
|
new-window = Çarçoveya nû
|
||||||
|
edit = Biguhêrîne
|
||||||
|
view = Dîtin
|
||||||
|
menu-settings = Sazkarî...
|
||||||
|
close-file = Pelê bigire
|
||||||
|
cut = Jê bike
|
||||||
|
new-document = Pelbenda nû
|
||||||
|
open-project = Projeyê veke
|
||||||
|
line-count = Rêz
|
||||||
|
repository = Embar
|
||||||
|
print = Çap bike
|
||||||
|
replace = Biguhêrîne
|
||||||
|
find = Bibîne
|
||||||
|
comment = Edîtorê nivîsê ji bo sermaseya COSMIC
|
||||||
|
todo = Erk
|
||||||
|
document-statistics = Amarên pelbendê
|
||||||
|
word-count = Jimara peyvan
|
||||||
|
character-count = Tîp
|
||||||
|
character-count-no-spaces = Tîp (bê valahî)
|
||||||
|
git-management = Rêveberiya Gitê
|
||||||
|
git-management-description = Rêveberiya Gitê amûreke pêşvebiran e ku ji bo pêvajoyên kontrolkirina guhertoyan tê bikaranîn.
|
||||||
|
git-management-loading = Rêveberiya Gitê tê barkirin...
|
||||||
|
staged-changes = Guhertinên amedekirî
|
||||||
|
unstage = Ji amedekariyê derxîne
|
||||||
|
unstaged-changes = Guhertinên ne amedekirî
|
||||||
|
project-search = Lêgerîna projeyê
|
||||||
|
prompt-save-changes-title = Berî girtinê guhertinan tomar bike?
|
||||||
|
prompt-unsaved-changes = Guhertinên te yên netomarkirî hene. Ku tu bê tomarkirinê bidomînî, ev guhertin wê winda bibin.
|
||||||
|
discard = Guhertinan paşguh bike
|
||||||
|
save-all = Hemûyan tomar bike
|
||||||
|
syntax-dark = Syntaxa tarî
|
||||||
|
syntax-light = Rêzamana ronî
|
||||||
|
default-font = Cûrenivîsa berdest
|
||||||
|
default-font-size = Mezinahiya cûrenivîsê ya berdest
|
||||||
|
enable-vim-bindings = Girêdanên Vim çalak bike
|
||||||
|
replace-placeholder = Biguhêrîne...
|
||||||
|
replace-all = Hemûyan biguhêrîne
|
||||||
|
case-sensitive = Hestiyar e li hember tîpên mezin/biçûk
|
||||||
|
use-regex = Regexê bi kar bîne
|
||||||
|
wrap-around = Pêçana dorhêlê
|
||||||
|
new-file = Pela nû
|
||||||
|
open-file = Pelê veke...
|
||||||
|
open-recent-file = Pelê dawî veke
|
||||||
|
menu-open-project = Projeyê veke...
|
||||||
|
open-recent-project = Projeya dawî veke
|
||||||
|
close-project = Projeyê bigire
|
||||||
|
save-as = Tomar bike wekî...
|
||||||
|
revert-all-changes = Hemû guhertinan vegerîne
|
||||||
|
menu-document-statistics = Amarên pelbendê...
|
||||||
|
document-type = Cûreyê pelbendê...
|
||||||
|
encoding = Tê kodkirin...
|
||||||
|
menu-git-management = Rêveberiya Gitê...
|
||||||
|
redo = Dûbare bike
|
||||||
|
find-in-project = Di projeyê de bibîne...
|
||||||
|
spell-check = Kontrola rastnivîsê...
|
||||||
|
indentation = Valahiya destpêkê
|
||||||
|
automatic-indentation = Valahiya destpêkê ya xweber
|
||||||
|
tab-width = Ferehiya rûgerê: { $tab_width }
|
||||||
|
convert-indentation-to-spaces = Indentationê vegerîne valahiyan
|
||||||
|
convert-indentation-to-tabs = Valahiya destpêkê biguhêrîne bo rûgeran
|
||||||
|
word-wrap = Pêçana peyvan
|
||||||
|
show-line-numbers = Jimarên rêzan nîşan bide
|
||||||
|
highlight-current-line = Rêza heyî ronî bike
|
||||||
|
syntax-highlighting = Ronîkirina syntaxê...
|
||||||
|
menu-about = Di derbarê edîtorê nivîsê ya COSMIC de...
|
||||||
0
i18n/lo/cosmic_edit.ftl
Normal file
0
i18n/lo/cosmic_edit.ftl
Normal file
|
|
@ -14,7 +14,7 @@ line-count = Eilučių skaičius
|
||||||
|
|
||||||
## Settings
|
## Settings
|
||||||
|
|
||||||
settings = Nustatymai
|
settings = Nuostatai
|
||||||
|
|
||||||
## Appearance
|
## Appearance
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@ default-font-size = Numatytas šrifto dydis
|
||||||
|
|
||||||
### Keyboard shortcuts
|
### Keyboard shortcuts
|
||||||
|
|
||||||
keyboard-shortcuts = Klaviatūros greitieji klavišai
|
keyboard-shortcuts = Spartieji klavišai
|
||||||
enable-vim-bindings = Naudoti Vim sąsajas
|
enable-vim-bindings = Naudoti Vim sąsajas
|
||||||
|
|
||||||
# Menu
|
# Menu
|
||||||
|
|
@ -36,28 +36,28 @@ enable-vim-bindings = Naudoti Vim sąsajas
|
||||||
file = Failas
|
file = Failas
|
||||||
new-file = Naujas failas
|
new-file = Naujas failas
|
||||||
new-window = Naujas langas
|
new-window = Naujas langas
|
||||||
open-file = Atidaryti failą...
|
open-file = Atverti failą...
|
||||||
todo = TODO
|
todo = TODO
|
||||||
save = Išsaugoti
|
save = Išsaugoti
|
||||||
save-as = Išsaugoti kaip...
|
save-as = Išsaugoti kaip...
|
||||||
revert-all-changes = Atstatyti visus pakeitimus
|
revert-all-changes = Atšaukti visus keitimus
|
||||||
menu-document-statistics = Apie dokumentą...
|
menu-document-statistics = Apie dokumentą...
|
||||||
document-type = Dokumento tipas...
|
document-type = Dokumento tipas...
|
||||||
encoding = Kodavimas...
|
encoding = Koduotė...
|
||||||
print = Spausdinti
|
print = Spausdinti
|
||||||
quit = Išeiti
|
quit = Išjungti
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
edit = Redaguoti
|
edit = Redaguoti
|
||||||
undo = Anuliuoti
|
undo = Anuliuoti
|
||||||
redo = Atkurti
|
redo = Grąžinti
|
||||||
cut = Iškirpti
|
cut = Iškirpti
|
||||||
copy = Kopijuoti
|
copy = Kopijuoti
|
||||||
paste = Įklijuoti
|
paste = Įdėti
|
||||||
find = Surasti
|
find = Rasti
|
||||||
replace = Pakeisti
|
replace = Keisti
|
||||||
spell-check = Rašybos tikrinimas...
|
spell-check = Tikrinti rašybą...
|
||||||
|
|
||||||
## View
|
## View
|
||||||
|
|
||||||
|
|
@ -70,50 +70,51 @@ automatic-indentation = Automatinė įtrauka
|
||||||
tab-width = Tabuliavimo žingsnio plotis: { $tab_width }
|
tab-width = Tabuliavimo žingsnio plotis: { $tab_width }
|
||||||
convert-indentation-to-spaces = Pakeisti įtrauką tarpais
|
convert-indentation-to-spaces = Pakeisti įtrauką tarpais
|
||||||
convert-indentation-to-tabs = Pakeisti įtrauką tabuliavimo žingsniu
|
convert-indentation-to-tabs = Pakeisti įtrauką tabuliavimo žingsniu
|
||||||
word-wrap = Žodžių perkėlimas
|
word-wrap = Žodžių kėlimas
|
||||||
show-line-numbers = Rodyti eilučių numerius
|
show-line-numbers = Rodyti eilučių numerius
|
||||||
highlight-current-line = Paryškinti dabartinę eilutę
|
highlight-current-line = Paryškinti dabartinę eilutę
|
||||||
syntax-highlighting = Sintaksės tikrinimas...
|
syntax-highlighting = Sintaksės tikrinimas...
|
||||||
menu-settings = Nustatymai...
|
menu-settings = Nuostatai...
|
||||||
menu-keyboard-shortcuts = Klaviatūros greitieji klavišai...
|
menu-keyboard-shortcuts = Spartieji klavišai...
|
||||||
menu-about = Apie COSMIC Text Editor...
|
menu-about = Apie COSMIC Rašyklę...
|
||||||
cancel = Atšaukti
|
cancel = Atšaukti
|
||||||
repository = Saugykla
|
repository = Saugykla
|
||||||
support = Palaikymas
|
support = Palaikymas
|
||||||
cosmic-text-editor = COSMIC Text Editor
|
cosmic-text-editor = COSMIC Rašyklė
|
||||||
git-management = Git valdymas
|
git-management = Git valdymas
|
||||||
git-management-description = Git valdymas - kūrėjų įrankis, naudojamas versijų kontrolės sistemos operacijoms įvykdyti.
|
git-management-description = Git valdymas - kūrėjų įrankis, naudojamas versijų kontrolės sistemos operacijoms įvykdyti.
|
||||||
git-management-loading = Kraunamas Git valdymas...
|
git-management-loading = Kraunamas Git valdymas...
|
||||||
save-all = Išsaugoti viską
|
save-all = Išsaugoti viską
|
||||||
syntax-dark = Tamsi sintaksė
|
syntax-dark = Tamsi sintaksė
|
||||||
default-zoom-step = Priartinimo žingsniai
|
default-zoom-step = Artinimo žingsniai
|
||||||
open-recent-file = Atidaryti pastararąjį failą
|
open-recent-file = Atverti pastarąjį failą
|
||||||
close-file = Uždaryti failą
|
close-file = Uždaryti failą
|
||||||
menu-open-project = Atidaryti projektą...
|
menu-open-project = Atidaryti projektą...
|
||||||
open-recent-project = Atidaryti pastarąjį projektą
|
open-recent-project = Atidaryti pastarąjį projektą
|
||||||
close-project = Uždaryti projektą
|
close-project = Uždaryti projektą
|
||||||
select-all = Pažymėti viską
|
select-all = Žymėti viską
|
||||||
find-in-project = Ieškoti projekte...
|
find-in-project = Ieškoti projekte...
|
||||||
zoom-in = Priartinti
|
zoom-in = Artinti
|
||||||
default-size = Numatytas dydis
|
default-size = Numatytas dydis
|
||||||
zoom-out = Nutolinti
|
zoom-out = Tolinti
|
||||||
menu-git-management = Git valdymas...
|
menu-git-management = Git valdymas...
|
||||||
staged-changes = Patvirtinti pokyčiai
|
staged-changes = Patvirtinti keitimai
|
||||||
unstaged-changes = Nepatvirtinti pokyčiai
|
unstaged-changes = Nepatvirtinti keitimai
|
||||||
prompt-save-changes-title = Išsaugoti pakeitimus prieš uždarant?
|
prompt-save-changes-title = Išsaugoti pakeitimus prieš uždarant?
|
||||||
prompt-unsaved-changes = Yra neišsaugotų pakeitimų. Jeigu tęsite neišsaugojus, jūsų pakeitimai bus prarasti.
|
prompt-unsaved-changes = Yra neišsaugotų keitimų. Jei tęsite neišsaugoję, šie keitimai dings.
|
||||||
discard = Pašalinti pakeitimus
|
discard = Pašalinti keitimus
|
||||||
match-desktop = Pagal darbalaukio temą
|
match-desktop = Pagal darbalaukio temą
|
||||||
find-placeholder = Surasti...
|
find-placeholder = Rasti...
|
||||||
find-previous = Atgalinis ieškojimas
|
find-previous = Ieškoti ankstesnio
|
||||||
find-next = Ieškoti sekančio
|
find-next = Ieškoti tolesnio
|
||||||
replace-placeholder = Pakeisti...
|
replace-placeholder = Keisti...
|
||||||
replace-all = Pakeisti visus
|
replace-all = Pakeisti visus
|
||||||
case-sensitive = Skirti raidžių dydžius
|
case-sensitive = Skirti raidžių dydžius
|
||||||
use-regex = Naudoti regex
|
use-regex = Naudoti regex
|
||||||
wrap-around = Kelti į sekančią eilutę
|
wrap-around = Laikinai skaidyti eilutes
|
||||||
stage = Patvirtinti pakeitimai
|
stage = Patvirtinti pakeitimai
|
||||||
project-search = Paieška projekte
|
project-search = Paieška projekte
|
||||||
dark = Tamsus
|
dark = Tamsus
|
||||||
light = Šviesus
|
light = Šviesus
|
||||||
comment = COSMIC desktop teksto redaktorius
|
comment = COSMIC aplinkos rašyklė
|
||||||
|
unstage = Atšaukti patvirtinimą
|
||||||
|
|
|
||||||
|
|
@ -1 +1,13 @@
|
||||||
settings = Paramètres
|
settings = Configuracion
|
||||||
|
appearance = Aparéncia
|
||||||
|
theme = Tèma
|
||||||
|
match-desktop = Assortir al burèu
|
||||||
|
dark = Escur
|
||||||
|
light = Clar
|
||||||
|
file = Fichièr
|
||||||
|
close-file = Tampar lo fichièr
|
||||||
|
cancel = Anullar
|
||||||
|
repository = Depaus
|
||||||
|
menu-settings = Configuracion...
|
||||||
|
quit = Quitar
|
||||||
|
replace = Remplaçar
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ support = ਸਹਿਯੋਗ
|
||||||
settings = ਸੈਟਿੰਗਾਂ
|
settings = ਸੈਟਿੰਗਾਂ
|
||||||
appearance = ਦਿੱਖ
|
appearance = ਦਿੱਖ
|
||||||
theme = ਥੀਮ
|
theme = ਥੀਮ
|
||||||
match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਦਾ
|
match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਾਓ
|
||||||
dark = ਗੂੜ੍ਹਾ
|
dark = ਗੂੜ੍ਹਾ
|
||||||
light = ਹਲਕਾ
|
light = ਫਿੱਕਾ
|
||||||
default-zoom-step = ਜ਼ੂਮ ਸਟੈਪ
|
default-zoom-step = ਜ਼ੂਮ ਸਟੈਪ
|
||||||
quit = ਬਾਹਰ
|
quit = ਸਮਾਪਤ
|
||||||
edit = ਸੋਧੋ
|
edit = ਸੋਧੋ
|
||||||
copy = ਕਾਪੀ ਕਰੋ
|
copy = ਕਾਪੀ ਕਰੋ
|
||||||
paste = ਚੇਪੋ
|
paste = ਚੇਪੋ
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
cosmic-text-editor = Edytor Tekstu COSMIC
|
cosmic-text-editor = Edytor Tekstu COSMIC
|
||||||
comment = Edytor tekstu pulpitu COSMIC
|
comment = Edytor tekstu dla środowiska COSMIC
|
||||||
new-document = Nowy dokument
|
new-document = Nowy dokument
|
||||||
open-project = Otwórz projekt
|
open-project = Otwórz projekt
|
||||||
todo = TODO
|
todo = TODO
|
||||||
|
|
@ -64,7 +64,7 @@ default-zoom-step = Stopniowanie powiększania
|
||||||
keyboard-shortcuts = Skróty klawiszowe
|
keyboard-shortcuts = Skróty klawiszowe
|
||||||
enable-vim-bindings = Włącz tryb Vim
|
enable-vim-bindings = Włącz tryb Vim
|
||||||
# Find
|
# Find
|
||||||
find-placeholder = Szukaj…
|
find-placeholder = Wyszukaj…
|
||||||
find-previous = Znajdź poprzedni
|
find-previous = Znajdź poprzedni
|
||||||
find-next = Znajdź następny
|
find-next = Znajdź następny
|
||||||
replace-placeholder = Zastąp…
|
replace-placeholder = Zastąp…
|
||||||
|
|
@ -95,7 +95,7 @@ document-type = Typ dokumentu…
|
||||||
encoding = Kodowanie…
|
encoding = Kodowanie…
|
||||||
menu-git-management = Zarządzanie git…
|
menu-git-management = Zarządzanie git…
|
||||||
print = Drukuj
|
print = Drukuj
|
||||||
quit = Zamknij
|
quit = Zakończ
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
@ -106,8 +106,8 @@ cut = Wytnij
|
||||||
copy = Kopiuj
|
copy = Kopiuj
|
||||||
paste = Wklej
|
paste = Wklej
|
||||||
select-all = Zaznacz wszystko
|
select-all = Zaznacz wszystko
|
||||||
find = Szukaj
|
find = Wyszukaj
|
||||||
find-in-project = Szukaj w projekcie…
|
find-in-project = Wyszukaj w projekcie…
|
||||||
spell-check = Sprawdź ortografię…
|
spell-check = Sprawdź ortografię…
|
||||||
|
|
||||||
## View
|
## View
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ document-type = Tipo de documento...
|
||||||
encoding = Codificação...
|
encoding = Codificação...
|
||||||
menu-git-management = Gerenciamento do Git...
|
menu-git-management = Gerenciamento do Git...
|
||||||
print = Imprimir
|
print = Imprimir
|
||||||
quit = Sair
|
quit = Encerrar
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ document-type = Тип документа...
|
||||||
encoding = Кодировка...
|
encoding = Кодировка...
|
||||||
menu-git-management = Управление Git...
|
menu-git-management = Управление Git...
|
||||||
print = Печать
|
print = Печать
|
||||||
quit = Выйти
|
quit = Завершить
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
|
||||||
2
i18n/sat/cosmic_edit.ftl
Normal file
2
i18n/sat/cosmic_edit.ftl
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
cancel = ᱵᱟᱹᱛᱤᱞ
|
||||||
|
save = ᱥᱟᱧᱪᱟᱣ
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
quit = Изађи
|
||||||
|
cancel = Откажи
|
||||||
|
settings = Подешавања
|
||||||
|
appearance = Изглед
|
||||||
|
dark = Тамна
|
||||||
|
light = Светла
|
||||||
|
replace = Замени
|
||||||
|
save = Сачувај
|
||||||
|
undo = Опозови
|
||||||
|
repository = Ризница
|
||||||
|
support = Подршка
|
||||||
|
theme = Тема
|
||||||
|
match-desktop = Прати радну површину
|
||||||
|
file = Датотека
|
||||||
|
new-window = Нови прозор
|
||||||
|
edit = Уреди
|
||||||
|
cut = Исеци
|
||||||
|
copy = Умножи
|
||||||
|
paste = Залепи
|
||||||
|
select-all = Означи све
|
||||||
|
zoom-in = Увећајте приказ
|
||||||
|
default-size = Подразумевана величина
|
||||||
|
zoom-out = Умањите приказ
|
||||||
|
view = Преглед
|
||||||
|
menu-settings = Подешавања...
|
||||||
|
cosmic-text-editor = Космик уређивач текста
|
||||||
|
comment = Уређивач текста за Космик радну површину
|
||||||
|
new-document = Нови документ
|
||||||
|
open-project = Отвори пројекат
|
||||||
|
todo = УРАДИТИ
|
||||||
|
document-statistics = Статистика документа
|
||||||
|
word-count = Број речи
|
||||||
|
character-count = Знакови
|
||||||
|
character-count-no-spaces = Знакови (без размака)
|
||||||
|
line-count = Редови
|
||||||
|
git-management = Управљање Гитом
|
||||||
|
git-management-description = Управљање Гитом је алат за програмере који се користи за радње управљања издањима.
|
||||||
|
git-management-loading = Учитавање управљања Гитом...
|
||||||
|
stage = Припреми
|
||||||
|
staged-changes = Припремљене измене
|
||||||
|
unstage = Поништи припрему
|
||||||
|
unstaged-changes = Неприпремљене измене
|
||||||
|
project-search = Претрага пројекта
|
||||||
|
prompt-save-changes-title = Сачувај измене пре затварања?
|
||||||
|
prompt-unsaved-changes = Имате несачуване измене. Ако наставите без сачувања, ове измене ће бити изгубљене.
|
||||||
|
discard = Одбаци измене
|
||||||
|
save-all = Сачувај све
|
||||||
|
syntax-dark = Тамна синтакса
|
||||||
|
syntax-light = Светла синтакса
|
||||||
|
default-font = Подразумевани фонт
|
||||||
|
default-font-size = Подразумевана величина фонта
|
||||||
|
default-zoom-step = Кораци увећања
|
||||||
|
keyboard-shortcuts = Пречице тастатуре
|
||||||
|
enable-vim-bindings = Омогући Вим везивања
|
||||||
|
find-placeholder = Пронађи...
|
||||||
|
find-previous = Нађи претходно
|
||||||
|
find-next = Нађи следеће
|
||||||
|
replace-placeholder = Замени…
|
||||||
|
replace-all = Замени све
|
||||||
|
case-sensitive = Разликује величину слова
|
||||||
|
use-regex = Употреби регуларни израз
|
||||||
|
wrap-around = Преламај около
|
||||||
|
new-file = Нова датотека
|
||||||
|
open-file = Отвори датотеку...
|
||||||
|
open-recent-file = Отвори недавну датотеку
|
||||||
|
close-file = Затвори датотеку
|
||||||
|
menu-open-project = Отвори пројекат...
|
||||||
|
open-recent-project = Отвори недавни пројекат
|
||||||
|
close-project = Затвори пројекат
|
||||||
|
save-as = Сачувај као...
|
||||||
|
revert-all-changes = Врати све измене
|
||||||
|
menu-document-statistics = Статистика документа...
|
||||||
|
document-type = Врста документа...
|
||||||
|
encoding = Кодирање...
|
||||||
|
menu-git-management = Управљање Гитом...
|
||||||
|
print = Штампај
|
||||||
|
redo = Понови
|
||||||
|
find = Пронађи
|
||||||
|
find-in-project = Пронађи у пројекту...
|
||||||
|
spell-check = Провера правописа...
|
||||||
|
indentation = Увлачење
|
||||||
|
automatic-indentation = Самостално увлачење
|
||||||
|
tab-width = Ширина табулатора: { $tab_width }
|
||||||
|
convert-indentation-to-spaces = Претворите увлачење у размаке
|
||||||
|
convert-indentation-to-tabs = Претворите увлачење у табулаторе
|
||||||
|
word-wrap = Прелом речи
|
||||||
|
show-line-numbers = Приказује бројеве редова
|
||||||
|
highlight-current-line = Истиче текући ред
|
||||||
|
syntax-highlighting = Истицање синтаксе...
|
||||||
|
menu-keyboard-shortcuts = Пречице на тастатури...
|
||||||
|
menu-about = О Космик уређивачу текста...
|
||||||
|
|
@ -119,7 +119,7 @@ word-wrap = Radbrytning
|
||||||
show-line-numbers = Visa radnummer
|
show-line-numbers = Visa radnummer
|
||||||
highlight-current-line = Markera aktuell rad
|
highlight-current-line = Markera aktuell rad
|
||||||
syntax-highlighting = Syntaxmarkering...
|
syntax-highlighting = Syntaxmarkering...
|
||||||
menu-settings = Inställningar…
|
menu-settings = Inställningar...
|
||||||
menu-keyboard-shortcuts = Tangentbordsgenvägar...
|
menu-keyboard-shortcuts = Tangentbordsgenvägar...
|
||||||
menu-about = Om COSMIC Textredigerare…
|
menu-about = Om COSMIC Textredigerare…
|
||||||
cosmic-text-editor = COSMIC Textredigerare
|
cosmic-text-editor = COSMIC Textredigerare
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
cancel = ยกเลิก
|
||||||
|
settings = การตั้งค่า
|
||||||
|
dark = มืด
|
||||||
|
light = สว่าง
|
||||||
|
replace = แทนที่
|
||||||
|
appearance = ลักษณะ
|
||||||
|
|
@ -90,7 +90,7 @@ document-type = Тип документа...
|
||||||
encoding = Кодування...
|
encoding = Кодування...
|
||||||
menu-git-management = Керування Git...
|
menu-git-management = Керування Git...
|
||||||
print = Друкувати
|
print = Друкувати
|
||||||
quit = Вийти
|
quit = Завершити
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
cosmic-text-editor = COSMIC 文字編輯器
|
cosmic-text-editor = COSMIC 文字編輯器
|
||||||
new-document = 新建文件
|
new-document = 新文件
|
||||||
open-project = 開啟專案
|
open-project = 開啟專案
|
||||||
todo = 待辦事項
|
todo = 待辦事項
|
||||||
|
|
||||||
|
|
@ -71,8 +71,8 @@ use-regex = 使用正規表示式
|
||||||
## File
|
## File
|
||||||
|
|
||||||
file = 檔案
|
file = 檔案
|
||||||
new-file = 新建檔案
|
new-file = 新增檔案
|
||||||
new-window = 新建視窗
|
new-window = 新增視窗
|
||||||
open-file = 開啟檔案...
|
open-file = 開啟檔案...
|
||||||
open-recent-file = 開啟最近使用的檔案
|
open-recent-file = 開啟最近使用的檔案
|
||||||
close-file = 關閉檔案
|
close-file = 關閉檔案
|
||||||
|
|
@ -87,7 +87,7 @@ document-type = 文件類型...
|
||||||
encoding = 編碼...
|
encoding = 編碼...
|
||||||
menu-git-management = Git 管理...
|
menu-git-management = Git 管理...
|
||||||
print = 列印
|
print = 列印
|
||||||
quit = 退出
|
quit = 結束
|
||||||
|
|
||||||
## Edit
|
## Edit
|
||||||
|
|
||||||
|
|
@ -124,7 +124,7 @@ stage = 暫存
|
||||||
unstage = 取消暫存
|
unstage = 取消暫存
|
||||||
cancel = 取消
|
cancel = 取消
|
||||||
save-all = 全部儲存
|
save-all = 全部儲存
|
||||||
repository = 軟體庫源
|
repository = 軟體庫
|
||||||
support = 支援
|
support = 支援
|
||||||
default-zoom-step = 縮放步進
|
default-zoom-step = 縮放步進
|
||||||
zoom-in = 放大
|
zoom-in = 放大
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Exec=cosmic-edit %F
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
MimeType=text/plain;
|
MimeType=text/plain;application/x-zerosize;
|
||||||
Icon=com.system76.CosmicEdit
|
Icon=com.system76.CosmicEdit
|
||||||
Categories=COSMIC;Utility;TextEditor;
|
Categories=COSMIC;Utility;TextEditor;
|
||||||
Keywords=Text;Editor;
|
Keywords=Text;Editor;
|
||||||
|
|
@ -26,6 +26,9 @@ pub fn key_binds() -> HashMap<KeyBind, Action> {
|
||||||
bind!([Ctrl], Key::Character("f".into()), Find);
|
bind!([Ctrl], Key::Character("f".into()), Find);
|
||||||
bind!([Ctrl], Key::Character("h".into()), FindAndReplace);
|
bind!([Ctrl], Key::Character("h".into()), FindAndReplace);
|
||||||
bind!([Ctrl], Key::Character("v".into()), Paste);
|
bind!([Ctrl], Key::Character("v".into()), Paste);
|
||||||
|
bind!([Shift], Key::Named(Named::Insert), Paste);
|
||||||
|
bind!([Ctrl], Key::Named(Named::Insert), Copy);
|
||||||
|
bind!([Shift], Key::Named(Named::Delete), Cut);
|
||||||
bind!([Ctrl], Key::Character("t".into()), NewFile);
|
bind!([Ctrl], Key::Character("t".into()), NewFile);
|
||||||
bind!([Ctrl], Key::Character("n".into()), NewWindow);
|
bind!([Ctrl], Key::Character("n".into()), NewWindow);
|
||||||
bind!([Ctrl], Key::Character("o".into()), OpenFileDialog);
|
bind!([Ctrl], Key::Character("o".into()), OpenFileDialog);
|
||||||
|
|
|
||||||
129
src/main.rs
129
src/main.rs
|
|
@ -11,7 +11,7 @@ use cosmic::{
|
||||||
cosmic_theme, executor,
|
cosmic_theme, executor,
|
||||||
font::Font,
|
font::Font,
|
||||||
iced::{
|
iced::{
|
||||||
self, Alignment, Background, Color, Length, Limits, Point, Subscription,
|
self, Alignment, Background, Color, Length, Limits, Subscription,
|
||||||
advanced::graphics::text::font_system,
|
advanced::graphics::text::font_system,
|
||||||
clipboard, event,
|
clipboard, event,
|
||||||
futures::{self, SinkExt},
|
futures::{self, SinkExt},
|
||||||
|
|
@ -194,6 +194,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
|
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
|
||||||
pub enum Action {
|
pub enum Action {
|
||||||
Todo,
|
Todo,
|
||||||
|
NoOp,
|
||||||
About,
|
About,
|
||||||
CloseFile,
|
CloseFile,
|
||||||
CloseProject(usize),
|
CloseProject(usize),
|
||||||
|
|
@ -244,6 +245,7 @@ impl Action {
|
||||||
fn message(&self, entity_opt: Option<Entity>) -> Message {
|
fn message(&self, entity_opt: Option<Entity>) -> Message {
|
||||||
match self {
|
match self {
|
||||||
Self::Todo => Message::Todo,
|
Self::Todo => Message::Todo,
|
||||||
|
Self::NoOp => Message::NoOp,
|
||||||
Self::About => Message::ToggleContextPage(ContextPage::About),
|
Self::About => Message::ToggleContextPage(ContextPage::About),
|
||||||
Self::CloseFile => Message::CloseFile,
|
Self::CloseFile => Message::CloseFile,
|
||||||
Self::CloseProject(project_i) => Message::CloseProject(*project_i),
|
Self::CloseProject(project_i) => Message::CloseProject(*project_i),
|
||||||
|
|
@ -366,11 +368,12 @@ pub enum Message {
|
||||||
GitProjectStatus(Vec<(String, PathBuf, Vec<GitStatus>)>),
|
GitProjectStatus(Vec<(String, PathBuf, Vec<GitStatus>)>),
|
||||||
GitStage(PathBuf, PathBuf),
|
GitStage(PathBuf, PathBuf),
|
||||||
GitUnstage(PathBuf, PathBuf),
|
GitUnstage(PathBuf, PathBuf),
|
||||||
Key(Modifiers, keyboard::Key),
|
Key(Modifiers, keyboard::key::Physical, keyboard::Key),
|
||||||
LaunchUrl(String),
|
LaunchUrl(String),
|
||||||
Modifiers(Modifiers),
|
Modifiers(Modifiers),
|
||||||
NewFile,
|
NewFile,
|
||||||
NewWindow,
|
NewWindow,
|
||||||
|
NoOp,
|
||||||
NotifyEvent(notify::Event),
|
NotifyEvent(notify::Event),
|
||||||
NotifyWatcher(WatcherWrapper),
|
NotifyWatcher(WatcherWrapper),
|
||||||
OpenFile(PathBuf),
|
OpenFile(PathBuf),
|
||||||
|
|
@ -400,7 +403,7 @@ pub enum Message {
|
||||||
SaveAsResult(segmented_button::Entity, DialogResult),
|
SaveAsResult(segmented_button::Entity, DialogResult),
|
||||||
Scroll(f32),
|
Scroll(f32),
|
||||||
SelectAll,
|
SelectAll,
|
||||||
Surface(surface::Action),
|
Surface(surface::Action<Message>),
|
||||||
SystemThemeModeChange(cosmic_theme::ThemeMode),
|
SystemThemeModeChange(cosmic_theme::ThemeMode),
|
||||||
SyntaxTheme(usize, bool),
|
SyntaxTheme(usize, bool),
|
||||||
TabActivate(segmented_button::Entity),
|
TabActivate(segmented_button::Entity),
|
||||||
|
|
@ -409,7 +412,7 @@ pub enum Message {
|
||||||
TabClose(segmented_button::Entity),
|
TabClose(segmented_button::Entity),
|
||||||
TabCloseForce(segmented_button::Entity),
|
TabCloseForce(segmented_button::Entity),
|
||||||
TabContextAction(segmented_button::Entity, Action),
|
TabContextAction(segmented_button::Entity, Action),
|
||||||
TabContextMenu(segmented_button::Entity, Option<Point>),
|
TabContextMenu(segmented_button::Entity, bool),
|
||||||
TabNext,
|
TabNext,
|
||||||
TabPrev,
|
TabPrev,
|
||||||
TabSetCursor(segmented_button::Entity, Cursor),
|
TabSetCursor(segmented_button::Entity, Cursor),
|
||||||
|
|
@ -691,13 +694,7 @@ impl App {
|
||||||
return Some(NewTab::Exists(entity));
|
return Some(NewTab::Exists(entity));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add to recent files, ensuring only one entry
|
self.add_to_recents(&canonical);
|
||||||
self.config_state.recent_files.retain(|x| x != &canonical);
|
|
||||||
self.config_state
|
|
||||||
.recent_files
|
|
||||||
.push_front(canonical.to_path_buf());
|
|
||||||
self.config_state.recent_files.truncate(10);
|
|
||||||
self.save_config_state();
|
|
||||||
|
|
||||||
let mut tab = EditorTab::new(&self.config);
|
let mut tab = EditorTab::new(&self.config);
|
||||||
tab.open(canonical);
|
tab.open(canonical);
|
||||||
|
|
@ -707,6 +704,15 @@ impl App {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn add_to_recents(&mut self, canonical: &PathBuf) {
|
||||||
|
self.config_state.recent_files.retain(|x| x != canonical);
|
||||||
|
self.config_state
|
||||||
|
.recent_files
|
||||||
|
.push_front(canonical.to_path_buf());
|
||||||
|
self.config_state.recent_files.truncate(10);
|
||||||
|
self.save_config_state();
|
||||||
|
}
|
||||||
|
|
||||||
fn update_config(&mut self) -> Task<Message> {
|
fn update_config(&mut self) -> Task<Message> {
|
||||||
//TODO: provide iterator over data
|
//TODO: provide iterator over data
|
||||||
let entities: Vec<_> = self.tab_model.iter().collect();
|
let entities: Vec<_> = self.tab_model.iter().collect();
|
||||||
|
|
@ -1455,6 +1461,7 @@ impl Application for App {
|
||||||
.author("System76")
|
.author("System76")
|
||||||
.comments(fl!("comment"))
|
.comments(fl!("comment"))
|
||||||
.license("GPL-3.0-only")
|
.license("GPL-3.0-only")
|
||||||
|
.license_url("https://spdx.org/licenses/GPL-3.0-only")
|
||||||
.developers([("Jeremy Soller", "jeremy@system76.com")])
|
.developers([("Jeremy Soller", "jeremy@system76.com")])
|
||||||
.links([
|
.links([
|
||||||
(fl!("repository"), "https://github.com/pop-os/cosmic-edit"),
|
(fl!("repository"), "https://github.com/pop-os/cosmic-edit"),
|
||||||
|
|
@ -2124,9 +2131,9 @@ impl Application for App {
|
||||||
|x| x,
|
|x| x,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Message::Key(modifiers, key) => {
|
Message::Key(modifiers, physical, key) => {
|
||||||
for (key_bind, action) in self.key_binds.iter() {
|
for (key_bind, action) in self.key_binds.iter() {
|
||||||
if key_bind.matches(modifiers, &key) {
|
if key_bind.matches(modifiers, &key, Some(&physical)) {
|
||||||
return self.update(action.message(None));
|
return self.update(action.message(None));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2158,6 +2165,9 @@ impl Application for App {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Message::NoOp => {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
Message::NotifyEvent(event) => {
|
Message::NotifyEvent(event) => {
|
||||||
// Reload tabs that changed
|
// Reload tabs that changed
|
||||||
let mut tab_reload = Vec::new();
|
let mut tab_reload = Vec::new();
|
||||||
|
|
@ -2586,11 +2596,18 @@ impl Application for App {
|
||||||
|
|
||||||
let entity = entity_opt.unwrap_or_else(|| self.tab_model.active());
|
let entity = entity_opt.unwrap_or_else(|| self.tab_model.active());
|
||||||
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
||||||
if tab.path_opt.is_none() {
|
match tab.path_opt.clone() {
|
||||||
return self.update(Message::SaveAsDialog(Some(entity)));
|
Some(path) => {
|
||||||
|
title_opt = Some(tab.title());
|
||||||
|
tab.save();
|
||||||
|
if let Ok(canonical) = fs::canonicalize(&path) {
|
||||||
|
self.add_to_recents(&canonical);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
return self.update(Message::SaveAsDialog(Some(entity)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
title_opt = Some(tab.title());
|
|
||||||
tab.save();
|
|
||||||
}
|
}
|
||||||
if let Some(title) = title_opt {
|
if let Some(title) = title_opt {
|
||||||
self.tab_model.text_set(self.tab_model.active(), title);
|
self.tab_model.text_set(self.tab_model.active(), title);
|
||||||
|
|
@ -2601,10 +2618,17 @@ impl Application for App {
|
||||||
let entities: Vec<_> = self.tab_model.iter().collect();
|
let entities: Vec<_> = self.tab_model.iter().collect();
|
||||||
for entity in entities {
|
for entity in entities {
|
||||||
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
||||||
if tab.path_opt.is_none() {
|
match tab.path_opt.clone() {
|
||||||
log::warn!("{} has no path when doing save all", tab.title());
|
Some(path) => {
|
||||||
|
tab.save();
|
||||||
|
if let Ok(canonical) = fs::canonicalize(&path) {
|
||||||
|
self.add_to_recents(&canonical);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
log::warn!("{} has no path when doing save all", tab.title());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tab.save();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return self.update_dialogs();
|
return self.update_dialogs();
|
||||||
|
|
@ -2648,6 +2672,11 @@ impl Application for App {
|
||||||
tab.path_opt = Some(paths.remove(0));
|
tab.path_opt = Some(paths.remove(0));
|
||||||
title_opt = Some(tab.title());
|
title_opt = Some(tab.title());
|
||||||
tab.save();
|
tab.save();
|
||||||
|
if let Some(path) = tab.path_opt.clone() {
|
||||||
|
if let Ok(canonical) = fs::canonicalize(&path) {
|
||||||
|
self.add_to_recents(&canonical);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if let Some(title) = title_opt {
|
if let Some(title) = title_opt {
|
||||||
self.tab_model.text_set(entity, title);
|
self.tab_model.text_set(entity, title);
|
||||||
|
|
@ -2684,9 +2713,7 @@ impl Application for App {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::Surface(a) => {
|
Message::Surface(a) => {
|
||||||
return cosmic::task::message(cosmic::Action::Cosmic(
|
return cosmic::task::message(cosmic::Action::Surface(a));
|
||||||
cosmic::app::Action::Surface(a),
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
Message::SystemThemeModeChange(_theme_mode) => {
|
Message::SystemThemeModeChange(_theme_mode) => {
|
||||||
return self.update_config();
|
return self.update_config();
|
||||||
|
|
@ -2765,7 +2792,9 @@ impl Application for App {
|
||||||
}
|
}
|
||||||
Message::TabCloseForce(entity) => {
|
Message::TabCloseForce(entity) => {
|
||||||
// Activate closest item
|
// Activate closest item
|
||||||
if let Some(position) = self.tab_model.position(entity) {
|
if self.tab_model.active() == entity
|
||||||
|
&& let Some(position) = self.tab_model.position(entity)
|
||||||
|
{
|
||||||
if position > 0 {
|
if position > 0 {
|
||||||
self.tab_model.activate_position(position - 1);
|
self.tab_model.activate_position(position - 1);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -2779,7 +2808,7 @@ impl Application for App {
|
||||||
|
|
||||||
// If that was the last tab, exit the application
|
// If that was the last tab, exit the application
|
||||||
if self.tab_model.iter().next().is_none() {
|
if self.tab_model.iter().next().is_none() {
|
||||||
return self.update(Message::QuitForce)
|
return self.update(Message::QuitForce);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close PromptSaveClose dialog if open for this entity
|
// Close PromptSaveClose dialog if open for this entity
|
||||||
|
|
@ -2792,15 +2821,15 @@ impl Application for App {
|
||||||
Message::TabContextAction(entity, action) => {
|
Message::TabContextAction(entity, action) => {
|
||||||
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
||||||
// Close context menu
|
// Close context menu
|
||||||
tab.context_menu = None;
|
tab.context_menu_open = false;
|
||||||
// Run action's message
|
// Run action's message
|
||||||
return self.update(action.message(None));
|
return self.update(action.message(None));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::TabContextMenu(entity, position_opt) => {
|
Message::TabContextMenu(entity, open) => {
|
||||||
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
|
||||||
// Update context menu
|
// Update context menu
|
||||||
tab.context_menu = position_opt;
|
tab.context_menu_open = open;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::TabNext => {
|
Message::TabNext => {
|
||||||
|
|
@ -3005,12 +3034,19 @@ impl Application for App {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn header_start(&self) -> Vec<Element<'_, Message>> {
|
fn header_start(&self) -> Vec<Element<'_, Message>> {
|
||||||
|
let has_selection = match self.active_tab() {
|
||||||
|
Some(Tab::Editor(tab)) => tab.editor.lock().unwrap().selection() != Selection::None,
|
||||||
|
Some(Tab::GitDiff(_)) => false,
|
||||||
|
None => false,
|
||||||
|
};
|
||||||
|
|
||||||
vec![menu_bar(
|
vec![menu_bar(
|
||||||
&self.core,
|
&self.core,
|
||||||
&self.config,
|
&self.config,
|
||||||
&self.config_state,
|
&self.config_state,
|
||||||
&self.key_binds,
|
&self.key_binds,
|
||||||
&self.projects,
|
&self.projects,
|
||||||
|
has_selection,
|
||||||
)]
|
)]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3055,23 +3091,25 @@ impl Application for App {
|
||||||
.on_focus(Message::FindFocused(false))
|
.on_focus(Message::FindFocused(false))
|
||||||
.on_auto_scroll(Message::AutoScroll)
|
.on_auto_scroll(Message::AutoScroll)
|
||||||
.on_changed(Message::TabChanged(tab_id))
|
.on_changed(Message::TabChanged(tab_id))
|
||||||
.has_context_menu(tab.context_menu.is_some())
|
.has_context_menu(tab.context_menu_open)
|
||||||
.on_context_menu(move |position_opt| {
|
.on_context_menu(move |open| Message::TabContextMenu(tab_id, open));
|
||||||
Message::TabContextMenu(tab_id, position_opt)
|
|
||||||
});
|
|
||||||
if self.config.highlight_current_line {
|
if self.config.highlight_current_line {
|
||||||
text_box = text_box.highlight_current_line();
|
text_box = text_box.highlight_current_line();
|
||||||
}
|
}
|
||||||
if self.config.line_numbers {
|
if self.config.line_numbers {
|
||||||
text_box = text_box.line_numbers();
|
text_box = text_box.line_numbers();
|
||||||
}
|
}
|
||||||
let mut popover = widget::popover(text_box);
|
let has_selection = tab.editor.lock().unwrap().selection() != Selection::None;
|
||||||
if let Some(point) = tab.context_menu {
|
let mut context_menu = widget::context_menu(
|
||||||
popover = popover
|
text_box,
|
||||||
.popup(menu::context_menu(&self.key_binds, tab_id))
|
Some(menu::context_menu(&self.key_binds, tab_id, has_selection)),
|
||||||
.position(widget::popover::Position::Point(point));
|
)
|
||||||
|
.on_close(Message::TabContextMenu(tab_id, false))
|
||||||
|
.on_surface_action(Message::Surface);
|
||||||
|
if let Some(window_id) = self.core().main_window_id() {
|
||||||
|
context_menu = context_menu.window_id(window_id);
|
||||||
}
|
}
|
||||||
tab_column = tab_column.push(popover);
|
tab_column = tab_column.push(context_menu);
|
||||||
if self.config.vim_bindings {
|
if self.config.vim_bindings {
|
||||||
let status = {
|
let status = {
|
||||||
let editor = tab.editor.lock().unwrap();
|
let editor = tab.editor.lock().unwrap();
|
||||||
|
|
@ -3307,12 +3345,15 @@ impl Application for App {
|
||||||
|
|
||||||
let mut subscriptions = vec![
|
let mut subscriptions = vec![
|
||||||
event::listen_with(|event, status, window_id| match event {
|
event::listen_with(|event, status, window_id| match event {
|
||||||
event::Event::Keyboard(keyboard::Event::KeyPressed { modifiers, key, .. }) => {
|
event::Event::Keyboard(keyboard::Event::KeyPressed {
|
||||||
match status {
|
modifiers,
|
||||||
event::Status::Ignored => Some(Message::Key(modifiers, key)),
|
physical_key,
|
||||||
event::Status::Captured => None,
|
key,
|
||||||
}
|
..
|
||||||
}
|
}) => match status {
|
||||||
|
event::Status::Ignored => Some(Message::Key(modifiers, physical_key, key)),
|
||||||
|
event::Status::Captured => None,
|
||||||
|
},
|
||||||
event::Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) => {
|
event::Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) => {
|
||||||
Some(Message::Modifiers(modifiers))
|
Some(Message::Modifiers(modifiers))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
115
src/menu.rs
115
src/menu.rs
|
|
@ -1,18 +1,15 @@
|
||||||
// SPDX-License-Identifier: GPL-3.0-only
|
// SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
use cosmic::widget::menu::Item as MenuItem;
|
use cosmic::widget::menu::Item as MenuItem;
|
||||||
|
use cosmic::widget::menu::action::MenuAction;
|
||||||
use cosmic::widget::menu::key_bind::KeyBind;
|
use cosmic::widget::menu::key_bind::KeyBind;
|
||||||
use cosmic::{
|
use cosmic::{
|
||||||
Element,
|
Element,
|
||||||
app::Core,
|
app::Core,
|
||||||
iced::{
|
|
||||||
Background, Border, Length, advanced::widget::text::Style as TextStyle, widget::column,
|
|
||||||
},
|
|
||||||
theme,
|
|
||||||
widget::{
|
widget::{
|
||||||
self, divider,
|
self,
|
||||||
menu::{ItemHeight, ItemWidth, menu_button},
|
menu::{ItemHeight, ItemWidth},
|
||||||
responsive_menu_bar, segmented_button, space,
|
responsive_menu_bar, segmented_button,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use std::{collections::HashMap, path::PathBuf, sync::LazyLock};
|
use std::{collections::HashMap, path::PathBuf, sync::LazyLock};
|
||||||
|
|
@ -116,64 +113,49 @@ fn format_recent_menu_path(path: &PathBuf, home_dir_opt: Option<&PathBuf>) -> St
|
||||||
truncate_middle(&display, RECENT_MENU_LABEL_MAX_CHARS)
|
truncate_middle(&display, RECENT_MENU_LABEL_MAX_CHARS)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn context_menu<'a>(
|
/// A context menu action dispatched to the tab the menu was opened on.
|
||||||
|
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||||
|
pub struct TabAction(pub segmented_button::Entity, pub Action);
|
||||||
|
|
||||||
|
impl MenuAction for TabAction {
|
||||||
|
type Message = Message;
|
||||||
|
|
||||||
|
fn message(&self) -> Message {
|
||||||
|
Message::TabContextAction(self.0, self.1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn context_menu(
|
||||||
key_binds: &HashMap<KeyBind, Action>,
|
key_binds: &HashMap<KeyBind, Action>,
|
||||||
entity: segmented_button::Entity,
|
entity: segmented_button::Entity,
|
||||||
) -> Element<'a, Message> {
|
has_selection: bool,
|
||||||
fn key_style(theme: &cosmic::Theme) -> TextStyle {
|
) -> Vec<widget::menu::Tree<Message>> {
|
||||||
let mut color = theme.cosmic().background.component.on;
|
let item =
|
||||||
color.alpha *= 0.75;
|
|label: String, action: Action| MenuItem::Button(label, None, TabAction(entity, action));
|
||||||
TextStyle {
|
let optional = |label: String, action: Action, enabled: bool| {
|
||||||
color: Some(color.into()),
|
if enabled {
|
||||||
|
MenuItem::Button(label, None, TabAction(entity, action))
|
||||||
|
} else {
|
||||||
|
MenuItem::ButtonDisabled(label, None, TabAction(entity, action))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
let menu_item = |menu_label, menu_action| {
|
|
||||||
let mut key = String::new();
|
|
||||||
for (key_bind, key_action) in key_binds.iter() {
|
|
||||||
if key_action == &menu_action {
|
|
||||||
key = key_bind.to_string();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
menu_button(vec![
|
|
||||||
widget::text(menu_label).into(),
|
|
||||||
space::horizontal().into(),
|
|
||||||
widget::text(key)
|
|
||||||
.class(theme::Text::Custom(key_style))
|
|
||||||
.into(),
|
|
||||||
])
|
|
||||||
.on_press(Message::TabContextAction(entity, menu_action))
|
|
||||||
};
|
};
|
||||||
|
|
||||||
widget::container(column!(
|
let key_binds: HashMap<KeyBind, TabAction> = key_binds
|
||||||
menu_item(fl!("undo"), Action::Undo),
|
.iter()
|
||||||
menu_item(fl!("redo"), Action::Redo),
|
.map(|(key_bind, action)| (key_bind.clone(), TabAction(entity, *action)))
|
||||||
divider::horizontal::light(),
|
.collect();
|
||||||
menu_item(fl!("cut"), Action::Cut),
|
widget::menu::items(
|
||||||
menu_item(fl!("copy"), Action::Copy),
|
&key_binds,
|
||||||
menu_item(fl!("paste"), Action::Paste),
|
vec![
|
||||||
menu_item(fl!("select-all"), Action::SelectAll),
|
item(fl!("undo"), Action::Undo),
|
||||||
))
|
item(fl!("redo"), Action::Redo),
|
||||||
.padding(1)
|
MenuItem::Divider,
|
||||||
//TODO: move style to libcosmic
|
optional(fl!("cut"), Action::Cut, has_selection),
|
||||||
.style(|theme| {
|
optional(fl!("copy"), Action::Copy, has_selection),
|
||||||
let cosmic = theme.cosmic();
|
item(fl!("paste"), Action::Paste),
|
||||||
let component = &cosmic.background.component;
|
item(fl!("select-all"), Action::SelectAll),
|
||||||
widget::container::Style {
|
],
|
||||||
icon_color: Some(component.on.into()),
|
)
|
||||||
text_color: Some(component.on.into()),
|
|
||||||
background: Some(Background::Color(component.base.into())),
|
|
||||||
border: Border {
|
|
||||||
radius: cosmic.radius_s().map(|x| x + 1.0).into(),
|
|
||||||
width: 1.0,
|
|
||||||
color: component.divider.into(),
|
|
||||||
},
|
|
||||||
..Default::default()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.width(Length::Fixed(240.0))
|
|
||||||
.into()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn menu_bar<'a>(
|
pub fn menu_bar<'a>(
|
||||||
|
|
@ -182,6 +164,7 @@ pub fn menu_bar<'a>(
|
||||||
config_state: &ConfigState,
|
config_state: &ConfigState,
|
||||||
key_binds: &HashMap<KeyBind, Action>,
|
key_binds: &HashMap<KeyBind, Action>,
|
||||||
projects: &Vec<(String, PathBuf)>,
|
projects: &Vec<(String, PathBuf)>,
|
||||||
|
has_selection: bool,
|
||||||
) -> Element<'a, Message> {
|
) -> Element<'a, Message> {
|
||||||
//TODO: port to libcosmic
|
//TODO: port to libcosmic
|
||||||
let menu_tab_width = |tab_width: u16| {
|
let menu_tab_width = |tab_width: u16| {
|
||||||
|
|
@ -274,8 +257,16 @@ pub fn menu_bar<'a>(
|
||||||
MenuItem::Button(fl!("undo"), None, Action::Undo),
|
MenuItem::Button(fl!("undo"), None, Action::Undo),
|
||||||
MenuItem::Button(fl!("redo"), None, Action::Redo),
|
MenuItem::Button(fl!("redo"), None, Action::Redo),
|
||||||
MenuItem::Divider,
|
MenuItem::Divider,
|
||||||
MenuItem::Button(fl!("cut"), None, Action::Cut),
|
if has_selection {
|
||||||
MenuItem::Button(fl!("copy"), None, Action::Copy),
|
MenuItem::Button(fl!("cut"), None, Action::Cut)
|
||||||
|
} else {
|
||||||
|
MenuItem::ButtonDisabled(fl!("cut"), None, Action::NoOp)
|
||||||
|
},
|
||||||
|
if has_selection {
|
||||||
|
MenuItem::Button(fl!("copy"), None, Action::Copy)
|
||||||
|
} else {
|
||||||
|
MenuItem::ButtonDisabled(fl!("copy"), None, Action::NoOp)
|
||||||
|
},
|
||||||
MenuItem::Button(fl!("paste"), None, Action::Paste),
|
MenuItem::Button(fl!("paste"), None, Action::Paste),
|
||||||
MenuItem::Button(fl!("select-all"), None, Action::SelectAll),
|
MenuItem::Button(fl!("select-all"), None, Action::SelectAll),
|
||||||
MenuItem::Divider,
|
MenuItem::Divider,
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
// SPDX-License-Identifier: GPL-3.0-only
|
// SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
use cosmic::{
|
use cosmic::{iced::advanced::graphics::text::font_system, widget::icon};
|
||||||
iced::{Point, advanced::graphics::text::font_system},
|
|
||||||
widget::icon,
|
|
||||||
};
|
|
||||||
use cosmic_files::mime_icon::{FALLBACK_MIME_ICON, mime_for_path, mime_icon};
|
use cosmic_files::mime_icon::{FALLBACK_MIME_ICON, mime_for_path, mime_icon};
|
||||||
use cosmic_text::{Attrs, Buffer, Cursor, Edit, Selection, Shaping, SyntaxEditor, ViEditor, Wrap};
|
use cosmic_text::{Attrs, Buffer, Cursor, Edit, Selection, Shaping, SyntaxEditor, ViEditor, Wrap};
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
|
|
@ -51,7 +48,7 @@ pub struct EditorTab {
|
||||||
pub path_opt: Option<PathBuf>,
|
pub path_opt: Option<PathBuf>,
|
||||||
attrs: Attrs<'static>,
|
attrs: Attrs<'static>,
|
||||||
pub editor: Mutex<ViEditor<'static, 'static>>,
|
pub editor: Mutex<ViEditor<'static, 'static>>,
|
||||||
pub context_menu: Option<Point>,
|
pub context_menu_open: bool,
|
||||||
pub zoom_adj: i8,
|
pub zoom_adj: i8,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,7 +72,7 @@ impl EditorTab {
|
||||||
path_opt: None,
|
path_opt: None,
|
||||||
attrs,
|
attrs,
|
||||||
editor: Mutex::new(ViEditor::new(editor)),
|
editor: Mutex::new(ViEditor::new(editor)),
|
||||||
context_menu: None,
|
context_menu_open: false,
|
||||||
zoom_adj,
|
zoom_adj,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
100
src/text_box.rs
100
src/text_box.rs
|
|
@ -7,6 +7,7 @@ use cosmic::{
|
||||||
Border, Radians, Shell, Transformation,
|
Border, Radians, Shell, Transformation,
|
||||||
clipboard::Clipboard,
|
clipboard::Clipboard,
|
||||||
image,
|
image,
|
||||||
|
input_method::{Event as InputMethodEvent, InputMethod, Preedit, Purpose},
|
||||||
keyboard::{Key, key::Named},
|
keyboard::{Key, key::Named},
|
||||||
layout::{self, Layout},
|
layout::{self, Layout},
|
||||||
renderer::{self, Quad, Renderer as _},
|
renderer::{self, Quad, Renderer as _},
|
||||||
|
|
@ -16,6 +17,7 @@ use cosmic::{
|
||||||
operation::{self, Operation},
|
operation::{self, Operation},
|
||||||
tree,
|
tree,
|
||||||
},
|
},
|
||||||
|
window::Event as WindowEvent,
|
||||||
},
|
},
|
||||||
iced::{
|
iced::{
|
||||||
Color, Element, Length, Padding, Point, Rectangle, Size, Vector,
|
Color, Element, Length, Padding, Point, Rectangle, Size, Vector,
|
||||||
|
|
@ -49,7 +51,7 @@ pub struct TextBox<'a, Message> {
|
||||||
on_focus: Option<Message>,
|
on_focus: Option<Message>,
|
||||||
click_timing: Duration,
|
click_timing: Duration,
|
||||||
has_context_menu: bool,
|
has_context_menu: bool,
|
||||||
on_context_menu: Option<Box<dyn Fn(Option<Point>) -> Message + 'a>>,
|
on_context_menu: Option<Box<dyn Fn(bool) -> Message + 'a>>,
|
||||||
highlight_current_line: bool,
|
highlight_current_line: bool,
|
||||||
line_numbers: bool,
|
line_numbers: bool,
|
||||||
}
|
}
|
||||||
|
|
@ -105,10 +107,7 @@ where
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn on_context_menu(
|
pub fn on_context_menu(mut self, on_context_menu: impl Fn(bool) -> Message + 'a) -> Self {
|
||||||
mut self,
|
|
||||||
on_context_menu: impl Fn(Option<Point>) -> Message + 'a,
|
|
||||||
) -> Self {
|
|
||||||
self.on_context_menu = Some(Box::new(on_context_menu));
|
self.on_context_menu = Some(Box::new(on_context_menu));
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -127,6 +126,35 @@ where
|
||||||
self.on_focus = Some(on_focus);
|
self.on_focus = Some(on_focus);
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn input_method<'b>(
|
||||||
|
&self,
|
||||||
|
state: &'b State,
|
||||||
|
scale_factor: f32,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
) -> InputMethod<&'b str> {
|
||||||
|
if !state.is_focused {
|
||||||
|
return InputMethod::Disabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
let editor_pos = layout.position() + [self.padding.left, self.padding.top].into();
|
||||||
|
let (caret_x, caret_y) = state.caret_position;
|
||||||
|
InputMethod::Enabled {
|
||||||
|
cursor: Rectangle::new(
|
||||||
|
Point::new(
|
||||||
|
editor_pos.x
|
||||||
|
+ (caret_x as f32 + state.editor_offset_x.get() as f32) / scale_factor,
|
||||||
|
editor_pos.y + (caret_y as f32) / scale_factor,
|
||||||
|
),
|
||||||
|
Size::new(
|
||||||
|
1.0,
|
||||||
|
(self.metrics.scale(scale_factor).line_height) / scale_factor,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
purpose: Purpose::Normal,
|
||||||
|
preedit: state.preedit.as_ref().map(Preedit::as_ref),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn text_box<'a, Message>(
|
pub fn text_box<'a, Message>(
|
||||||
|
|
@ -794,7 +822,7 @@ where
|
||||||
let scrollbar_color = if pressed {
|
let scrollbar_color = if pressed {
|
||||||
// pressed_state_color, 0.5
|
// pressed_state_color, 0.5
|
||||||
cosmic_theme
|
cosmic_theme
|
||||||
.background
|
.background(theme.transparent)
|
||||||
.component
|
.component
|
||||||
.pressed
|
.pressed
|
||||||
.without_alpha()
|
.without_alpha()
|
||||||
|
|
@ -803,7 +831,7 @@ where
|
||||||
} else if hover {
|
} else if hover {
|
||||||
// hover_state_color, 0.2
|
// hover_state_color, 0.2
|
||||||
cosmic_theme
|
cosmic_theme
|
||||||
.background
|
.background(theme.transparent)
|
||||||
.component
|
.component
|
||||||
.hover
|
.hover
|
||||||
.without_alpha()
|
.without_alpha()
|
||||||
|
|
@ -890,7 +918,7 @@ where
|
||||||
let scrollbar_color = if pressed {
|
let scrollbar_color = if pressed {
|
||||||
// pressed_state_color, 0.5
|
// pressed_state_color, 0.5
|
||||||
cosmic_theme
|
cosmic_theme
|
||||||
.background
|
.background(theme.transparent)
|
||||||
.component
|
.component
|
||||||
.pressed
|
.pressed
|
||||||
.without_alpha()
|
.without_alpha()
|
||||||
|
|
@ -899,7 +927,7 @@ where
|
||||||
} else if hover {
|
} else if hover {
|
||||||
// hover_state_color, 0.2
|
// hover_state_color, 0.2
|
||||||
cosmic_theme
|
cosmic_theme
|
||||||
.background
|
.background(theme.transparent)
|
||||||
.component
|
.component
|
||||||
.hover
|
.hover
|
||||||
.without_alpha()
|
.without_alpha()
|
||||||
|
|
@ -1058,11 +1086,13 @@ where
|
||||||
Named::Backspace => {
|
Named::Backspace => {
|
||||||
delete_modifiers(&mut editor, Motion::LeftWord, *modifiers);
|
delete_modifiers(&mut editor, Motion::LeftWord, *modifiers);
|
||||||
editor.action(Action::Backspace);
|
editor.action(Action::Backspace);
|
||||||
|
editor.set_redraw(true);
|
||||||
shell.capture_event();
|
shell.capture_event();
|
||||||
}
|
}
|
||||||
Named::Delete => {
|
Named::Delete => {
|
||||||
delete_modifiers(&mut editor, Motion::RightWord, *modifiers);
|
delete_modifiers(&mut editor, Motion::RightWord, *modifiers);
|
||||||
editor.action(Action::Delete);
|
editor.action(Action::Delete);
|
||||||
|
editor.set_redraw(true);
|
||||||
shell.capture_event();
|
shell.capture_event();
|
||||||
}
|
}
|
||||||
Named::Tab => {
|
Named::Tab => {
|
||||||
|
|
@ -1101,6 +1131,33 @@ where
|
||||||
}
|
}
|
||||||
state.modifiers = *modifiers;
|
state.modifiers = *modifiers;
|
||||||
}
|
}
|
||||||
|
Event::InputMethod(event) => match event {
|
||||||
|
InputMethodEvent::Opened | InputMethodEvent::Closed => {
|
||||||
|
let metrics = self.metrics.scale(scale_factor);
|
||||||
|
state.preedit = matches!(event, InputMethodEvent::Opened).then(|| {
|
||||||
|
let mut preedit = Preedit::new();
|
||||||
|
preedit.text_size = Some(metrics.font_size.into());
|
||||||
|
preedit
|
||||||
|
});
|
||||||
|
}
|
||||||
|
InputMethodEvent::Preedit(content, selection) => {
|
||||||
|
if state.is_focused {
|
||||||
|
state.preedit = Some(Preedit {
|
||||||
|
content: content.to_owned(),
|
||||||
|
selection: selection.clone(),
|
||||||
|
text_size: Some(self.metrics.font_size.into()),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
InputMethodEvent::Commit(text) => {
|
||||||
|
if state.is_focused {
|
||||||
|
editor.start_change();
|
||||||
|
editor.insert_string(&text, None);
|
||||||
|
editor.finish_change();
|
||||||
|
shell.capture_event();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
Event::Mouse(MouseEvent::ButtonPressed(button)) => {
|
Event::Mouse(MouseEvent::ButtonPressed(button)) => {
|
||||||
if let Some(p) = cursor_position.position_in(layout.bounds()) {
|
if let Some(p) = cursor_position.position_in(layout.bounds()) {
|
||||||
state.is_focused = true;
|
state.is_focused = true;
|
||||||
|
|
@ -1207,14 +1264,9 @@ where
|
||||||
|
|
||||||
// Update context menu state
|
// Update context menu state
|
||||||
if let Some(on_context_menu) = &self.on_context_menu {
|
if let Some(on_context_menu) = &self.on_context_menu {
|
||||||
shell.publish((on_context_menu)(if self.has_context_menu {
|
shell.publish((on_context_menu)(
|
||||||
None
|
!self.has_context_menu && matches!(button, Button::Right),
|
||||||
} else {
|
));
|
||||||
match button {
|
|
||||||
Button::Right => Some(p),
|
|
||||||
_ => None,
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
shell.capture_event();
|
shell.capture_event();
|
||||||
|
|
@ -1336,6 +1388,12 @@ where
|
||||||
shell.capture_event();
|
shell.capture_event();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Event::Window(WindowEvent::RedrawRequested(_now)) => {
|
||||||
|
if state.is_focused {
|
||||||
|
state.caret_position = editor.cursor_position().unwrap_or(state.caret_position);
|
||||||
|
shell.request_input_method(&self.input_method(state, scale_factor, layout));
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1348,6 +1406,10 @@ where
|
||||||
shell.publish(on_changed.clone());
|
shell.publish(on_changed.clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if editor.redraw() {
|
||||||
|
shell.request_redraw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1385,6 +1447,8 @@ pub struct State {
|
||||||
scrollbar_h_rect: Cell<Option<Rectangle<f32>>>,
|
scrollbar_h_rect: Cell<Option<Rectangle<f32>>>,
|
||||||
handle_opt: Mutex<Option<image::Handle>>,
|
handle_opt: Mutex<Option<image::Handle>>,
|
||||||
shift_anchor: Mutex<Option<Cursor>>,
|
shift_anchor: Mutex<Option<Cursor>>,
|
||||||
|
caret_position: (i32, i32),
|
||||||
|
preedit: Option<Preedit>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl State {
|
impl State {
|
||||||
|
|
@ -1402,6 +1466,8 @@ impl State {
|
||||||
scrollbar_h_rect: Cell::new(None),
|
scrollbar_h_rect: Cell::new(None),
|
||||||
handle_opt: Mutex::new(None),
|
handle_opt: Mutex::new(None),
|
||||||
shift_anchor: Mutex::new(None),
|
shift_anchor: Mutex::new(None),
|
||||||
|
caret_position: (0, 0),
|
||||||
|
preedit: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue