Skip to content

Instantly share code, notes, and snippets.

@ksnortum
Created November 20, 2013 18:42
Show Gist options
  • Save ksnortum/7568627 to your computer and use it in GitHub Desktop.
Save ksnortum/7568627 to your computer and use it in GitHub Desktop.
Notepad++ User Defined Language file for Gradle
<NotepadPlus>
<UserLang name="Gradle" ext="gradle" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="yes" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00// 01 02 03/* 04*/</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
<Keywords name="Numbers, extras1"></Keywords>
<Keywords name="Numbers, extras2"></Keywords>
<Keywords name="Numbers, suffix1"></Keywords>
<Keywords name="Numbers, suffix2"></Keywords>
<Keywords name="Numbers, range"></Keywords>
<Keywords name="Operators1">: -&gt; &lt;&lt; . , ( ) [ ] + - / * =</Keywords>
<Keywords name="Operators2"></Keywords>
<Keywords name="Folders in code1, open">{</Keywords>
<Keywords name="Folders in code1, middle"></Keywords>
<Keywords name="Folders in code1, close">}</Keywords>
<Keywords name="Folders in code2, open"></Keywords>
<Keywords name="Folders in code2, middle"></Keywords>
<Keywords name="Folders in code2, close"></Keywords>
<Keywords name="Folders in comment, open"></Keywords>
<Keywords name="Folders in comment, middle"></Keywords>
<Keywords name="Folders in comment, close"></Keywords>
<Keywords name="Keywords1">absoluteProjectPath afterEvaluate allprojects ant apply artifacts beforeEvaluate buildscript childrenDependOnMe configurations configure container copy copySpec createAntBuilder defaultTasks delete dependencies dependsOn dependsOnChildren depthCompare evaluationDependsOn evaluationDependsOnChildren exec file fileTree files findProject hasProperty javaexec mkdir project property relativePath relativeProjectPath repositories subprojects tarTree task uri zipTree deleteAllActions dependsOnTaskDidWork doFirst doLast finalizedBy leftShift mustRunAfter onlyIf</Keywords>
<Keywords name="Keywords2">allTasks buildDir buildFile childProjects components convention dependsOnProjects depth description extensions gradle logger logging parent path plugins projectDir properties resources rootDir rootProject state status tasks tasksByName actions didWork enabled inputs outputs taskDependencies temporaryDir</Keywords>
<Keywords name="Keywords3">plugin from to group name version type</Keywords>
<Keywords name="Keywords4">manifest sourceSets compile classpath destinationDir processResources classes compileJava processTestResources testClasses compileTestJava test jar javadoc runtime testRuntime testCompile testClassesDir testSrcDirs check build buildDependents buildNeeded verification documentation java clean classesDir resourcesDir title destination binResultsDir assemble upload distsDirName libsDirName reporting baseDir process sources binaries</Keywords>
<Keywords name="Keywords5">dependencyCacheDir dependencyCacheDirName docsDir docsDirName metaInf sourceCompatibility targetCompatibility testReportDir testReportDirName testResultsDir testResultsDirName archivesBaseName distsDir libsDir apiDocTitle reportsDir reportsDirName</Keywords>
<Keywords name="Keywords6"></Keywords>
<Keywords name="Keywords7">flatDir ivy jcenter maven mavenCentral mavenLocal mavenRepo attributes writeTo artifactUrls url effectiveManifest sections conf2ScopeMappings mavenPomDir pom mavenDeployer mavenInstaller srcDir srcDirs source srcDirTrees filter systemProperties main </Keywords>
<Keywords name="Keywords8">antBuilderFactory asDynamicObject buildScriptSource buildTasks class cleanEclipse cleanEclipseClasspath cleanEclipseJdt cleanEclipseProject cleanIdea cleanIdeaModule cleanIdeaProject cleanIdeaWorkspace configurationActions defaultArtifacts eclipse eclipseClasspath eclipseJdt eclipseProject ext fileResolver idea ideaModule ideaProject ideaWorkspace implicitTasks inheritedScope metaClass module parentIdentifier projectEvaluationBroadcaster projectEvaluator projectRegistry rebuildTasks runtimeClasspath scriptPluginFactory services standardOutputCapture</Keywords>
<Keywords name="Delimiters">00&apos; 01 02&apos; 03&quot; 04 05&quot; 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="COMMENTS" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="NUMBERS" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS3" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS6" fgColor="009F00" bgColor="FFFF80" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="OPERATORS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS1" fgColor="009F00" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS2" fgColor="009F00" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>
@ksnortum
Copy link
Author

This is a Notepad++ (http://notepad-plus-plus.org/) user-defined language file that will get you some highlighting of Gradle files. Gradle is extensible so it would be nearly impossible to get all keywords here. I have not attempted anything but the most rudimentary Groovy syntax.

The Keyword groupings are nearly arbitrary. They started with some semblance of order but soon lost all. I have done very little with the colors as I am color blind. Anyone who wants to put the keywords into some order and color code them, please do.

To install, start Notepad++, go to Language -> Define Your Language, and press the Import button.

@anton-petrov
Copy link

Fail to import! Notepad v. 6.7.5.

@seakingii
Copy link

Notepad v6.8.3
import success
thank you

@Sollace
Copy link

Sollace commented Dec 4, 2021

Excellent, well done!

I did make a few tweaks to this, though. For one I added def into the first keyword group, toolchain into the fourth, and into in the third.

I also added highlighting for regular expressions. So in delimiter 3 style: open=/ escape=\ close=/ and same colour as in delimiter 1 style.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment