OSDN Git Service

delete executable permission
[moreemacs/moreemacs.git] / jp.sourceforge.moreemacs / src / jp / sourceforge / moreemacs / handlers / TransposeWordsExecution.java
1 package jp.sourceforge.moreemacs.handlers;\r
2 \r
3 import org.eclipse.jface.text.BadLocationException;\r
4 \r
5 public final class TransposeWordsExecution extends TextEditorExecution {\r
6     @Override\r
7     public void execute() throws BadLocationException {\r
8         if(!textEditor.isEditable()) {\r
9             return;\r
10         }\r
11 \r
12         int current = cursor.offset();\r
13         int previousBegin = BackwardWordExecution.getPreviousWordPosition(doc, current);\r
14         int previousEnd = ForwardWordExecution.getNextWordPosition(doc, previousBegin);\r
15         int nextEnd = ForwardWordExecution.getNextWordPosition(doc, current);\r
16         int nextBegin = BackwardWordExecution.getPreviousWordPosition(doc, nextEnd);\r
17         \r
18         if(nextBegin <= previousEnd) {\r
19             return;\r
20         }\r
21         \r
22         String previous = doc.get(previousBegin, previousEnd-previousBegin);\r
23         String simbols = doc.get(previousEnd, nextBegin-previousEnd);\r
24         String next = doc.get(nextBegin, nextEnd-nextBegin);\r
25 \r
26         doc.replace(previousBegin,\r
27                 nextEnd-previousBegin,\r
28                 next+simbols+previous);\r
29         \r
30     }\r
31 }\r