(Diff revision 2)
bool EditorExtension::findCurrentTexParagraph(int &startline, int &endline, KTextEditor::View *view)
bool EditorExtension::findCurrentTexParagraph(int& startline, int& startcolumn, int& endline, int& endcolumn, KTextEditor::View* view)
QString line = doc->line(startline);
Why is this necessary? Unless startline == 0, won't startline only contain whitespaces anyway?
The same for endline.
The 'Join Lines' action from the 'Tools' menu (i.e. also the one that is called from within the scripts) originates from KatePart. Hence, any change to its behaviour will have to be done in KatePart.
On March 20th, 2013, 10:53 p.m. UTC, Eugene Shalygin wrote:
Review request for Kile and Michel Ludwig.
By Eugene Shalygin.
Updated March 20, 2013, 10:53 p.m.
I store my LaTeX sources in SCM and thus do not use dynamic line breaks. Because of that I want to use "Join lines" Kate function quite frequently. To do that one needs to select a paragraph and execute "Join lines". Thanks to the scripting for the current paragraph it is possible to write a script like:
and bind it to a key shortcut.
But it will not work as expected because selectParagraph() will include trailing EOL symbol, and join operation will join current paragraph with the next one.
The patch adds a parameter to selectParagraph() function (in both scripting and EditorExtension) to specify do we want exact selection or whole-line selection. So the following script
does what is expected.
P.P.S. Perhaps the new behaviour (wholeLines = false) should be the default one in order to be executed from the Kile menu action also? At least I find it more logical.
- doc/scripting.docbook (9e87bee)
- src/editorextension.h (e963129)
- src/editorextension.cpp (fc3906b)
- src/scripting/kilescriptview.h (b822c0f)
- src/scripting/kilescriptview.cpp (bd875c7)