Giter Site home page Giter Site logo

alexey-t / cudatext Goto Github PK

View Code? Open in Web Editor NEW
2.3K 51.0 160.0 50.32 MB

Cross-platform text editor, written in Free Pascal

License: Mozilla Public License 2.0

HTML 0.18% Pascal 26.23% C 0.02% C++ 0.01% CSS 0.01% JavaScript 0.01% PHP 0.01% Python 73.29% Java 0.01% XSLT 0.01% Shell 0.19% VBScript 0.03% Classic ASP 0.01% Rust 0.01%
lazarus text-editor pascal cross-platform

cudatext's Introduction

cudatext's People

Contributors

akshgpt7 avatar alekid avatar alexey-t avatar artem3213212 avatar begasus avatar bogen85 avatar bscan avatar cauterite avatar d0vgan avatar dinkumoil avatar domain avatar eltonfabricio10 avatar faustocintra avatar freddii avatar halfbrained avatar hex16 avatar ildarkhasanshin avatar iramsoft avatar jczanfona avatar kvichans avatar luzpaz avatar memstream avatar thaidat avatar totalcaesar659 avatar veksha avatar vhanla avatar xbzzzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cudatext's Issues

Syntax text colors vanish after Save

После выполнения команды Сохранить расцветка текста исчезает до первого движения каретки

(wish) Duplicate selection

Желательно (как это в Син) изменить работу существующей команды duplicate line, чтобы она

  • когда нет выделения, дублировала строку
  • когда есть выделение, дублировала это выделение

(bug,API) One operation with many undos

Исходный текст

xy
ab

Изменение через консоль: ed.insert(1, 0, 'y\na')
Полученный текст

xy
a
y
ab

(Некорректность вставки обсуждается в #59)
Чтобы вернуть текст в исходное состояние сейчас нужно использовать три подряд команды undo. Должен работать один undo.

Replace

text: ddddddddddddddddddddddddddddd
find: dddddd
repl-with: --
In dialog press AltEnter 3 times: replace wrong

(wish) Add cmd to comment full line

Сейчас обе команды

  • comments: add line comment
  • comments: toggle line comment

вставляют для Питона знак комментария # перед первым непробельным символом в строке. Нужна команда,

  • comments: toggle full line comment

которая вставляет знак комментария в первую позицию

(wish) Dlg Find/Repl. Actions by Replace cur

Если нет найденного фрагмента, найти;
Если есть найденный фрагмент, то заменить и найти следующий

One operation with many undos

При "undo_grouped":false одна операция сдвига 10 строк приводит к 10(!) операциям отмены

Uncomfortable history combo

В полях FindWhat, ReplWith, в командной строке консоли работает история введенных значений. Работает не удобно:

  • После применения старого значения, оно перемещается в начало истории, а индекс просмотра остается там, откуда это значение извлекалось.
  • В результате, чтобы повторить предыдущий выбор, нужно перебирать историю почти до начала.

Нужно каждый раз начинать просмотр истории с последних примененных.

(bug,API) get_text_substr returns unnecessary chars

Если в возвращаемом значении есть концы строк (запрошен фрагмент из нескольких строк), то лишние символы \r и \n дописывается в конец результата

(bug,API) get_text_substr returns line without ends

Если выделить одну строку вместе с завершающим разделителем, то get_text_substr дает только текст строки, а завершающий разделитель отрезает.

Not actual menu View item

  • Тулбар отображается
  • В меню View видно [x]Toggle toolbar
  • Выбираю этот пунк меню
  • Тулбар прячется
  • В меню View все еще видно [x]Toggle toolbar

(wish) Different bgcolor for active tags in active/inactive group

Сейчас невозможно понять в каком редакторе фокус. Каретка слабо видима и может быть за границей.
Нужно

  • переименовать "tabs, active tab BG" в "tabs, active group active tab BG"
  • ввести новый цвет: "tabs, inactive group active tab BG"

{cols} shows '0' for small selection

При таком значении опции
"ui_stat_small_sel": "s=[{sel} x {cols}]",
при выделении в пределах одной строки отображается
s=[1 x 0]

Uncomfortable scroll after seach

Если результ поиска вниз находится за границей, то пока происходит такой скрол, что результат показывается на последней видимой строке. Это крайне не удобно -- все интересное не видно.
Нужно чтобы результат оказывался

  • либо сдвинут от верхней границы на настраиваемое число строк,
  • либо в центре

(wish) User actions for hotkeys conflict

  1. Выбрать один термин.
    • Диалог называется Command hotkeys
    • Сообщение о конфликте Commands have same shortcut
  2. В сообщении о конфликте есть только ОК. Должен быть выбор, основанный на явном вопросе, например, "Изменить назначение сочетаний?"
    • ДА (назначить сюда, там отменить)
    • НЕТ (оставить как было)
    • Отмена (вернуться к назначению сочетаний)

(wish,API) Add ed.pos2pos()

Нужна функция для конвертации между двумя координатами внутри строки:

  • от номера колонки к номеру символа
  • обратно

Например, с таким интерфейсом
col_pos = ed.pos2pos(smb_pos, row, SMB2COL)
smb_pos = ed.pos2pos(col_pos, row, COL2SMB)

(wish) Dlg Find/Repl. Hide by Esc or/and when dlg loses focus

  1. (вариант) Показывать диалог только когда у него есть фокус (как в Субл)
  2. (вариант) Показывать диалог в том числе когда у него нет фокуса (как сайчас), но прятать по Esc, если других действий по Esc нет (можно такое поведение сделать по опции)

(wish) Reformat lib.lxl for saving user changes

Сейчас большая морока - изменения в lib.lxl происходят и на стороне беты, и на стороне пользователя - как их сливать?
Можно ли разделить один файл lib.lxl на две версии, как это сделано для default.json + user.json
(и будет для default_lexers.json + user_lexers.json)

Activate last active ui_tab when restart

После восстановления сессии, переходить не на последнию вкладку, а на ту, что была активной перед закрытием

(bug) Uncorrect replace

  1. Режим "find_replace_with_find":true
  2. Исходный текст: xyz, без выделения
  3. Первый вызов диалога Замена:
    • What = 'x'
    • With = 'a'
    • Команда ЗамСлед находит 'x'
    • выход из диалога без изменений в тексте
  4. Текст: xyz, выделен 'x' (после первого вызова ЗамСлед)
  5. Второй вызов диалога Замена:
    • What = 'xy'
    • With = 'a'
    • Команда ЗамСлед заменяет 'x' (а не 'xy'!) в тексте на 'a'

(bug) '\t' in 'Replace with' when [.*]

Если включен режим RE, то последовательность '\t' при заменах вставляется как 't', а должен вставляться табулятор

(wish) Save "comfortable" caret position after up/down

Обычно при переходе между соседними строками стараются сохранять ту колонку, в которой оказалась каретка в результате последнего ее собственного перемещения (команды left/right/click). А изменения колонки, связанные с выполнением изменяющих текст команд (paste/tab), пропускаются.
Это связано, с удобством одинаковых правков в соседних похожих строках.
Либо нужна опция для такого поведения. Либо это поведение должно быть основным.

(bug) Uncorrect find for replace

  1. Режим "find_replace_with_find":true
  2. Каретка в начале текста из двух строк
    xyz
    xyz
  3. В диал Заменить
    • what=x
    • with=a
  4. По команде ЗаменитьСлед происходит выделение 'x' во второй строке, а не в первой

(bug) paste

Текст из двух строк

xy
a
b
Выделение захватывает y{end}a. Если скопировать это выделение и вставить его перед y, то образуется текст

xy
a
y
ab
А должен получаться такой
xy

ay
ab

Col-selection doesnt save prev selected string

Если выделить несколько символов в строке и затем начать вертикальное выделение, то оно не будет продолжать исходное, а начнется от каретки.

Undo/Redo for each replace must be as one operation

Сейча в режиме

  • "undo_grouped":false
  • "find_replace_with_find": true,

каждая замена сделанная через диалог Replace отменяется в два шага

  • сначала удаляется новая строка,
  • потом вставляется старая.

Также происходит при Redo - в два шага.
Нужно, чтобы в один.

(wish) Opt to switch fuzzy off

Дать опцию для отключения fuzzy-поиска во всех модальных списках (dlg_menu)

Col-selection shows not rectangle

Сейчас если строки содержать разное кол-во ТАБов, то вертикальное выделение может не быть прямоугольником
ver-sel
Нужно

  • либо избавиться от такого
  • либо дать опцию, чтобы ТАБы учитывались корректнее

(wish) Shift+Ctrl+Dn and find-cmds

Было бы удобно (как в Син) искать по Shift+Ctrl+Dn

  • выделение, если оно есть (команда 'find current selection, next')
  • слово под кареткой, если выделения нет (команда 'find current word, next')

Можно ли это организовать?

Need "one instance"

Сейчас запускаются много экземпляров, например, из ТС.
Нужна либо опция, либо зашитое поведение, чтобы все открывались в одном экземпляре

StatusBar. {x} dont show col

Макро {x} показывает число символов пере кареткой.
Нужно макро, например {col}, которое давало бы номер колонки с кареткой.
В строках, содержащих табуляторы, это разные значения.

(bug) Deleting extra line

Если в тексте ({end} - это разделитель строк)

1 abc{end}
2 xyz{end}
3 {end}
4 abc
выделить всю вторую строку с захватом разделителя строк, и нажать del, то заодно удалится {end} из третьей строки и получится текст
1 abc{end}
2 abc

(wish) Show in titul "Full path" for cur file

Было бы удобно видеть полный путь текущего файла в титуле приложения:
c:\myDir\myFile.ext - CudaText
вместо текущего
CudaText - myFile.ext

Need "Wrap" option for Find/Replace

Сейчас поиск идет до конца или начала файла.
Нужно дать возможность продолжить поиск по циклу

(bug) FindNext doesnt skip selected

В тексте

        f.write(rep_head)
        f.write('<h2><a name="all-cmds"/>All commands</h2>\n')
        f.write('<table width="600">\n')
        f.write('<h2><a name="all-keys"/>All keys (full command names)</h2>\n')

Выделить </h2> в строке 2
Запомнить, Ctrl+F, вставить, ВВОД
Не всегда происходит переход на строку 4.

Воспроизведение проблемы не постоянное, может пойти после поиска другого фрагмента (command?)

(wish) Add opt for time of status-msg viewing

Сообщения в статус-строке пропадают слишком быстро.
Дать настройку для управления временем их показа

(wish) Config for menu

  1. Опубликовать (вики!) список команд, которые могут вызываться из меню
  2. Создать текстовый формат (json!) для описания групп (File, Edit, ...) и пунктов
  3. Включить в поставку конфиг для умолчательного меню
  4. Не пропустить конфигурирование локальных меню для разных контекстов (text, tab, consol, ...)

Poor style of selected fragment

Для стилизации текста с лексером используются такие свойства символов

  • имя шрифта
  • размер
  • цвет
  • жирность
  • наклонность

При выделении сейчас часть этих свойств унифицируется. Например, теряются жирность, наклонность и цвет

sel-style

У Суб это сохраняется

sub-sel-style

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.