Skip to content

Commit 572e734

Browse files
author
jadepeng
committed
fix(#6): fix schedule time error
replace Calendar.HOUR (12) to Calendar.HOUR_OF_DAY(24)
1 parent 6c36c8d commit 572e734

9 files changed

Lines changed: 97 additions & 32 deletions

File tree

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ dependencies {
2828

2929
intellij {
3030
version '2020.1.2'
31+
// not update since and util on build
32+
updateSinceUntilBuild = false
3133
}
3234

3335
patchPluginXml {

src/main/java/com/github/jadepeng/rainbowfart/Context.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,9 @@ static void scheduleTimerTask(String type) {
154154
String timeString = schedule.get(type);
155155
int hour = Integer.parseInt(timeString.substring(0, 2));
156156
int minutes = Integer.parseInt(timeString.substring(2, 4));
157-
tomorrow.set(Calendar.HOUR, hour);
157+
tomorrow.set(Calendar.HOUR_OF_DAY, hour);
158158
tomorrow.set(Calendar.MINUTE, minutes);
159-
today.set(Calendar.HOUR, hour);
159+
today.set(Calendar.HOUR_OF_DAY, hour);
160160
today.set(Calendar.MINUTE, minutes);
161161
long delay = now.getTime() > today.getTime().getTime() ? (tomorrow.getTime().getTime() - now.getTime()) : (today.getTime().getTime() - now.getTime());
162162
scheduledExecutorService.scheduleAtFixedRate(() -> {
@@ -224,6 +224,14 @@ public static void play(List<Contribute> contributes) {
224224
preparePlayThreadPool.submit(() -> Mp3Player.play(contributes));
225225
}
226226

227+
public static void onEvent(String event) {
228+
System.out.println(event);
229+
}
230+
231+
public static void onEvent(String event, Object args) {
232+
System.out.println(event + ":" + args);
233+
}
234+
227235
public static void main(String[] args) {
228236
System.out.println("xx+()$".replaceAll("\\$|\\.|\\+|\\(|\\)|\\[|\\]", "\\\\$0"));
229237
}

src/main/java/com/github/jadepeng/rainbowfart/CopyPasteHanler.java

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.github.jadepeng.rainbowfart;
2+
3+
public class EventCollector {
4+
}

src/main/java/com/github/jadepeng/rainbowfart/VoicePackageMakerApp.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class VoicePackageMakerApp {
3434

3535
private static final String DEFAULT_VCN = "x_xiaoling";
3636

37-
// x_xiaoling x2_xiaofang
37+
// if
3838
private static final String VoicePackageDir = "src/main/resources/cache";
3939

4040
private static final String manifestFile = "src/main/default.json";
@@ -45,7 +45,7 @@ public class VoicePackageMakerApp {
4545
public static void syncTts2File(String text, String mp3Path, String vcn) throws Exception {
4646
AtomicInteger finishCount = new AtomicInteger();
4747
tts2mp3(text, mp3Path, vcn, finishCount);
48-
// 等待完成
48+
// wait tts finished
4949
while (finishCount.get() < 1) {
5050
Thread.sleep(100);
5151
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.github.jadepeng.rainbowfart.extensions;
2+
3+
import com.github.jadepeng.rainbowfart.Context;
4+
import com.intellij.codeInsight.editorActions.CommentCompleteHandler;
5+
import com.intellij.lang.CodeDocumentationAwareCommenter;
6+
import com.intellij.openapi.editor.Editor;
7+
import com.intellij.psi.PsiComment;
8+
9+
public class CommentHandler implements CommentCompleteHandler {
10+
11+
@Override
12+
public boolean isCommentComplete(PsiComment comment, CodeDocumentationAwareCommenter commenter, Editor editor) {
13+
return false;
14+
}
15+
16+
@Override
17+
public boolean isApplicable(PsiComment comment, CodeDocumentationAwareCommenter commenter) {
18+
Context.onEvent("CommentComplete");
19+
return false;
20+
}
21+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.github.jadepeng.rainbowfart.extensions;
2+
3+
import com.github.jadepeng.rainbowfart.Context;
4+
import com.intellij.codeInsight.editorActions.CopyPastePostProcessor;
5+
import com.intellij.codeInsight.editorActions.TextBlockTransferableData;
6+
import com.intellij.openapi.diagnostic.Logger;
7+
import com.intellij.openapi.editor.Document;
8+
import com.intellij.openapi.editor.Editor;
9+
import com.intellij.psi.PsiFile;
10+
import org.jetbrains.annotations.NotNull;
11+
12+
import java.util.Collections;
13+
import java.util.List;
14+
15+
16+
/**
17+
* CopyPastePostProcessor
18+
*/
19+
public class CopyPasteHanler extends CopyPastePostProcessor<TextBlockTransferableData> {
20+
21+
private static final Logger LOG = Logger.getInstance(CopyPasteHanler.class);
22+
23+
24+
/**
25+
* This method will be run in the dispatch thread with alternative resolve enabled
26+
*
27+
* @param file
28+
* @param editor
29+
* @param startOffsets
30+
* @param endOffsets
31+
*/
32+
@NotNull
33+
@Override
34+
public List<TextBlockTransferableData> collectTransferableData(PsiFile file, Editor editor, int[] startOffsets, int[] endOffsets) {
35+
36+
StringBuilder buffer = new StringBuilder();
37+
Document document = editor.getDocument();
38+
CharSequence text = document.getCharsSequence();
39+
for (int i = 0; i < startOffsets.length; i++) {
40+
int start = startOffsets[i];
41+
int lineStart = document.getLineStartOffset(document.getLineNumber(start));
42+
int end = endOffsets[i];
43+
int lineEnd = document.getLineEndOffset(document.getLineNumber(end));
44+
buffer.append(text.subSequence(lineStart, lineEnd));
45+
}
46+
47+
Context.onEvent("onPaste", buffer.toString());
48+
49+
return Collections.emptyList();
50+
}
51+
}

src/main/java/com/github/jadepeng/rainbowfart/TypedHandler.java renamed to src/main/java/com/github/jadepeng/rainbowfart/extensions/TypedHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package com.github.jadepeng.rainbowfart;
1+
package com.github.jadepeng.rainbowfart.extensions;
22

3+
import com.github.jadepeng.rainbowfart.Context;
34
import com.github.jadepeng.rainbowfart.bean.Contribute;
45
import com.intellij.codeInsight.template.impl.editorActions.TypedActionHandlerBase;
56
import com.intellij.openapi.actionSystem.DataContext;
@@ -13,7 +14,7 @@
1314
import java.util.List;
1415

1516
/**
16-
* 输入响应
17+
* Typed Action Handler
1718
*/
1819
public class TypedHandler extends TypedActionHandlerBase {
1920

src/main/resources/META-INF/plugin.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
]]></description>
1717

1818
<change-notes><![CDATA[
19+
1920
<br/>
2021
]]></change-notes>
2122

@@ -27,11 +28,13 @@
2728
<depends>com.intellij.modules.lang</depends>
2829

2930
<extensions defaultExtensionNs="com.intellij">
30-
<editorTypedHandler implementationClass="com.github.jadepeng.rainbowfart.TypedHandler"
31+
<editorTypedHandler implementationClass="com.github.jadepeng.rainbowfart.extensions.TypedHandler"
3132
id="fart"/>
3233
<postStartupActivity implementation="com.github.jadepeng.rainbowfart.PluginStarter"/>
3334
<applicationService serviceImplementation="com.github.jadepeng.rainbowfart.settings.FartSettings"/>
3435
<applicationConfigurable instance="com.github.jadepeng.rainbowfart.settings.PluginSetting"/>
36+
<copyPastePostProcessor implementation="com.github.jadepeng.rainbowfart.extensions.CopyPasteHanler" />
37+
<commentCompleteHandler implementation="com.github.jadepeng.rainbowfart.extensions.CommentHandler" />
3538
</extensions>
3639

3740
</idea-plugin>

0 commit comments

Comments
 (0)