В одной из предыдущих записей жаловался, что не могу найти подходящую простую среду. Как оказалось, не только я один не могу. Тогда же закралась идея самому написать. И вот, работа началась. Lazarus мне поможет!
Учитывая мои достаточно скромные познания в области программирования, я не смог сходу реализовать всё, что я хотел. Да я и не ставил такой цели (сходу, имеется в виду). Я решил совместить сразу два дела — и среду своей мечты заполучить, и попрактиковаться в программировании. Поэтому, заранее составив полный список желаемого, я сосредоточился лишь на некоторых его пунктах. Это были самые простые функции, их я и реализовал. Теперь, когда будущие очертания уже стали прорисовываться всё яснее и яснее, дописывать недостающее будет проще. Наверное… Может быть… 🙂
Требования к среде:
- Подсветка синтаксиса (html, css, php, javasript, jquery)
- Вариантное автодополнение при появлении альтернатив (в виде выпадающего списка, как в Lazarus и Delphi)
- Всплывающие подсказки по функциям (тоже как в Lazarus и Delphi)
- Аскетичность (чтобы максимально похоже на блокнот или пустой браузер)
- Произвольное сворачивание кода (вообще любого, не только блоки между begin … end или { … } и всякие парные тэги)
- Возможность быстро переименовать какую-нибудь переменную по всему коду
В качестве средства для разработки был выбран Lazarus IDE. Он бесплатен, похож на Delphi и поэтому хорошо документирован. Кроме того, не возникнет проблем с версиями программы для Windows и для Linux (да хоть где, в лазаре эта кросплатформенность реализована на «отлично»). Ну а самое главное — я не знаю ни одного языка программирования, кроме Pascal 😀 Поэтому выбора-то на самом деле у меня и не было 🙂 Чтобы подчеркнуть, что разработка идёт средствами Lazarus, решил выбрать условное название для проекта созвучное с лазарусом хотя бы частично. Проанализировав английский словарь:
$ cat us-en-word.txt | grep rus
выбрал первое попавшееся слово — Centaurus (рус. — центавр, кентавр). Вдобавок, окончание «-rus» мне тоже приглянулось. Итак, встречаем очередной клон блокнота:
При реализации не возникло практически никаких проблем с пунктами №1, №4 и №6. Здесь мне хватило и собственных знаний, и интуиции, и яндекса 🙂 С пунктом №2 пришлось повозиться и были проблемы, но всё же я его осилил. Получилось не совсем то, что хочу, но я вроде бы привык. Захотел приступить к пунктам №3 и №5… Но тут нагрянула сессия!
В итоге, разработку придётся отложить до окончания сессии. Возможно, к этому времени в моей голове появятся идеи, позволяющие обойти возникшие препятствия. Вот тогда можно будет выложить программу для скачивания. Вдруг найдутся ещё аскеты? 🙂
P. S. Всё же я люблю анекдоты, они скрашивают мою чрезмерно скучную жизнь 🙂
Программист сдает коллективную работу (конецепция, программа, дизайн). Заказчик удовлетворенно кивает, со всем соглашается.
З: Ну, вроде бы все принято!
П: Отлично с Вас 1700.
З (отдавая деньги): Ну, я надеюсь, если потом нужно будет переправить, можно будет обратиться? Это ведь не так — вот один раз сделали и забыли?
П: Разумеется, в зависимости от того, что и как переправить.
З: Ну, кончно, я не скажу «Давайте все переделаем»!
П: Не вопрос! Кстати, еще одно — можно будет потом, если у меня кончатся вдруг деньги или будут проблемы я подойду к вам на счет немного доплатить? (это мелочь, мне требуется очень редко, вас это совсем не затруднит)
З: (удивленно открыв рот…)
П: Да вы не переживайте, я же не подойду к Вам, мол заплатите мне еще раз!