Skip to content

Instantly share code, notes, and snippets.

@dkandalov
dkandalov / gist:3857613
Created October 9, 2012 09:24
Intellij eval process files from your change list
import com.intellij.notification.*
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.vcs.changes.*
import javax.swing.SwingUtilities
static show(String htmlBody, String title = "", NotificationType notificationType = NotificationType.INFORMATION) {
SwingUtilities.invokeLater({
def notification = new Notification("", title, htmlBody, notificationType)
ApplicationManager.application.messageBus.syncPublisher(Notifications.TOPIC).notify(notification)
@dkandalov
dkandalov / plugin.groovy
Created October 12, 2012 15:27
"grep" action for intellij-eval
import com.intellij.notification.Notification
import com.intellij.notification.NotificationType
import com.intellij.notification.Notifications
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.actionSystem.DataContext
import com.intellij.openapi.actionSystem.KeyboardShortcut
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.editor.actionSystem.EditorAction
import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler
@dkandalov
dkandalov / gist:4023477
Created November 6, 2012 08:32
Line count kata at coding dojo
import org.junit.Test
class LineCount3 {
@Test void aaa() {
assert countLines("") == 0
assert countLines("""
""") == 0
assert countLines("""
int i = 0;
@dkandalov
dkandalov / gist:4080326
Created November 15, 2012 18:33
"open files from current change list" action for intellij-eval
import com.intellij.notification.*
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.fileEditor.FileEditorManager
import com.intellij.openapi.vcs.changes.Change
import com.intellij.openapi.vcs.changes.ChangeListManager
import javax.swing.SwingUtilities
static show(String htmlBody, String title = "", NotificationType notificationType = NotificationType.INFORMATION) {
SwingUtilities.invokeLater({
@dkandalov
dkandalov / gist:4120496
Created November 20, 2012 19:38
fib sums slightly improved (coding dojo)
import org.scalatest.matchers.ShouldMatchers
import org.junit.Test
//object Sums {
// def main(args: Array[String]) {
// for(i <- 1 to 20) { println(i + " is " + new Sums().zeckendorfRepresentationOf(i).mkString(" or "))}
// }
//}
class Sums extends ShouldMatchers {
@dkandalov
dkandalov / gist:4120501
Created November 20, 2012 19:39
fib sums (coding dojo)
import org.scalatest.matchers.ShouldMatchers
import org.junit.Test
//object Sums {
// def main(args: Array[String]) {
// for(i <- 1 to 20) { println(i + " is " + new Sums().fibonacciZeckendorfRepresentationOf(i).mkString(" or "))}
// }
//}
class Sums extends ShouldMatchers {
@dkandalov
dkandalov / compile-and-run.sh
Created December 26, 2012 16:27
intellij-eval plugin to compile and run single ".c" file
#/bin/sh
FILE_NAME=$1
FILE_PATH=$2
gcc -o $FILE_NAME $FILE_PATH/$FILE_NAME.c && ./$FILE_NAME
@dkandalov
dkandalov / plugin.groovy
Created January 30, 2013 00:39
adding jars to idea project
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.roots.DependencyScope
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.roots.OrderRootType
import com.intellij.openapi.roots.ProjectRootManager
import ru.intellijeval.PluginUtil
import static ru.intellijeval.PluginUtil.runWriteAction
import static ru.intellijeval.PluginUtil.show
@dkandalov
dkandalov / gist:4694040
Last active December 12, 2015 01:48
Infer Type Parameter
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiExpression
import com.intellij.psi.PsiMethodCallExpression
import com.intellij.psi.PsiReferenceParameterList
import com.intellij.psi.PsiStatement
import com.intellij.psi.PsiTypeElement
import com.intellij.psi.PsiVariable
import com.intellij.psi.PsiMethod
@dkandalov
dkandalov / gist:4731251
Created February 7, 2013 14:29
selection color highlight
import com.intellij.codeInsight.highlighting.HighlightManager
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.editor.event.SelectionEvent
import com.intellij.openapi.editor.event.SelectionListener
import com.intellij.openapi.editor.markup.EffectType
import com.intellij.openapi.editor.markup.HighlighterLayer
import com.intellij.openapi.editor.markup.HighlighterTargetArea
import com.intellij.openapi.editor.markup.TextAttributes
import com.intellij.openapi.fileEditor.FileEditorManager