Skip to content

Commit 6e431e4

Browse files
committed
optimize LuaFileUtil#findFile
1 parent 78e8a58 commit 6e431e4

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

EmmyLua-Common/src/main/ext/com/tang/intellij/lua/IVSCodeSettings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ interface IVSCodeSettings {
1515
val showCodeLens: Boolean
1616
val completionCaseSensitive: Boolean
1717
val sourceRoots: List<String>
18+
val fileExtensions: List<String>
1819

1920
fun matchFile(name: String): Boolean
2021
}

EmmyLua-Common/src/main/ext/com/tang/intellij/lua/psi/LuaFileUtil.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package com.tang.intellij.lua.psi
22

33
import com.intellij.openapi.project.Project
44
import com.intellij.openapi.vfs.VirtualFile
5+
import com.tang.intellij.lua.IVSCodeSettings
56
import com.tang.intellij.lua.ext.ILuaFileResolver
67

78
object LuaFileUtil {
89

9-
//有些扩展名也许是txt
10-
private val extensions = arrayOf(".lua.txt", ".lua", ".txt", "")
11-
1210
fun findFile(project: Project, shortUrl: String?): VirtualFile? {
11+
val settings = IVSCodeSettings.get(project)
12+
val extensions = settings.fileExtensions.toTypedArray()
1313
return if (shortUrl == null) null else ILuaFileResolver.findLuaFile(project, shortUrl, extensions)
1414
}
1515
}

EmmyLua-LS/src/main/kotlin/com/tang/vscode/VSCodeSettings.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ object VSCodeSettings : IVSCodeSettings {
3636

3737
private val associations = mutableListOf(DEFAULT_ASSOCIATION)
3838

39+
private val myFileExtensions = mutableListOf<String>()
40+
41+
override val fileExtensions: List<String>
42+
get() = myFileExtensions
43+
3944
override val showCodeLens get() = myShowCodeLens
4045

4146
var clientType = "unknown"
@@ -84,12 +89,18 @@ object VSCodeSettings : IVSCodeSettings {
8489
val oriAssociations = ArrayList(associations)
8590
associations.clear()
8691
associations.add(DEFAULT_ASSOCIATION)
92+
myFileExtensions.clear()
93+
myFileExtensions.add(".lua")
8794
if (ass is JsonObject) {
8895
for (entry in ass.entrySet()) {
8996
val lan = entry.value.asString
9097
if (lan.toLowerCase() == "lua") {
9198
val wildcard = entry.key
9299
associations.add(wildcard)
100+
101+
if (wildcard.startsWith("*.")) {
102+
myFileExtensions.add(wildcard.substring(1))
103+
}
93104
}
94105
}
95106
}

0 commit comments

Comments
 (0)