Добавлена логика для работы с troff/groff файлами
This commit is contained in:
@@ -1462,7 +1462,25 @@ namespace eval Editor {
|
||||
|
||||
}
|
||||
set fileType [string toupper [string trimleft [file extension $fileFullPath] "."]]
|
||||
if {$fileType eq ""} {set fileType "Unknown"}
|
||||
# Set file type if file extention is digits
|
||||
switch -regexp -- $fileType {
|
||||
[[:digit:]]+ {
|
||||
if {[FileOper::GetFileMimeType $fileFullPath] eq "troff"} {
|
||||
set fileType TROFF
|
||||
} else {
|
||||
set fileType "Unknow"
|
||||
}
|
||||
}
|
||||
^$ {
|
||||
if {[FileOper::GetFileMimeType $fileFullPath] eq "troff"} {
|
||||
set fileType TROFF
|
||||
} else {
|
||||
set fileType "Unknow"
|
||||
}
|
||||
}
|
||||
}
|
||||
DebugPuts "Editor::Editor: file type is \"$fileType\""
|
||||
# if {$fileType eq ""} {set fileType "Unknown"}
|
||||
|
||||
ExecutorCommandPathSetting $fileType
|
||||
|
||||
@@ -1510,7 +1528,7 @@ namespace eval Editor {
|
||||
puts $fileFullPath
|
||||
}
|
||||
# puts [$w.panelTxt panes]
|
||||
DebugPuts "$w $fileType $nb $fileFullPath"
|
||||
DebugPuts "Editor::SplitEditorForExecute: $w $fileType $nb $fileFullPath"
|
||||
|
||||
# set fileType [string toupper [string trimleft [file extension $filePath] "."]]
|
||||
|
||||
|
||||
@@ -76,7 +76,13 @@ namespace eval FileOper {
|
||||
}
|
||||
# линуксовый file не всегда корректно определяет тип файла
|
||||
# используем пакет из tcl
|
||||
lassign [::fileutil::fileType $fileFullPath] fType fBinaryType fBinaryInterp
|
||||
if { $fType eq "text" && $fExt eq "troff"} {
|
||||
set fType $fExt
|
||||
set fBinaryType "text"
|
||||
set fBinaryInterp "groff"
|
||||
} else {
|
||||
lassign [::fileutil::fileType $fileFullPath] fType fBinaryType fBinaryInterp
|
||||
}
|
||||
DebugPuts "File type is $fType, $fBinaryType, $fBinaryInterp"
|
||||
set ext [string tolower [file extension $fileFullPath]]
|
||||
|
||||
@@ -140,6 +146,9 @@ namespace eval FileOper {
|
||||
}
|
||||
}
|
||||
}
|
||||
"troff" {
|
||||
return troff
|
||||
}
|
||||
"empty" {
|
||||
return text
|
||||
}
|
||||
@@ -536,7 +545,7 @@ namespace eval FileOper {
|
||||
set fileType [FileOper::GetFileMimeType $fileFullPath]
|
||||
}
|
||||
|
||||
# puts "$fileType <<<<<<<<<<<"
|
||||
DebugPuts "FileOper::Edit: file type is \"$fileType\""
|
||||
|
||||
switch $fileType {
|
||||
"text" {
|
||||
|
||||
@@ -925,6 +925,22 @@ proc Execute {filePath w activeEditor} {
|
||||
|
||||
# Added executor from config
|
||||
set fileType [string toupper [string trimleft [file extension $filePath] "."]]
|
||||
switch -regexp -- $fileType {
|
||||
[[:digit:]]+ {
|
||||
if {[FileOper::GetFileMimeType $filePath] eq "troff"} {
|
||||
set fileType TROFF
|
||||
} else {
|
||||
set fileType "Unknow"
|
||||
}
|
||||
}
|
||||
^$ {
|
||||
if {[FileOper::GetFileMimeType $filePath] eq "troff"} {
|
||||
set fileType TROFF
|
||||
} else {
|
||||
set fileType "Unknow"
|
||||
}
|
||||
}
|
||||
}
|
||||
if {[info exists cfgVariables($fileType)] != 0 && $cfgVariables($fileType) ne ""} {
|
||||
$w.frame.text insert end "$cfgVariables($fileType) %f"
|
||||
}
|
||||
@@ -1131,7 +1147,7 @@ proc ExecutorCommandPathSetting {fileType} {
|
||||
}
|
||||
if {[info exists cfgVariables($fileType)] == 0} {
|
||||
set cfgVariables($fileType) ""
|
||||
DebugPuts $cfgVariables($fileType)
|
||||
DebugPuts "ExecutorCommandPathSetting: cfgVariables($fileType) = $cfgVariables($fileType)"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user