Ru-Board.club
← Вернуться в раздел «Программы»

» SciTE - Open Source Text Editor for Windows & Linux

Автор: vladvro
Дата сообщения: 31.10.2008 15:25
Eugene74ru

Цитата:
На сколько я понял в SciTE нет возможности написать свои правила подсветки или подредактировать существующие ?

Через файлы конфигурации настраиваются только списки ключевых слов, правила обработки синтаксиса зашиты в сам редактор, но при желании можно взять исходники и поправить там, создав новый лексер, это относительно не сложно и описано тут.
Автор: traxmub
Дата сообщения: 03.11.2008 07:30
Доброе утро!

Я программирую на PERL и подыскиваю себе хороший редактор. Решил попробывать ваш. И такой вопрос я могу открыть файл подключенный директивой use двойным щелчком мыши по его имени? Пример

use lib qw(F:\Projects\PM\);
use DB;

Мне бы хотелось чтобы открылся файл DB.pm во вкладке когда я два раза щелкну мышью на DB. Есть такая чудо фича?
Автор: mozers
Дата сообщения: 03.11.2008 12:00
traxmub
Такой "чудо фичи" - нет. Но сделать - элементарно.
Вот - добавь в SciTEStartup.lua:
Код: local old_OnDoubleClick = OnDoubleClick
function OnDoubleClick(shift, ctrl, alt)
local result
if old_OnDoubleClick then result = old_OnDoubleClick(shift, ctrl, alt) end
if
editor.LexerLanguage == 'perl' then
local
_, _, filename = editor:GetCurLine():find('^use *(%w+);')
if filename ~= nil then
scite.Open(filename..'.pl')
end
end
return
result
end
Автор: vladvro
Дата сообщения: 03.11.2008 12:11
traxmub

Цитата:
Мне бы хотелось чтобы открылся файл DB.pm во вкладке когда я два раза щелкну мышью на DB. Есть такая чудо фича?

На данный момент такого нет, но можно реализовать самостоятельно с помощью скрипта.
Примером подобного скрипта является Select_And_Open_Filename.lua.
Автор: traxmub
Дата сообщения: 03.11.2008 12:15
Когда я хочу за комментировать блок кода через ctrl+q получаю след. сообщение об ошибке
! Отсутствуют параметры comment.stream.start.perl и comment.stream.end.perl

Добавлено:


Цитата:
traxmub
Такой "чудо фичи" - нет. Но сделать - элементарно.
Вот - добавь в SciTEStartup.lua:
Код:
local old_OnDoubleClick = OnDoubleClick
function OnDoubleClick(shift, ctrl, alt)
local result
if old_OnDoubleClick then result = old_OnDoubleClick(shift, ctrl, alt) end
if editor.LexerLanguage == 'perl' then
local _, _, filename = editor:GetCurLine():find('^use *(%w+);')
if filename ~= nil then
scite.Open(filename..'.pl')
end
end
return result
end


Спс. Работает. Но мне нужен немного усложненный вариант. Поиск должен вестись по нескольким путям. Есть список директорий
F:\Projects\PM\
F:\Projects\PM2\
F:\Projects\PM3\
Нужно чтобы сначала была попытка открыть файл с первой директории, если не удачно то с второй и до конца списка директорий. Желательно чтобы список директорий был в отдельном файле. И чтобы можно было его открыть через меню программы и отредактировать.
Надеюсь на вашу помощь.
Автор: juvaforza
Дата сообщения: 03.11.2008 15:11
Наткнулся на несколько багов (SciTE 1.77 .61 RU)
1. В документах с utf кодировкой не работает поиск слов с большой буквой, т.е. если ввести это же слово с маленькой буквы, ничего найдено не будет.
2. Нельзя сохранить или открыть документы, если в пути присутствуют utf символы.
3. В диалоге "О программе" написано "На базе SciTE 1.76".
Автор: mozers
Дата сообщения: 05.11.2008 16:57
traxmub
Цитата:
Когда я хочу за комментировать блок кода через ctrl+q получаю след. сообщение об ошибке
! Отсутствуют параметры comment.stream.start.perl и comment.stream.end.perl
Ну так открой perl.properties задай их!
И пользуешся ты старой версией скрипта. Новый при отсутствии этих параметров молча использует строковый коммент (даже если выделен поток)

Цитата:
Но мне нужен немного усложненный вариант. Поиск должен вестись по нескольким путям. Есть список директорий
Ну где то так...:
Код: local function OpenFilename()
local _, _, filename = editor:GetCurLine():find('^use *(%w+);')
if filename ~= nil then
io.input(props["scite.userhome"]..'\\dirs.txt')
repeat
local
dir = io.read()
if dir == nil then break end
local
fullname = dir.."\\"..filename..'.pl'
-- print(fullname)
if shell.findfiles(fullname) ~= nil then
scite.Open(fullname)
break
end
until
io.close()
end
end

local
old_OnDoubleClick = OnDoubleClick
function OnDoubleClick(shift, ctrl, alt)
local result
if old_OnDoubleClick then result = old_OnDoubleClick(shift, ctrl, alt) end
if
editor.LexerLanguage == 'perl' then
OpenFilename()
end
return
result
end
Автор: traxmub
Дата сообщения: 06.11.2008 04:58

Цитата:
Ну так открой perl.properties задай их!

Cпс. Сделал. Но этот способ не походит для perl. Perl не имеет спец символов для коммента блока. Для этого надо ставить символ коммента перед каждой строкой.

Пример:
Строка1
Строка2
Строка3

Когда я их выделяю и нажимаю ctrl + q для комментирования. Получаю
#Строка1
Строка2
Строка3#

что есть неправильно. Надо
#Строка1
#Строка2
#Строка3

Можно ли изменить работу редактора. Чтобы было как выше написано?
Автор: Zloy_Gelud
Дата сообщения: 06.11.2008 07:01
Ребят, а почему у меня некоторые иконки в тулбаре не отображаются? В файле toolbar_cool.properties ничего не менял.
________________
SciTE-Ru - 1.77 .61
Автор: UR4LTZ
Дата сообщения: 06.11.2008 07:32
Zloy_Gelud

Цитата:
Ребят, а почему у меня некоторые иконки в тулбаре не отображаются? В файле toolbar_cool.properties ничего не менял.


Например какие иконки?
Автор: mozers
Дата сообщения: 06.11.2008 11:03
traxmub
Скрипт различает вид выделения.
Если выделена строка (или несколько строк) - то используется комментарий, заданный параметром comment.block.lexer.
Если выделен поток текста - то используется комментарий, заданный параметрами comment.stream.start.lexer и comment.stream.end.lexer.
Еще раз повторяю: В новой версии скрипта, если параметры потокового коммента не заданы, то текст комментируется строковым комментарием независимо от вида выделения.
Автор: maK
Дата сообщения: 06.11.2008 11:31
Zloy_Gelud

Была такая помарочка : указал явно путь к библиотеке ...
Автор: ALeXkRU
Дата сообщения: 06.11.2008 11:39

Цитата:
Например какие иконки?

скорее всего, как и у меня на одной из машин: если не загружается новая панель инструментов, то показываются только стандартные изображения..
Автор: BioInfo
Дата сообщения: 06.11.2008 11:43
traxmub
Я думаю тебе проще отключить xComment.lua в SciTEStartup.lua
Я пользуюсь своим детищем (smartcomment.lua) чего и тебе советую - работает это так - выделяешь свой блок строк и жмешь #
Автор: maK
Дата сообщения: 06.11.2008 12:02
ALeXkRU

Не совсем ... ) Просто на некоторых кнопках отсутствовали значки иконок ...
Автор: ALeXkRU
Дата сообщения: 06.11.2008 12:32
у меня типа так:
Автор: maK
Дата сообщения: 06.11.2008 14:39
ALeXkRU

Совершенно верно ! Устранил вышеупомянутым способом.
Автор: mozers
Дата сообщения: 06.11.2008 14:42
maK
Цитата:
Была такая помарочка : указал явно путь к библиотеке ...
Не вижу в этом никакого криминала.
Для тестирования выделяем параметр user.toolbar.iconlib и нажимаем Alt+V.

ALeXkRU
Ага.
А почему у тебя внешние иконки не загружаются?
Именно cool.dll не грузится или с gnome.dll - та же фигня?
Может - путь к библиотеке неверный?

BioInfo
Цитата:
Я думаю тебе проще отключить xComment.lua в SciTEStartup.lua
Правильно. И насморк лучше всего лечится ампутацией головы
Автор: Zloy_Gelud
Дата сообщения: 06.11.2008 15:38
mozers

Цитата:
Для тестирования выделяем параметр user.toolbar.iconlib и нажимаем Alt+V.

Все верно! Оказалось путь к либе был указан как $(SciteUserHome)\cool.dll ('C:\Program Files\SciTE\cool.dll'), поправил на $(SciteUserHome)\home\cool.dll и все заработало! Спасибо!
Автор: kinz
Дата сообщения: 08.11.2008 16:21
В редакторе имеется лексер для языка euphoria, но этот язык уже выпущен в версии с русскими ключевыми словами в кодировке 866, так что позволяет разрабатывать программы на произвольной смеси английских и русских ключевых слов. Попытка просто добавить эти русские ключевые слова в файл euphoria.properties не приводит к их соответствующей раскраске, хотя в документации на Scintilla записано, что в системе лексеров отсутствуют какие-либо препятствия для использования символов с кодами до 255 включительно.
В чём тут дело? Заранее благодарен!
Автор: zvyagaaa
Дата сообщения: 09.11.2008 06:05
как подключить подсказки из дельфи?
Автор: mozers
Дата сообщения: 09.11.2008 15:55
zvyagaaa
Тут все подробно описано. В чем проблема?
Автор: vladvro
Дата сообщения: 09.11.2008 18:16
kinz

Цитата:
Попытка просто добавить эти русские ключевые слова в файл euphoria.properties не приводит к их соответствующей раскраске, хотя в документации на Scintilla записано, что в системе лексеров отсутствуют какие-либо препятствия для использования символов с кодами до 255 включительно.
В чём тут дело?

В текущей реализации лексера для euphoria в качестве символов ключевых словах воспринимаются только латинские символы - результат работы стандартной сишной функции isalpha. Красивого решения пока предложить не могу, в любом случае прийдется вносить исправления в код редактора, а значит первое что можно сделать - это добавить предложение о модернизации в этот список
Автор: zvyagaaa
Дата сообщения: 09.11.2008 19:16
mozers
а готового апи нету ни у кого? А то я не пойму как самому создать...
Автор: mozers
Дата сообщения: 09.11.2008 20:15
zvyagaaa
Вот. За содержание не ручаюсь. Сам не пользуюсь. Взял из скачанной с год назад сборки Scite-IDE (сейчас там лежит новая - может и api обновились?)
Автор: zvyagaaa
Дата сообщения: 10.11.2008 04:18
mozers
спасибо, проверю.
Автор: VoidVolker
Дата сообщения: 10.11.2008 22:35
Когда выйдет следующая версия SciTE-RU? И будет ли исправляться кривой лексер подсветки кронтабов и Форта?
И как указать SciTE, что нужно запускать скрипт/программу в нужной мне папке, а не где попало?(command.go) А то он запускает в своей папке и в итоге программа не находит своих папок или компилируется в папке скайте, вместо положенного ей места
Автор: traxmub
Дата сообщения: 11.11.2008 05:47

Цитата:
traxmub
Скрипт различает вид выделения.
Если выделена строка (или несколько строк) - то используется комментарий, заданный параметром comment.block.lexer.
Если выделен поток текста - то используется комментарий, заданный параметрами comment.stream.start.lexer и comment.stream.end.lexer.
Еще раз повторяю: В новой версии скрипта, если параметры потокового коммента не заданы, то текст комментируется строковым комментарием независимо от вида выделения.


Большое спс
Цитата:
mozers
. Этот новая версия работает с perl как раз так как надо.
Автор: DJ makrus
Дата сообщения: 11.11.2008 08:25
VoidVolker
Привет.
Цитата:
Когда выйдет следующая версия SciTE-RU?
IMHO, когда будут сделаны достаточные изменения в сборке.
Цитата:
И будет ли исправляться кривой лексер подсветки кронтабов и Форта?
Исправление уже идет, хоть и очень медленно (по моей вине )
Цитата:
И как указать SciTE, что нужно запускать скрипт/программу в нужной мне папке, а не где попало?(command.go) А то он запускает в своей папке и в итоге программа не находит своих папок или компилируется в папке скайте, вместо положенного ей места
В сборке есть достаточно подробная документация, файлы настроек тоже хорошо документированы, и вот еще инструкция по настройки для Форта.
Автор: VoidVolker
Дата сообщения: 11.11.2008 09:01
DJ makrus Привет.

Цитата:
Исправление уже идет, хоть и очень медленно

Может быть я смогу помочь? Я форт знаю хорошо и постоянно использую.

Цитата:
В сборке есть достаточно подробная документация, файлы настроек тоже хорошо документированы, и вот еще инструкция по настройки для Форта

Документацию я читал, и не нашел там решения. Ну да ладно, все равно запускаю ннкроном как надо.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Universal Share Downloader


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.