Automatyczne domykanie cudzysłowów w treści posta

Automatyczne domykanie cudzysłowów w treści posta
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 19 godzin
10

Disclaimer: nigdy nie pamiętam czy mówi się "cudzysłоwia", "cudzysłowów" czy jakoś tam inaczej.
Anyways.
Edytor próbuje być za mądry próbując domykać cudzysłowy automatycznie. To nawet działa przy liniowym pisaniu tekstu, od razu z premedytowanymi cudzysłowami, ale jest horrorem kiedy tekst się edytuje, wycina i przekleja fragmenty, cudzysłowy dodaje albo usuwa itp. Po prostu cały czas trzeba walczyć z tym automatem.

Feature request by dało się to wyłączyć :)

edytowany 3x, ostatnio: Riddle
BartoSAS
Automatyczne domykanie (kogo? czego?) cudzysłowu ^^
hauleth
@Azarien: "cudzysłów" odmieniasz tak samo jak "rów".
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12163
8

I to samo, jeśli chodzi o nawiasy. Prosiłem kilkakrotnie, aby wyłaczyć funkcję uzupełniania nawiasów różnego typu, bo utrudnia to pracę z tekstem, a szczególnie w przypadku tworzenia linków i edytowania treści. Przez to, że edytor ciągle się wymądrza, muszę 2x więcej edycji robić.

I tak samo — feature request by dało się to wyłączyć. ;)


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0

Super, że się wypowiadacie, będzie to pomocne przy nowych updateach edytora.

Ale pytanko @Azarien i @furious programming - czy macie jakiś pomysł, jak można by to usprawnić, oprócz całkowitego usuwania? Np może moglibyście podać przykłady treści które macie w edytorze, i co chcecie z nimi zrobić tak żeby edytor nie wchodził w grę? Ja sam używam często automatycznego wstawiania cudzysłowów i nawiasów, i wiem że inni też używają.

Azarien napisał(a):

Edytor próbuje być za mądry próbując domykać cudzysłowy automatycznie. To nawet działa przy liniowym pisaniu tekstu, od razu z premedytowanymi cudzysłowami, ale jest horrorem kiedy tekst się edytuje, wycina i przekleja fragmenty, cudzysłowy dodaje albo usuwa itp. Po prostu cały czas trzeba walczyć z tym automatem.

@Azarien: Mógłbyś podać przykład treści jakiegoś posta, który chciałbymś edytorwać, oraz opisać co takiego edytor robi co jest niespodziewane/nieakceptowalne?

furious programming napisał(a):

I to samo, jeśli chodzi o nawiasy. Prosiłem kilkakrotnie, aby wyłaczyć funkcję uzupełniania nawiasów różnego typu, bo utrudnia to pracę z tekstem, a szczególnie w przypadku tworzenia linków i edytowania treści. Przez to, że edytor ciągle się wymądrza, muszę 2x więcej edycji robić.

@furious programming: Co do linków, łatwo możnaby zrobić, że jeśli jak znak jest częścią Markdownu linka lub obrazka, to po prostu nic się nie dodaje samo - jedynie "czysty tekst". Czy to pomogłoby Twoim problemom z walczeniem z edytorem?



Jeden pomysł jaki mam, to taki że jak się ma słowo w nawiasie i kursor zaraz przed zamykającym, o tak (pałka | to kursor),:

Kopiuj
(word|)

się kliknie (, to faktycznie edytor powinien wstawić (word(|)), bo aktualnie wstawia (word(|), przez co jak się to potem zmaże, to zostaje właśnie (word|.

To jest do poprawny na pewno.

edytowany 3x, ostatnio: Riddle
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12163
1

Nie mam pomysłu na to jak to usprawnić. Trudno żeby miało to sens, skoro edytor uważa, że wie lepiej co chce zrobić użytkownik. IMO jeśli już domykać cudzysłowy czy nawiasy, to tylko wtedy kiedy użytkownik wyraził na to zgodę (czyli odblokował sobie te funkcje w ustawieniach profilowych). Ewentualnie można ograniczyć zasięg tych funkcji do samych znaczników kodu.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:2 dni
8

Ja nigdy nie rozumiałem automatycznego zamykania nawiasów i cudzysłowów albo nie umiem z nich korzystać. Przecież żeby z tego "wyjść" to i tak muszę nacisnąć strzałkę w prawo albo end. Jaką mi to robi różnicę czy nacisnę ten klawisz czy inny żeby zamknąć nawias. Chodzi o to że nie trzeba przytrzymywać shifta?

Co innego automatyczne pakowanie w nawiasy po zaznaczeniu tekstu - tu można faktycznie oszczędzić naciśnięcie jednego klawisza i bywa to przydatne. Ale dodawanie nawiasów i cudzysłowów zawsze mi tylko przeszkadzało.

Azarien napisał(a):

Edytor próbuje być za mądry

furious programming napisał(a):

edytor ciągle się wymądrza

po tatusiu :D


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 1x, ostatnio: obscurity
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
obscurity napisał(a):

Przecież żeby z tego "wyjść" to i tak muszę nacisnąć strzałkę w prawo albo end.

...albo cudzysłów.

Czyli dokładnie to samo, co byś wcisnął gdyby nie było automatycznego zamykania.

edytowany 1x, ostatnio: Riddle
obscurity
no tego już nie pisałem bo to w takim razie zupełnie żadne ułatwienie
Riddle
Nie napisałeś tego bo osłabiłoby to Twój argument.
obscurity
W jaki sposób?
Riddle
Jeśli wynik jest taki sam, to co Ci przeszkadza?
obscurity
no skoro i tak muszę coś nacisnąć to po co to? Jedyna sytuacja w której by to mogło być pomocne to kiedy zamknięcie nawiasu jest końcem wypowiedzi a to się prawie nie zdarza, za to zdarza się sporo sytuacji w której nie chcemy żeby się coś wstawiało.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
furious programming napisał(a):

Nie mam pomysłu na to jak to usprawnić. Trudno żeby miało to sens, skoro edytor uważa, że wie lepiej co chce zrobić użytkownik. IMO jeśli już domykać duszysłowy czy nawiasy, to tylko wtedy kiedy użytkownik wyraził na to zgodę (czyli odblokował sobie te funkcje w ustawieniach profilowych). Ewentualnie można ograniczyć zasięg tych funkcji do samych znaczników kodu.

A mógłbyś pokazać przykład jakiejś treści, oraz gdzie masz kursor, co kliknąłeś, i czemu to co edytor robi jest słabe? Wtedy coś wymyślimy.

Jestem niechętny żeby całkowicie usunąć TĘ funkcję, bo niektórzy stosują taki trick:
",",ArrowLeft żeby wstawić sobie dwa cudzysłowy i kursor w środku. A jeśli ktoś pisze ", treść, ", to co z tego że mu się doda.

@furious programming: Domyślam się, że czasem wstawiasz cudzysłów przed jakieś słowo, i wtedy nie chcesz żeby się pojawił dwa razy? Możemy dodać fixa, że jak kursor jest zaraz przed jakimś słowem, to wtedy się nie dodaje dwa razy znak, co Ty na to? Chyba że masz jeszcze jakiś inny case.

edytowany 2x, ostatnio: Riddle
Zobacz pozostałe 3 komentarze
Riddle
krok pierwszy, napisać parser języka polskiego.
Marooned
Poza tym w Twoim przykładzie to raczej s/\btą (\wę)\b/tę $1/ ;)
Riddle
znalazłęm parser polskiego, słownik ma 750Mb. Urośnie trochę bundle size apki na 4p.
Marooned
Postawisz osobny serwis i tyle ;)
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:2 dni
0
Riddle napisał(a):

A mógłbyś pokazać przykład jakiejś treści, oraz gdzie masz kursor, co kliknąłeś, i czemu to co edytor robi jest słabe? Wtedy coś wymyślimy.

na przykład chcesz napisać dwa zagnieżdzone nawiasy, potem dajmy na to dopisać resztę kodu:

(())

Spróbuj to zrobić z zamkniętymi oczami i bez myślenia. Nie da się tego napisać szybko bo po każdym znaku trzeba przystanąć żeby zobaczyć co zrobił edytor. Czemu nie wstawił zamknięcia nawiasu w środku a wstawił na zewnętrz? Za to cofnięcie drugiego nawiasu (, (, Backspace daje wynik (.
Co jakbym chciał pisać sobie emotki w drugą stronę - (:?

Już nie mówiąc o tym ile było walki z edytorem żeby napisać tego posta


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 2x, ostatnio: obscurity
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0

Rozumiem że w określonych przypadkach nie chcemy żeby cudzysłów się dodał. Wystarczy określić te miejsca, i zmienić edytor tak żeby nie wstawiał wtedy cudzysłowów. To lepsze wyjście niż po prostu wyłączenie feature'y.

Kolejny problem jaki widzę, to jak ktoś chce napisać taki tekst: `"`, to przez automatyczne wstawianie cudzysłowów pisze `"|"`. Można by dodać kolejnego checka - jeśli po lewej stronie od naszego znaku znajduje się `, `` lub ```, to nie wstawia dodatkowego znaku.

edytowany 1x, ostatnio: cerrato
Althorion
Moderator C/C++
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 2 godziny
  • Postów:1603
0
Riddle napisał(a):

Rozumiem że w określonych przypadkach nie chcemy żeby cudzysłów się dodał. Wystarczy określić te miejsca, i zmienić edytor tak żeby nie wstawiał wtedy cudzysłowów. To lepsze wyjście niż po prostu wyłączenie feature'y.

Kolejny problem jaki widzę, to jak ktoś chce napisać taki tekst: `"`, to przez automatyczne wstawianie cudzysłowów pisze `"|"`. Można by dodać kolejnego checka - jeśli po lewej stronie od naszego znaku znajduje się `, `` lub ```, to nie wstawia dodatkowego znaku.

OK — podpowiadam jedno z takich miejsc: u mnie w postach. Jeśli możesz, to dodaj proszę tego checka na tę ewentualność.

Zobacz pozostałe 6 komentarzy
Riddle
Czyli tak, według Ciebie wyjścia są takie: "Zostawić tak jak jest" albo "Usunąć całkiem cały feature". Bardzo rozsądne podejście. Ale czekaj! Mam lepsze! Naprawić tak, żeby każdemu pasowało.
Althorion
Tak. Więc, jak pisałem, możesz otworzyć ankietę lub w inny sposób dowiedzieć się, ile osób to cieszy, a ile smuci; albo tych drugich olać z góry. I tutaj nie ma czego naprawiać — było już parę edytorów, które mnie w ten sposób próbowały uszczęśliwić, popróbowałem, czy się nie przyzwyczaję, doszedłem do wniosku, że mi z tym gorzej, więc wyłączam gdzie mogę, i unikam gdzie nie mogę.
Althorion
Jak „każdemu”, to i mnie, a mnie będzie pasować najbardziej wtedy, jak to wyłączę. Stąd mój feature request — pozwól mi to wyłączyć.
Riddle
Wrzucę poprawkę że domykanie cudzysłowów się nie odpala zaraz po ` oraz zaraz przed literą. Pouzywaj, i zobacz czy nadal Ci nie pasuje. Do tego czasu wstrzymajmy rozmowę.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 19 godzin
3
Riddle napisał(a):

Jestem niechętny żeby całkowicie usunąć tą funkcję, bo niektórzy stosują taki trick:
",",ArrowLeft żeby wstawić sobie dwa cudzysłowy i kursor w środku. A jeśli ktoś pisze ", treść, ", to co z tego że mu się doda.

Wydaje mi się że jedyne miejsce gdzie dodanie drugiego " powinno zostać to w sytuacji gdy użytkownik naciśnie " na samym końcu tekstu posta. Jeśli pierwszy " jest wstawiany gdziekolwiek indziej (w środku tekstu) to nie uzupełniać bo użytkownik robi coś dziwnego i nie sposób odgadnąć jego intencje.
To samo z nawiasami.

Jeśli będzie to działać dobrze, to można się pokusić o domykanie oraz znakiem , ale chyba tylko ja ich na tym forum używam :)

edytowany 3x, ostatnio: Azarien
Zobacz pozostały 1 komentarz
obscurity
A skąd wy bierzecie te znaki? Jakieś makro na klawiaturze?
Azarien
ja mam wszystko pod prawym altem. na przykład "—" jest pod AltGr + =. układ klawiatury qwerty Grzegorza Jagodzińskiego, do wygóglania.
flowCRANE
Mam podobnie, wszystko wstawiane z użyciem AltGr. @obscurity: jeśli też tak chcesz, to możesz sobie pobrać narzędzie Microsoft Keyboard Layout Creator i stworzyć sobie dowolne zmapować klawiaturę (z podglądem co i jak się wpisuje), a później wygenerować instalator języka klawiatury.
Althorion
A ja jestem linuksiarzem i mam compose key zbindowany. Potem po prostu compose, ,, " i mam , itd. Mam też spację nierozdzielającą pod Shift + , też polecam.
Ktos
Pod Windows jest WinCompose, też polecam, idealne do wstawiania najróżniejszych dziwnych znaczków.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Azarien napisał(a):

Wydaje mi się że jedyne miejsce gdzie dodanie drugiego " powinno zostać to w sytuacji gdy użytkownik naciśnie " na samym końcu tekstu posta. Jeśli pierwszy " jest wstawiany gdziekolwiek indziej (w środku tekstu) to nie uzupełniać bo użytkownik robi coś dziwnego i nie sposób odgadnąć jego intencje.
To samo z nawiasami.

Koniec posta to jest zbyt arbitralna bariera.

Bo, jeśli ktoś pisze w środku posta, ale na końcu paragrafu, np tak:

Kopiuj
One sentence one sentence, one sentence one sentence.

Two sen|

Three sentence, three sentence sentence, three sentence sentence.

To na końcu takiego paragrafu również domykanie cudzysłowów powinno działać.

@Azarien: mogę mieć do Ciebie prośbę? Następnym razem jak będziesz pisał coś na forum, i zauważysz sytuację w której edytor dodał cudzysłów gdzie niechcesz, mógłbyś wkleić screen lub treść tego posta, i napisać w którym miejscu edytor zrobił coś źle? Będziemy mogli wtedy z tego wydedukować jaka treść powinna być "nie ruszana".

Bo inaczej to jest wróżenie z fusów gdzie automatyczne wstawianie powinno być, a gdzie nie.

edytowany 4x, ostatnio: Riddle
Azarien
Postaram się zwrócić na to uwagę. Temat zacząłem po tym jak podczas pisania jednego posta musiałem kilka razy poprawiać automat, ale nie zwracałem szczególnej uwagi jakie to były okoliczności.
Riddle
@Azarien: Ok, dzięki, będę czekał.
Althorion
Moderator C/C++
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 2 godziny
  • Postów:1603
0
Riddle napisał(a):

Bo inaczej to jest wróżenie z fusów gdzie automatyczne wstawianie powinno być, a gdzie nie.

Sugestia — tak jak Azarien pisał w swoim oryginalnym poście — nie wróżyć, tylko zostawić wybór użytkownikowi.

Riddle
To jest skomplikowany feature, trudny do dodania, wymagający zmian nie tylko w edytorze, ale również w widoku, na serverze i w bazie, zeby pamiętać ustawiania userów. Nie sądzę że zostanie dodany w bliskiej lub dalekiej przyszłości.
Riddle
Więc pozwól sobie pomóc. Znajdziemy miejsca w których edytor nie powinien dodawać cudzysłowów, i zadaptujemy je tak żeby zachowywał się zgodnie z oczekiwaniami.
Althorion
Szkoda. Miałem nadzieję, że będzie prostsze, niż polowanie na wyjątki i ifologia, ale skoro nie, to jasne.
Riddle
"Polowanie na wyjątki i ifologia" to jest sposób w jaki robisz dobre oprogramowanie, a nie automatyczne usuwanie featureów dopóki nie masz drugiej <textarea/>. Jeśli nie polujesz na edge case'y, to nie wiesz że istnieją, ergo nie handlujesz ich, ergo Twoje oprogramowanie nie jest odporne na nie, ergo Twój soft ssie.
obscurity
Po co to pamiętać i zapisywać w bazie? Wystarczy localstorage i pstryczek w widoku, najwyżej trzeba będzie ustawić jeszcze raz po wyczyszczeniu przeglądarki. Żaden problem i lepsze to niż nic. A z tego co widzę to nikt w ogóle poza Tobą nie chce tego więc można domyślnie wyłączyć. Zawsze można zrobić ankiete. A jak już będzie mechanizm customizacji to będę miał parę propozycji
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Azarien napisał(a):

Jeśli będzie to działać dobrze, to można się pokusić o domykanie oraz znakiem , ale chyba tylko ja ich na tym forum używam :)

No problemo.

PS: @Azarien Czyli jak ktoś wpisze znak to ma go domknąć tym , i jak ktoś wpisze to też ma go domknąć tym ?

edytowany 1x, ostatnio: Riddle
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
2

Wydałem kolejną wersję, edytor 1.12.0, na razie dostępny na: https://4playeditor.net/

PS: Jest już na https://4programmers.dev/ Mam nadzieję że to jest dobry krok w przód do rozwiązania bolączek z edytorem. Dajcie znać co myślicie.

Zmiany:

  • Zmiany związane z automatycznym domykaniem cudzysłowi:
    • Wcześniej domykanie nawiasów nie był włączane na końcu słowa, ale było na początku słowa. Teraz jest wyłączone zarówno na początku jak i na końcu słowa.
    • Wpisanie ( przed nawiasem, teraz faktycznie dodaje ten nawias (czyli jak klikniemy (+Backspace to zostanie to co było, a nie "ucięty klawisz")
    • Pisanie oraz ( ) wewnątrz <kbd> nie włącza automatycznego zamykania nawiasów (czyli jak wpiszemy ( w <kbd> to dostaniemy <kbd>(</kbd>, zamiast poprzednio <kbd>()</kbd>).
    • Wpisanie znaków ( oraz [ zaraz po kodzie (czyli np ``() nie domyka nawiasów
    • Wpisanie dwa razy: [, [ da nam [[]] (zamiast poprzednio [[])
    • Wpisanie dwa razy: (, ( da nam (()) (zamiast poprzednio (()))
    • Klawisz Delete nie działa w żaden sposób na usuwanie podwójnych nawiasów więc jest "bezpieczniejszy".
  • Zmiany związane z <kbd> (na prośbę @furious programming):
    • Dowolone są wszelkie rodzaje klawiszy w <kbd>, również LPM. Wszystko oprócz spacji, więc teraz będzie działał np <kbd>asdxcvxcvxcvbvxcb</kbd>
    • Poprawiłem działanie kontrolki do klawiszy, żeby faktycznie mogła zamienić zaznaczone znaki asd na <kbd>asd</kbd> - tak samo, zamieni wszystko oprócz spacji

Nadal podtrzymuje swoje zdanie, że powinniśmy naprawić działanie automatycznego domykania żeby było dobrze, zamiast usuwać feature.

edytowany 9x, ostatnio: Riddle
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12163
1
Riddle napisał(a):

Nadal podtrzymuje swoje zdanie, że powinniśmy naprawić działanie automatycznego domykania żeby było dobrze, zamiast usuwać feature.

Jeśli nadal coś działa nienajlepiej, to tak, pasuje to naprawić. Jednak nadal podtrzymuję, aby mi nie wciskać do gardła ficzerów, z których korzystać nie chcę i które mnie notorycznie irytują. Dodanie paru opcji do panelu ustawień użytkownika to raczej nie jest problem. Dlatego czekam z niecierpliwością na nowe kontrolki, bo z tego co widzę, nadal edytor wstawia mi znaki w treści, których nie chcę. ;)


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1
furious programming napisał(a):

Dlatego czekam z niecierpliwością na nowe kontrolki, bo z tego co widzę, nadal edytor wstawia mi znaki w treści, których nie chcę. ;)

Ale jeszcze nie było deploy'u na 4programmers.net.

Nowa wersja jest na razie tylko na 4programmers.dev. Możesz sprawdzić tam.

PS: Z tego co mówi @Adam Boduch to wersji 1.12.0 raczej nie będzie na https://4programmers.net/ przed jutrem.

furious programming napisał(a):

Dodanie paru opcji do panelu ustawień użytkownika to raczej nie jest problem.

Nie wiem skąd to przekonanie, bo nakład pracy żeby dodać takie włączalne/wyłączalne feature'y to byłby raczej spory. Dużo większy niż poprawka działania edytora.

Nie wspominając już o tym, żę teraz edytor ogarnia jeden rodzaj "komend" do ogarniania znaków ", ), etc. Gdyby dodac taki feature włączania i wyłączania, to wtedy po pierwsze trzeba by wspierać oba rodzaje, a po drugie zaprogramować ich przełączanie. To byłoby dużo więcej pracy.

furious programming napisał(a):
Riddle napisał(a):

Nadal podtrzymuje swoje zdanie, że powinniśmy naprawić działanie automatycznego domykania żeby było dobrze, zamiast usuwać feature.

Jeśli nadal coś działa nienajlepiej, to tak, pasuje to naprawić. Jednak nadal podtrzymuję, aby mi nie wciskać do gardła ficzerów, z których korzystać nie chcę i które mnie notorycznie irytują.

To proszę Cię już któryś raz - pokaż jakąś treść i opisz co takiego robi edytor co nie chcesz. Prosiłem o to już kilka razy w tym wątku, a konkretów nadal nie ma.
"Irytuje mnie" to nie jest dobry opis requirementu/buga/feature'a.

Dobrym opisem mogłoby być Kiedy mam w edytorze treść "[link](http://coś)" i kursor przed znakiem `[`, i klikam `"` to chciałbym żeby pojawił się raz, a nie dwa..

Narzekać umie każdy, napisać "Usuncie cały feature w p___du" też umie każdy. I mówić "to mnie irytuje" też jest łatwo. Bez konkretnego opisu co jest źle, to jest wróżenie z fusów z irytuje Pana @furious programming.

W ogóle temat jest dodatkowo śmieszny, bo jak wchodziło automatyczne domykanie cudzysłowów to feature leżał na .dev chyba z 10 dni (ponad tydzień), każdy miał szansę wejść i się wypowiedzieć czy mu pasuje taki feature czy nie, i nie słyszałem wtedy żadnych głosów przeciw.

edytowany 12x, ostatnio: Riddle
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12163
1
Riddle napisał(a):

Nie wspominając już o tym, żę teraz edytor ogarnia jeden rodzaj "komend" do ogarniania znaków ", ), etc. Gdyby dodac taki feature włączania i wyłączania, to wtedy po pierwsze trzeba by wspierać oba rodzaje, a po drugie zaprogramować ich przełączanie. To byłoby dużo więcej pracy.

Jeśli się powiedziało A, to trzeba powiedzieć B.

furious programming napisał(a):

To proszę Cię już któryś raz - pokaż jakąś treść i opisz co takiego robi edytor co nie chcesz. Prosiłem o to już kilka razy w tym wątku, a konkretów nadal nie ma.

Pisałem już wielokrotnie — wpisuję znak ( czy [ a edytor wstawia mi dodatkowo ) i ]. Nie chcę tego, nie chcę żeby mi się znaki same pojawiały w tekście, nieważne czy piszę treść posta, czy tworzę linki, czy uzupełniam kod w znacznikach dla kodu.

Jedyne co mnie interesuje to wstawianie znaczników Markdowna, jeśli sam wcisnę odpowiedni skrót.

"Irytuje mnie" to nie jest dobry opis requirementu/buga/feature'a.

Opis problemu dawałem wieloktornie, natomiast po to pisałem, że mnie irytuje jakaś tam funkcja, aby podkreślić, że korzystanie z edytora mija się z celem — bo zamiast dać mi wygodę pisania, marnuje mój czas na użeranie się z nim.

W ogóle temat jest dodatkowo śmieszny, bo jak wchodziło automatyczne domykanie cudzysłowów to feature leżał na .dev chyba z 10 dni (ponad tydzień), każdy miał szansę wejść i się wypowiedzieć czy mu pasuje taki feature czy nie, i nie słyszałem wtedy żadnych głosów przeciw.

Taa, bo ludzie tabunami walą na deva, żeby z radością sprawdzać każdą technologiczną nowinkę.

Z tego co pamiętam, nikt raczej nie wnioskował o dodanie funkcji autouzupełniania nawiasów, nie było też żadnej ankiety tutaj. Te funkcje dodałeś sam z własnej woli, więc nie miej pretensji do użytkowników, że narzekają na jej istnienie i nie chcą z niej korzystać. A z tego co można wywnioskować z wypowiedzi użytkowników, wielu w ogóle z tego nie korzysta — ani tutaj, ani w IDE — więc nie można tego traktować inaczej, niż zmuszania użytkowników do używania ficzerów, których nie chcą.

AFAIR edytor miał być jedynie rozbudowany do formy WYSIWYG, bez żadnych auto-cudów. Reszta bajerów miała być dostępna jedynie za pomocą specjalnych skrótów klawiszowych. Od samego pocztąku wyrażałem zadowolnie właśnie z formy WYSIWYG, i jednocześnie niezadowolenie praktycznie ze wszystkich funkcji automatycznie wstawiających znaki — zarówno nawiasy, jak i punkty listy (i pisałem dokładnie co się dzieje).

Może czas w końcu przyjąć do wiadomości, że większość użytkowników nie chce autouzupełniania nawiasów, więc zamiast kombinować jak zmienić jego działanie, po prostu czas tę funkcję usunąć albo faktycznie dać opcję jej wyłączenia? Bo możesz tę funkcję bądź jak zmienić, ale nadal fakt pozostanie faktem — znaki będa się pojawiać, choć nikt tego nie chce.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 4x, ostatnio: flowCRANE
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1
furious programming napisał(a):

To proszę Cię już któryś raz - pokaż jakąś treść i opisz co takiego robi edytor co nie chcesz. Prosiłem o to już kilka razy w tym wątku, a konkretów nadal nie ma.

Pisałem już wielokrotnie — wpisuję znak ( czy [ a edytor wstawia mi dodatkowo ) i ]. Nie chcę tego, nie chcę żeby mi się znaki same pojawiały w tekście, nieważne czy piszę treść posta, czy tworzę linki, czy uzupełniam kod w znacznikach dla kodu.

Czemu nie?

Przecież skoro otwierasz [ lub ( to najpewniej za chwilę będziesz musiał go zamknąć.

Noi też, żeby napisać np. tekst (hej), nie ważne czy automatyczne nawiasy są włączone czy nie, to robisz taką samą kombinacje klawiszy:

  • (, h, e, j, )

Więc na prawdę nie rozumiem, co Ci przeszkadza że one się dodają.

furious programming napisał(a):

A z tego co można wywnioskować z wypowiedzi użytkowników, wielu w ogóle z tego nie korzysta

Nikt się nie wypowiada o feature'ach które działają dobrze; albo o feature'ach które są pomocne/nikomu nie przeszkadzają.

furious programming napisał(a):

Może czas w końcu przyjąć do wiadomości, że większość użytkowników nie chce autouzupełniania nawiasów, więc zamiast kombinować jak zmienić jego działanie, po prostu czas tę funkcję usunąć albo faktycznie dać opcję jej wyłączenia? Bo możesz tę funkcję bądź jak zmienić, ale nadal fakt pozostanie faktem — znaki się pojawiają, choć nikt tego nie chce.

Na razie to czego jestem przekonany, to to że Ty tego nie chcesz.

Rozumiem, że Ty byś wolał edytor który nie robi nic. Nie robi nic na paste, nie robi nic jak się pisze, jak się klika backspace, enter, nic. Rozumiem to. Ale niektórzy użytkownicy lubią ten feature. Rozumiem że możesz być osobą która woli minimalizm, albo brak "magii".

Ale oprócz tego dochodzi kolejny efekt: Spotkałem się milion razy, z tym że podczas tworzenia edytora (który zeżarł już dobre kilkaset godzin żeby go zrobić), było około 50-60 różnych próśb żeby całkowicie usunąć jakąś jego cechę. Z moich obserwacji wynika jednak, że nie dlatego że cały feature był nieodpowiedni, tylko dlatego że jakiś jeden aspekt komuś nie pasował, i wystarczyło go poprawić żeby już było git. Tak np było z tabelkami, ostatnio właśnie z <kbd>, z kolorwaniem kodu, indentem na spacje/taby, zaznaczaniem linijki z Alt, i masą innych rzeczy które już nie pamiętam.

Ludzie mają prosty algorytm: "Nie podoba Ci się coś - usuń to". Z tych 60 próśb o usunięcie czegoś, chyba całkowicie weszło tylko usuwanie automatycznego usuwania wcięć przy wklejaniu kodu (tutaj kiler argumentem był język python w którym ciężko byłko odróżnić więcie od kodu). Pozostałe dało się naprawić tak, że nikomu nie przeszkadzały. "Smart paste" też bardzo wielu ludzi wkurzał, i wystarczyło zamienić Ctrl+Shift+V na Ctrl+V oraz zrobić tak że jak się coś kliknie w zaznaczeniu, to to zaznaczenie się zamienia w link. W tabelkach wystarczyło dopuścić ; jak i | do blueprintów. W <kbd> przeszkadzało Ci że dekoracja miga, więc zamiast usunąć feature kolorowania, dodałem fixik że każdy tekst (oprócz spacji) jest akceptowany. Znakomita większość requestów które zaczynały się od "usuń X", skończyło się na "fix X".

Dlatego tak silnie się opieram temu żeby po prostu "usunać" nawiasów. Najpierw spróbujmy zmienić automatyczne dodawanie tych znaków, tak żeby przeszkadzało mniej, potem możemy ograniczyć niektóre znaki (żeby np nie dodawało ( jak jesteśmy w paragrafie, zamiast wyłączać to całkiem). Jeśli na prawdę wyczerpiemy wszystkie możliwości naprawy tego, wtedy możliwe że nie zostanie nic innego jak tylko wyłączyć ten feature całkiem (co i tak się raczej nie stanie, bo dużo wcześniej się go wyłaczy tylko z tekstu inline, a zostawi w kodzie ``` np.).

edytowany 1x, ostatnio: Riddle
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Tuchów
  • Postów:12163
0
Riddle napisał(a):

Czemu nie?

A czemu Cię to tak bardzo interesuje? Skoro nie chcę to nie chcę — powód jest nieistotny.

Dalszej części nie chce mi się komentować, bo nie mam czasu na religijne dyskusje.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 19 godzin
1
Riddle napisał(a):
  • Dowolone są wszelkie rodzaje klawiszy w <kbd>, również LPM. Wszystko oprócz spacji, więc teraz będzie działał np <kbd>asdxcvxcvxcvbvxcb</kbd>

Jest możliwe że kbd załamie się na całkiem legitnej spacji na końcu wiersza, oraz że potencjalnie najedzie na inne kbd.

screenshot-20220915170902.png

obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:2 dni
0

Wszystkim nie dogodzisz, dlatego tak ważna jest możliwość customizacji, moim zdaniem niezbędna w takim rozwiązaniu. Narzucanie innym swoich preferencji jest "trochę" egoistyczne.

// edit: tu mam jeden przypadek w którym edytor mi przeszkodził - próbowałem zedytować post i objąć słowo "trochę" w cudzysłów. Edytor dodał drugi cudzysłów którego nie chciałem w tym miejscu i musiałem skasować. Zachowanie niespójne bo nie dodaje po znakach [a-z0-9], za to dodaje po ę. Fajnie by było też jakbym mógł zaznaczyć słowo i nacisnąć " (jak np w visual studio code)


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 2x, ostatnio: obscurity
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Azarien napisał(a):
Riddle napisał(a):
  • Dowolone są wszelkie rodzaje klawiszy w <kbd>, również LPM. Wszystko oprócz spacji, więc teraz będzie działał np <kbd>asdxcvxcvxcvbvxcb</kbd>

Jest możliwe że kbd załamie się na całkiem legitnej spacji na końcu wiersza, oraz że potencjalnie najedzie na inne kbd.

screenshot-20220915170902.png

No trochę dziwne, fakt. Spróbuję dodać żeby <kbd> nie robiło wrapa.

PS: @Azarien ale to już przecież jest w wyrenderowanym widoku, nie w edytorze?
PS2: @Azarien nie umiem zreprodukować tego co pokazałeś na screenie.

Wszystkim nie dogodzisz, dlatego tak ważna jest możliwość customizacji, moim zdaniem niezbędna w takim rozwiązaniu. Narzucanie innym swoich preferencji jest "trochę" egoistyczne.

Czym innym jest narzucanie komuś swoich preferencji, a czym innym jest usuwanie feature'a z edytora bo się nie podoba. A nie, czekaj.

edytowany 2x, ostatnio: Riddle
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 19 godzin
0
Riddle napisał(a):

No trochę dziwne, fakt. Spróbuję dodać żeby <kbd> nie robiło wrapa.

Żeby tylko nie rozwalało layoutu gdy ktoś wklei kilobajt tekstu w kbd ;)

No i zostaje kwestia list tego typu:

F1 rób to
F2 rób tamto

edytowany 2x, ostatnio: Azarien
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Azarien napisał(a):

No i zostaje kwestia list tego typu:

F1 rób to
F2 rób tamto

Chodzi o to że się nachodzą na siebie?

edytowany 1x, ostatnio: Riddle
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:2 dni
1
Riddle napisał(a):

Czym innym jest narzucanie komuś swoich preferencji, a czym innym jest usuwanie feature'a z edytora bo się nie podoba. A nie, czekaj.

No tak czym innym. Bo brak feature'a nikomu nie będzie przeszkadzał - będzie chciał ) to sobie naciśnie ) - już doszliśmy do tego że i tak trzeba nacisnąć jakiś klawisz, jeśli nie ten to inny żeby przesunąć kursor. Natomiast jeśli ktoś nie chciał tego znaku to musi go usunąć.

Ten feature dosłownie nic nie ułatwia, a w wielu przypadkach utrudnia edycję.


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0

Ten feature dosłownie nic nie ułatwia, a w wielu przypadkach utrudnia edycję.

Jeśli tak twierdzisz, to proszę, zaprezentuj przykład. Daj mi cokolwiek, co obrazuje faktycznie że edytor robi coś nie poprawnie. Inaczej do niczego nie dojdziemy.

obscurity
dałem przykład w poprzednim poście
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0

@obscurity: Chodzi o przykład taki jaki napisałem w poprzednim poście, coś takiego:

Riddle napisał(a):

Dobrym opisem mogłoby być Kiedy mam w edytorze treść "[link](http://coś)" i kursor przed znakiem `[`, i klikam `"` to chciałbym żeby pojawił się raz, a nie dwa..

obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:2 dni
1
Riddle napisał(a):

@obscurity: Chodzi o przykład taki jaki napisałem w poprzednim poście, coś takiego:

Riddle napisał(a):

Dobrym opisem mogłoby być Kiedy mam w edytorze treść "[link](http://coś)" i kursor przed znakiem `[`, i klikam `"` to chciałbym żeby pojawił się raz, a nie dwa..

Aaa, nie wiedziałem że rozmawiam z robotem. Ok - proszę:

Kiedy mam w edytorze treść "trochę rigczu nie zaszkodzi" i kursor po znaku ę, i klikam " to chciałbym żeby pojawił się raz, a nie dwa.

Kiedy mam w edytorze treść "<kbd>" i kursor po znaku > i klikam ( to chciałbym żeby pojawił się (, a nie ().


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 1x, ostatnio: obscurity
Riddle
nie wiedziałem że rozmawiam z robotem hamuj się z takimi odzywkami.
obscurity
no napisałem naturalnym językiem, kazałeś mi to przełożyć na wersję według jakiegoś szablonu
Riddle
chciałem żebyś opisał normalnie jakiego feature'a oczekujesz, a nie "wstawianie cudzysłowów jest głupie", bo mniej więcej tak brzmiały Twoje poprzednie posty. Nie musi być według żadnego szablonu, tylko żeby było widać o co chodzi. Teraz widze - chodzi Ci o domykanie cudzysłowów zaraz za znakiem, można tak było normalnie powiedzieć.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
obscurity napisał(a):

Kiedy mam w edytorze treść "trochę rigczu nie zaszkodzi" i kursor po znaku ę, i klikam " to chciałbym żeby pojawił się raz, a nie dwa.

Taki coś można wprowadzić. Właściwie już jest na https://4programmers.dev/, tylko nie działa ze znakami innymi niż /[a-z]/, zaraz wrzucę fixa.

obscurity napisał(a):

Kiedy mam w edytorze treść "<kbd>" i kursor po znaku > i klikam ( to chciałbym żeby pojawił się (, a nie ().

To już jest na https://4programmers.dev/

Jeszcze coś, czy tylko te dwa?

edytowany 2x, ostatnio: Riddle
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)