AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

NoSelEOL plugin
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Wed Mar 12, 2008 6:56 pm    Post subject: NoSelEOL plugin Reply with quote

NoSelEOL плагин был замещен SmartSel плагином.

NoSelEOL plugin was superseded by SmartSel plugin.


This plugin excludes last end-of-line (EOL) symbol from selected text.
May be usefull when a whole text line is selected Wink

Этот плагин исключает последний символ перевода строки (EOL) из
выделенного текста.
Может быть полезно при выделении всей строки Wink
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Wed Mar 12, 2008 7:20 pm    Post subject: Reply with quote

Я хочу!!!!!!!!!!! Very Happy Где это можно взять?!
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Wed Mar 12, 2008 7:32 pm    Post subject: Reply with quote

VladSh wrote:
Я хочу!!!!!!!!!!! Very Happy Где это можно взять?!

Наверное, что-то на сервере еще не успело обновиться. В ближайшие дни должно стать доступно. Я полагаю Wink
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5423

PostPosted: Wed Mar 12, 2008 8:16 pm    Post subject: Reply with quote

http://akelpad.sourceforge.net/files/plugs/NoSelEOL.zip
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Thu Mar 13, 2008 11:24 am    Post subject: Reply with quote

Предложения:
1. Не захватывать EOF.
2. Сделать опциональную возможность переходить в конец строки к последнему значащему символу, т.е. по аналогии со SmartHome (типа SmartEnd Smile). Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.

Вопрос: каков приоритет плагина? Т.е. будут ли корректно работать скрипты, которые написаны с учётом захвата EOL?
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Fri Mar 14, 2008 9:31 am    Post subject: Reply with quote

VladSh wrote:
Не захватывать EOF.

EOF захватывается для того, чтобы было явно видно, что при выделении до самого конца файла включается и последний перенос строки. Это, в свою очередь, следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса.
Если прочитать вышеизложенное несколько раз, то станет понятно Wink

VladSh wrote:
Т.е. при последовательном нажатии End чтобы курсор бегал то к последнему значащему символу, то к концу строки, но без EOL/EOF.

Значащий символ - это всё, кроме табов и пробелов? Это можно, но неохота возиться с диалогом настроек.
Хм, можно попробовать сделать ещё одну экспортируемую функцию плагина - NoSelEOL::SmartEnd - и, когда она загружена, перехватывать нажатия End. Я над этим подумаю.

VladSh wrote:
Вопрос: каков приоритет плагина?

Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина Macros.
В смысле, до или после плагина Scripts.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Fri Mar 14, 2008 11:42 am    Post subject: Reply with quote

DV wrote:
... следствие того, что по Ctrl+A выделяется весь текст полностью, включая последний знак переноса.
Понятно; я как раз это и имел в виду - думал, что это глюк.

DV wrote:
Значащий символ - это всё, кроме табов и пробелов?
Да.

DV wrote:
... и, когда она загружена, перехватывать нажатия End. Я над этим подумаю.
Было бы здорово! Wink
Хорошо, когда есть надежда Very Happy

DV wrote:
Насколько я понимаю, приоритет можно задать только из AkelPad.ini - а именно, расположить этот плагин до или после плагина ... Scripts.
Раньше стоял перед, сейчас поставил после, но эффекта всё равно никакого - результат работы некоторых скриптов весьма странен Twisted Evil
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Sun Mar 16, 2008 11:05 am    Post subject: Reply with quote

VladSh wrote:
результат работы некоторых скриптов весьма странен

А где бы мне взять эти скрипты, чтобы попробовать их вместе с плагином?
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Mon Mar 17, 2008 11:41 am    Post subject: Reply with quote

DV, например CtrlDown.
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Tue Mar 18, 2008 9:47 am    Post subject: Reply with quote

VladSh wrote:
например CtrlDown

Насколько я понимаю, выполнение скрипта является в принципе внешним действием по отношению к AkelPad. Поэтому при вызове из скрипта следующего действия:
Code:
AkelPad.SetSel(nSelStart, nSelEnd);

происходит примерно следующее: AkelPad обрабатывает сообщение EM_EXSETSEL, затем передает это сообщение на обработку плагинам (тут срабатывает NoSelEOL), и только теперь управление возвращается скрипту.
Таким образом, при работе NoSelEOL скрипт получает выделение уже без последнего символа переноса строки.
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Tue Mar 18, 2008 3:10 pm    Post subject: Reply with quote

NoSelEOL v.1.1
========================
NoSelEOL::Main
* исключает последний символ перевода строки (EOL) из выделенного текста.

NoSelEOL::SmartEnd
* нажатие клавиши End перемещает курсор на последний символ в строке,
который не является пробелом или табуляцией.
* повторное нажатие клавиши End перемещает курсор в конец строки.
* последовательное нажатие End, Shift+End позволяет выделить все
символы пробела и табуляции в конце строки.
========================
NoSelEOL::Main
* excludes last end-of-line (EOL) symbol from selected text.

NoSelEOL::SmartEnd
* when End key is pressed, cursor jumps to last non-space/non-tab character.
* when End key is pressed again, cursor jumps to the end of the line.
* key sequence End, Shift+End allows to select all trailing spaces/tabs.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Tue Mar 18, 2008 5:25 pm    Post subject: Reply with quote

DV wrote:
NoSelEOL v.1.1...
Супер! Работает отлично! Cool
Большое Вам спасибо!!! Very Happy
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Wed Apr 16, 2008 11:22 am    Post subject: Reply with quote

DV, мне неловко писать, т.к. выше говорит, что всё работает отлично.

Обнаружилась проблема со SmartEnd: иногда пишу и ставлю в конце пробел, а потом возвращаюсь в середину строки, чтобы откорректировать фразу, потом жму End и курсор становится перед пробелом. Т.е. приходится ставить пробел снова, в таком случае после завершения редактирования в конце каждого предложения образуется куча пробелов. Или при переходе в конец предложения приходится дважды жать End, чтобы проверить, есть ли там пробел. Как оказалось - это неудобно, напрягает.

Можно ли немного изменить алгоритм? Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа. Это будет удобнее, т.к. таких ситуаций, когда в конце пробелы или табуляции, на самом деле не так много. Также это даст то, что всегда будем знать, если ли пробелы/табуляции в конце предложения или нет (для этого не придётся ещё раз жать End).
Для того, чтобы удалить пробелы в конце м.б. после первого End нажать его ещё раз, а затем выделить их Shift+End и нажать Del или просто использовать функцию "Del trailing whitespaces".
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 852
Location: Kyiv, Ukraine

PostPosted: Thu Apr 17, 2008 12:34 pm    Post subject: Reply with quote

VladSh wrote:
Чтобы при нажатии End курсор устанавливался именно в конец строки, но перед переводом строки. При следующем нажатии End чтобы курсор прыгал в позицию после последнего значимого символа.

Посмотрю, что можно сделать.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2615
Location: Киев, Русь

PostPosted: Thu Apr 17, 2008 4:56 pm    Post subject: Reply with quote

Да, посмотрите пожалуйста.
Я там наверное много написал и всё равно не очень понятно..
Просто нужно изменить алгоритм "прыгания" курсора по End на противоположный, т.е. не после знач.символа, а потом в конец, а наоборот - в конец, а потом после знач.символа.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins All times are GMT
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group