📄 antmap.groovy
字号:
#!/bin/env groovy// // convert an ant build file into a format suitable for http://sf.net/projects/freemind//// by Jeremy Rayner - 2 Dec 2004// inspired by Sam Newman ( http://www.magpiebrain.com/archives/2004/12/02/antgui )//// usage: groovy AntMap > build.mmimport groovy.util.XmlParserbuildFileName = "build.xml" // default// handle command line paramsif (args.length > 0) { buildFileName = args[0]}// headerprintln "<map version='0.7.1'>"project = new XmlParser().parse(buildFileName)name = project['@name']println "<node TEXT='${name}'>"level = 0printChildren(project,level)def void printChildren(node,level) { level++ node.each { name = huntForName(it) if (name != null) { if (level > 1) { println "<node TEXT='${name}' POSITION='right'>" } else if (it.name() == 'property' || it.name() == 'path' ) { if (it.children().size() > 0) { println "<node TEXT='${name}' POSITION='left' FOLDED='true'>" } else { println "<node TEXT='${name}' POSITION='left'>" } } else if (it.children().size() > 0) { println "<node TEXT='${name}' POSITION='right' FOLDED='true'>" } else { println "<node TEXT='${name}' POSITION='right'>" } } if (it.children().size() > 0) printChildren(it,level) if (name!=null) println "</node>" }}// footerprintln "</node></map>"def String huntForName(node) { preferNodeNames = ["junitreport"] if (node == null) return null if (preferNodeNames.contains(node.name())) return node.name() if (node['@name'] != null) return node['@name'] if (node['@todir'] != null) return node['@todir'] if (node['@dir'] != null) return node['@dir'] if (node['@refid'] != null) return node['@refid'] return node.name()}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -