Исправлено некорректное определение типа файла при открытии.

This commit is contained in:
svkalinin 2024-05-17 10:34:53 +03:00
parent 3ee60f48c3
commit 09d8a06f9e
3 changed files with 15 additions and 7 deletions

View File

@ -31,6 +31,7 @@ namespace eval FileOper {
# lappend cmd $activeProject # lappend cmd $activeProject
lappend cmd $fileFullPath lappend cmd $fileFullPath
# puts $cmd
catch $cmd pipe catch $cmd pipe
# puts $pipe # puts $pipe
if [regexp -nocase -- {(\w+)/([\w\-_\.]+); charset=([[:alnum:]-]+)} $pipe m fType fExt fCharset] { if [regexp -nocase -- {(\w+)/([\w\-_\.]+); charset=([[:alnum:]-]+)} $pipe m fType fExt fCharset] {
@ -43,12 +44,15 @@ namespace eval FileOper {
} }
} }
} }
# линуксовый file не всегда корректно определяет тип файла
# используем пакет из tcl
lassign [::fileutil::fileType $fileFullPath] fType fBinaryType fBinaryInterp
puts "File type is $fType, $fBinaryType, $fBinaryInterp"
switch $fType { switch $fType {
"application" { "binary" {
if {$fExt ne "json"} {
return false return false
} }
}
"text" { "text" {
return text return text
} }
@ -393,7 +397,7 @@ namespace eval FileOper {
if {[file exists $fileFullPath] == 0} { if {[file exists $fileFullPath] == 0} {
return false return false
} else { } else {
# puts [::fileutil::magic::filetype $fileFullPath] puts "$fileFullPath File type [::fileutil::magic::filetype $fileFullPath]"
set fileType [FileOper::GetFileMimeType $fileFullPath] set fileType [FileOper::GetFileMimeType $fileFullPath]
} }
switch $fileType { switch $fileType {

View File

@ -20,6 +20,7 @@ dict set lexers GO commentMultilineSymbolEnd {*/}
dict set lexers GO procFindString {func.*?PROCNAME} dict set lexers GO procFindString {func.*?PROCNAME}
dict set lexers GO procRegexpCommand {regexp -nocase -all -- {\s*?func\s*?(\(\w+\s*?\**?\w+\)|)\s*?(\w+)\((.*?)\)\s+?([a-zA-Z0-9\{\}\[\]\(\)-_.]*?|)\s*?\{} $line match linkName procName params returns} dict set lexers GO procRegexpCommand {regexp -nocase -all -- {\s*?func\s*?(\(\w+\s*?\**?\w+\)|)\s*?(\w+)\((.*?)\)\s+?([a-zA-Z0-9\{\}\[\]\(\)-_.]*?|)\s*?\{} $line match linkName procName params returns}
dict set lexers GO varRegexpCommand {regexp -nocase -all -line -- {^\s*?var\s+([a-zA-Z0-9\-_$]+)\s+(.+?)(\s*$)} $line match varName varType lineEnd} dict set lexers GO varRegexpCommand {regexp -nocase -all -line -- {^\s*?var\s+([a-zA-Z0-9\-_$]+)\s+(.+?)(\s*$)} $line match varName varType lineEnd}
#-------------------------------------------------- #--------------------------------------------------
# SHELL (Bash) # SHELL (Bash)
dict set lexers SH commentSymbol {#} dict set lexers SH commentSymbol {#}
@ -43,6 +44,7 @@ dict set lexers RB tabSize 2
dict set lexers RB procFindString {(def |class )\s*?PROCNAME} dict set lexers RB procFindString {(def |class )\s*?PROCNAME}
dict set lexers RB procRegexpCommand {regexp -nocase -all -- {^\s*?(def|class)\s([a-zA-Z0-9\-_:\?]+?)($|\s|\(.+?\))} $line match keyWord procName params} dict set lexers RB procRegexpCommand {regexp -nocase -all -- {^\s*?(def|class)\s([a-zA-Z0-9\-_:\?]+?)($|\s|\(.+?\))} $line match keyWord procName params}
dict set lexers RB varRegexpCommand {regexp -nocase -all -line -- {^\s*?(\w+)\s*=\s*(.+)($)} $line match varName varValue lineEnd} dict set lexers RB varRegexpCommand {regexp -nocase -all -line -- {^\s*?(\w+)\s*=\s*(.+)($)} $line match varName varValue lineEnd}
#-------------------------------------------------- #--------------------------------------------------
# YAML (ansible) # YAML (ansible)
dict set lexers YML commentSymbol {#} dict set lexers YML commentSymbol {#}
@ -95,6 +97,8 @@ dict set lexers HTM tabSize 4
dict set lexers HTM procFindString {<h[0-9]>(<.+>|)PROCNAME(</.+>|)</h[0-9]>} dict set lexers HTM procFindString {<h[0-9]>(<.+>|)PROCNAME(</.+>|)</h[0-9]>}
dict set lexers HTM procRegexpCommand {regexp -nocase -all -- {<h[0-9]>(<.+>|)(.+?)(</.+>|)</h[0-9]>} $line match v1 procName v2} dict set lexers HTM procRegexpCommand {regexp -nocase -all -- {<h[0-9]>(<.+>|)(.+?)(</.+>|)</h[0-9]>} $line match v1 procName v2}
#--------------------------------------------------
# LUA
dict set lexers LUA commentSymbol {--} dict set lexers LUA commentSymbol {--}
dict set lexers LUA procFindString {function\s*?PROCNAME} dict set lexers LUA procFindString {function\s*?PROCNAME}
dict set lexers LUA procRegexpCommand {regexp -nocase -all -- {^(local|)\s*?(function)\s([a-zA-Z0-9\-_:]+?)\s+\((.+?)\)} $line match v1 keyWord procName params} dict set lexers LUA procRegexpCommand {regexp -nocase -all -- {^(local|)\s*?(function)\s([a-zA-Z0-9\-_:]+?)\s+\((.+?)\)} $line match v1 keyWord procName params}

View File

@ -10,7 +10,7 @@ exec wish "$0" -- "$@"
###################################################### ######################################################
# Version: 2.0.0 # Version: 2.0.0
# Release: alpha # Release: alpha
# Build: 27072023125916 # Build: 17052024103352
###################################################### ######################################################
# определим текущую версию, релиз и т.д. # определим текущую версию, релиз и т.д.