mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-18 23:15:26 +02:00
feat(server): Detect language based on the filename
This commit is contained in:
parent
5798dd45f1
commit
ec4deeb59f
@ -4,6 +4,7 @@ import (
|
|||||||
"config-lsp/common"
|
"config-lsp/common"
|
||||||
"config-lsp/utils"
|
"config-lsp/utils"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"path"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -78,6 +79,27 @@ var valueToLanguageMap = map[string]SupportedLanguage{
|
|||||||
"etc/aliases": LanguageAliases,
|
"etc/aliases": LanguageAliases,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var filenameToLanguageMap = map[string]SupportedLanguage{
|
||||||
|
"sshd_config": LanguageSSHDConfig,
|
||||||
|
"sshdconfig": LanguageSSHDConfig,
|
||||||
|
"sshd": LanguageSSHDConfig,
|
||||||
|
|
||||||
|
"ssh_config": LanguageSSHConfig,
|
||||||
|
"sshconfig": LanguageSSHConfig,
|
||||||
|
|
||||||
|
"fstab": LanguageFstab,
|
||||||
|
|
||||||
|
"hosts": LanguageHosts,
|
||||||
|
|
||||||
|
"aliases": LanguageAliases,
|
||||||
|
"mailaliases": LanguageAliases,
|
||||||
|
|
||||||
|
"wg": LanguageWireguard,
|
||||||
|
"wg.conf": LanguageWireguard,
|
||||||
|
"wg0.conf": LanguageWireguard,
|
||||||
|
"wg0": LanguageWireguard,
|
||||||
|
}
|
||||||
|
|
||||||
var typeOverwriteRegex = regexp.MustCompile(`#\?\s*lsp\.language\s*=\s*(\w+)\s*`)
|
var typeOverwriteRegex = regexp.MustCompile(`#\?\s*lsp\.language\s*=\s*(\w+)\s*`)
|
||||||
var wireguardPattern = regexp.MustCompile(`/wg\d+\.conf$`)
|
var wireguardPattern = regexp.MustCompile(`/wg\d+\.conf$`)
|
||||||
|
|
||||||
@ -137,6 +159,12 @@ func DetectLanguage(
|
|||||||
return LanguageAliases, nil
|
return LanguageAliases, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filename := path.Base(string(uri))
|
||||||
|
|
||||||
|
if language, found := filenameToLanguageMap[filename]; found {
|
||||||
|
return language, nil
|
||||||
|
}
|
||||||
|
|
||||||
if strings.HasPrefix(uri, "file:///etc/wireguard/") || wireguardPattern.MatchString(uri) {
|
if strings.HasPrefix(uri, "file:///etc/wireguard/") || wireguardPattern.MatchString(uri) {
|
||||||
return LanguageWireguard, nil
|
return LanguageWireguard, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user