sh 用于将多个IntelliJ IDEA(或其他JetBrains IDE)语法颜色主题组合到单个jar文件中的Bash脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 用于将多个IntelliJ IDEA(或其他JetBrains IDE)语法颜色主题组合到单个jar文件中的Bash脚本相关的知识,希望对你有一定的参考价值。
#!/bin/bash
urldecode() {
# urldecode <string>
local url_encoded="${1//+/ }"
printf '%b' "${url_encoded//%/\\x}"
}
touch "IntelliJ IDEA Global Settings"
l=(*.jar)
for f in "${l[@]}"; do
n=${f%.jar}
echo "Adding $(urldecode "$n")"
unzip -qq -o "$f" "colors/*"
tmp="$(unzip -qq -c "$f" "options/colors.scheme.xml")"
tmp="$(grep -Ev '(<\?xml version|<application|application>)' <<< "$tmp")"
tmp="$(gsed -E -e 's/^[[:space:]]+//' -e 's/[[:space:]]+/ /g' <<< "$tmp")"
tmp="$(tr -d '\n' <<< "$tmp")"
opt="$opt$tmp\n"
done
opt="$(sort <<< "$opt" | uniq)"
opt="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<application>\n$opt"
opt="$opt</application>\n"
opt="$(gsed -E -e "s/(<component[^>]*>|<[^>]*component>)/\n\t\1/g" -e "s/(<option[^>]*>|<global[^>]*>)/\n\t\t\1/g" <<< "$opt")"
mkdir -p "options"
printf "$opt" > options/colors.scheme.xml
echo "Compressing..."
zip -q -r Colors.jar "colors" "options" "IntelliJ IDEA Global Settings"
rm -rf "IntelliJ IDEA Global Settings" "colors" "options"
echo "Done!"
以上是关于sh 用于将多个IntelliJ IDEA(或其他JetBrains IDE)语法颜色主题组合到单个jar文件中的Bash脚本的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse应该向IntelliJ IDEA学习的5种优秀特性
IntelliJ IDEA添加过滤文件或目录
IntelliJ idea 多个maven模块同时运行,怎么操作
IntelliJ IDEA入门教程之一
Intellij IDEA同时打开多个项目
sh Ubuntu上的IntelliJ IDEA中的键盘锁定