From 0833f8f3cc018e69d0aa2c972efdb48a87dd1b33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com>
Date: Wed, 8 Jun 2022 23:15:14 +0800
Subject: [PATCH] =?UTF-8?q?1.18=20effect=20at=20previous=20layer=20when=20?=
=?UTF-8?q?folder=20named=20-1=20|=20=E6=96=87=E4=BB=B6=E5=A4=B9=E5=90=8D?=
=?UTF-8?q?=E4=B8=BA=20-1=20=E6=97=B6=E9=85=8D=E7=BD=AE=E5=9C=A8=E4=B8=8A?=
=?UTF-8?q?=E4=B8=80=E5=B1=82=E6=96=87=E4=BB=B6=E5=A4=B9=E7=94=9F=E6=95=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 6 ++++--
build.gradle | 4 +++-
.../plugin/show/ext/conf/ConfCacheGetUtils.java | 9 +++++++++
src/main/resources/META-INF/plugin.xml | 4 ++--
.../show/demo/ext/cobol/-1/previous layer demo.tree.tsv | 3 +++
.../show/demo/ext/cobol/-2/previous layer demo.tree.tsv | 3 +++
6 files changed, 24 insertions(+), 5 deletions(-)
create mode 100644 src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-1/previous layer demo.tree.tsv
create mode 100644 src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-2/previous layer demo.tree.tsv
diff --git a/README.md b/README.md
index a6a60e2..79dabc6 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ Thanks JetBrains Licenses for Open Source.
path/[any][filename.]ext.tree.tsv // file and folder tree comment 📝 📁
path/[any][filename.]ext.key.tsv // line keywords to split and comment
path/[any][filename.]ext.doc.tsv // line words comment
-In path, "doc" can replace any, and can use % like in SQL
+In path, "doc" can replace any, and can use % like in SQL, effect at previous layer when folder named -1
The lines in key.tsv will be concatenated with `|` to regexp; longer str should in front; startWith `?` to exclude
Chang tsv file in find pop window would not reload!
The tsv conf file must could be search in "Go to File"(Ctrl + Shift + N)
@@ -45,7 +45,7 @@ Thanks JetBrains Licenses for Open Source.
path/[any][filename.]ext.key.tsv // 切割关键字与注释
path/[any][filename.]ext.doc.tsv // 词注释
key.tsv 的每一行将会用`|`连接起来形成正则表达式,较长的关键字应该放在前面,用 `?` 开头排除
-doc 文件夹可以替换任何一层文件夹,可以像 SQL 那样用 % 模糊匹配
+doc 文件夹可以替换任何一层文件夹,可以像 SQL 那样用 % 模糊匹配,文件夹名为 -1 时在上一层文件夹生效
在搜索弹出窗中修改 tsv 文件将不会被重加载
tsv 配置文件必须能被搜索(Ctrl + Shift + N)
@@ -56,6 +56,7 @@ Thanks JetBrains Licenses for Open Source.
English Change Notes:
+- 1.18 Add External Comment effect at previous layer when folder named -1
- 1.17 Add line-end-comment skip doc text or class/member name by regexp
- 1.16 Add line-end-comment skip when comments have been added
- 1.15 Add line-end-comment support COBOL ext '', 'cbl', 'cob', 'cobol'
@@ -77,6 +78,7 @@ Thanks JetBrains Licenses for Open Source.
中文更新说明:
+- 1.18 增加 外部注释 文件夹名为 -1 时配置在上一层文件夹生效
- 1.17 增加 行末注释 根据正则表达式跳过指定注释文本或类成员名字的注释
- 1.16 增加 行末注释 已经添加行末注释时跳过
- 1.15 增加 行末注释 COBOL 拓展名支持 无拓展名、cbl、cob、cobol
diff --git a/build.gradle b/build.gradle
index 9dce0a8..7b1e79e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ plugins {
}
group 'io.github.linwancen'
-version '1.17.0.' + (new Date().format('yyyy.MM.dd_HH.mm'))
+version '1.18.0.' + (new Date().format('yyyy.MM.dd_HH.mm'))
apply plugin: 'java'
@@ -39,6 +39,7 @@ patchPluginXml {
changeNotes = """
English Change Notes:
+- 1.18 Add External Comment effect at previous layer when folder named -1
- 1.17 Add line-end-comment skip doc text or class/member name by regexp
- 1.16 Add line-end-comment skip when comments have been added
- 1.15 Add line-end-comment support COBOL ext '', 'cbl', 'cob', 'cobol'
@@ -60,6 +61,7 @@ patchPluginXml {
中文更新说明:
+- 1.18 增加 外部注释 文件夹名为 -1 时配置在上一层文件夹生效
- 1.17 增加 行末注释 根据正则表达式跳过指定注释文本或类成员名字的注释
- 1.16 增加 行末注释 已经添加行末注释时跳过
- 1.15 增加 行末注释 COBOL 拓展名支持 无拓展名、cbl、cob、cobol
diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCacheGetUtils.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCacheGetUtils.java
index 3b66277..3958e41 100644
--- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCacheGetUtils.java
+++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCacheGetUtils.java
@@ -98,6 +98,15 @@ class ConfCacheGetUtils {
String[] paths = StringUtils.split(path, '/');
String[] confPaths = StringUtils.split(confPath, '/');
int length = confPaths.length;
+ String lastFolder = confPaths[length - 2];
+ if (lastFolder.startsWith("-")) {
+ try {
+ int i = Integer.parseInt(lastFolder);
+ length = length + i - 1;
+ } catch (NumberFormatException e) {
+ // ignore
+ }
+ }
if (length > paths.length) {
return 0;
}
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 7e11d15..95731b0 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -19,7 +19,7 @@
- path/[any][filename.]ext.tree.tsv // file and folder tree comment 📝 📁
- path/[any][filename.]ext.key.tsv // line keywords to split and comment
- path/[any][filename.]ext.doc.tsv // line words comment
-
- In path, "doc" can replace any, and can use % like in SQL
+
- In path, "doc" can replace any, and can use % like in SQL, effect at previous layer when folder named -1
- The lines in key.tsv will be concatenated with `|` to regexp; longer str should in front; startWith `?` to exclude
- Chang tsv file in find pop window would not reload!
- The tsv conf file must could be search in "Go to File"(Ctrl + Shift + N)
@@ -42,7 +42,7 @@
- path/[any][filename.]ext.key.tsv // 切割关键字与注释
- path/[any][filename.]ext.doc.tsv // 词注释
- key.tsv 的每一行将会用`|`连接起来形成正则表达式,较长的关键字应该放在前面,用 `?` 开头排除
-
- doc 文件夹可以替换任何一层文件夹,可以像 SQL 那样用 % 模糊匹配
+
- doc 文件夹可以替换任何一层文件夹,可以像 SQL 那样用 % 模糊匹配,文件夹名为 -1 时在上一层文件夹生效
- 在搜索弹出窗中修改 tsv 文件将不会被重加载
- tsv 配置文件必须能被搜索(Ctrl + Shift + N)
diff --git a/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-1/previous layer demo.tree.tsv b/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-1/previous layer demo.tree.tsv
new file mode 100644
index 0000000..8f25802
--- /dev/null
+++ b/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-1/previous layer demo.tree.tsv
@@ -0,0 +1,3 @@
+-1 上 1 层文件夹测试
+cobol 上 1 层文件夹测试
+ext 上 1 层文件夹测试(不应显示)
\ No newline at end of file
diff --git a/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-2/previous layer demo.tree.tsv b/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-2/previous layer demo.tree.tsv
new file mode 100644
index 0000000..c2c5f82
--- /dev/null
+++ b/src/test/java/io/github/linwancen/plugin/show/demo/ext/cobol/-2/previous layer demo.tree.tsv
@@ -0,0 +1,3 @@
+-2 上 2 层文件夹测试
+cobol 上 2 层文件夹测试
+java 上 2 层文件夹测试
\ No newline at end of file