亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? editor.tcl

?? 是TCL的另外一個編譯(解釋)器
?? TCL
?? 第 1 頁 / 共 4 頁
字號:
        } else  {
            $TxtWidget delete "insert -1c" 
        }
        Editor::updateOnIdle [list $start $end]
        ColorizeLine [lindex [split [$TxtWidget index insert] "."] 0]
        return break
    }
    ColorizeLine [lindex [split [$TxtWidget index insert] "."] 0]
    return list
}

proc editorWindows::selectAll {} {
    variable TxtWidget
    
    if {$TxtWidget == ""} {
        return
    }
    
    $TxtWidget tag add sel 0.0 end
    
}

# set cursor to the function
proc editorWindows::gotoMark { markName } {
    global EditorData
    variable TxtWidget
    
    $TxtWidget mark set insert $markName
    $TxtWidget see insert
    focus $TxtWidget
    ReadCursor 0
    flashLine
}

proc editorWindows::gotoProc {procName} {
    global EditorData
    variable TxtWidget
    
    
    
    set expression "^( |\t|\;)*proc( |\t)+($procName)+( |\t)"
    set result [$TxtWidget search -regexp -- $expression insert]
    
    if {$result != ""} {
        $TxtWidget mark set insert $result
        $TxtWidget see insert
        focus $TxtWidget
        ReadCursor 0
        flashLine
    }
    return
}

proc editorWindows::gotoObject {name} {
    #Reasemnle the node name
    set node [file join [split [lrange $name 1 end] ::]]
}

proc editorWindows::flashLine {} {
    variable TxtWidget
    $TxtWidget tag add procSearch "insert linestart" "insert lineend"
    $TxtWidget tag configure procSearch -background yellow
    after 2000 {catch {$editorWindows::TxtWidget tag delete procSearch} }
    return
}

proc editorWindows::flashRegion {start end} {
    variable TxtWidget
    $TxtWidget tag add regionSearch $start $end
    $TxtWidget tag configure regionSearch -background yellow
    after 2000 {catch {$editorWindows::TxtWidget tag delete regionSearch} }
    return
}



# parse file and create proc file
proc editorWindows::ReadMarks { fileName } {
    global EditorData
    variable TxtWidget
    
    # clear all marks in this file
    foreach name [array names EditorData files,$EditorData(curFile),marks,] {
        unset EditorData($name)
    }
    
    set EditorData(files,$fileName,marks) {}
    
    set result [$TxtWidget search -forwards "proc " 1.0 end]
    
    while {$result != ""} {
        set lineNum [lindex [split $result "."] 0]
        set line [$TxtWidget get $lineNum.0 "$lineNum.0 lineend"]
        set temp [string trim $line \ \t\;]
        if {[scan $temp %\[proc\]%s proc name] == 2} {
            if {$proc == "proc"} {
                set markName $name
                lappend EditorData(files,$fileName,marks) $markName
                set EditorData(files,$fileName,marks,$markName,name) $name
            }
        }
        set result [$TxtWidget search -forwards "proc" "$result lineend" end ]
    }
    return
}


proc editorWindows::IndentCurLine {} {
    variable TxtWidget
    
    IndentLine [lindex [split [$TxtWidget index insert] "."] 0]
}

proc editorWindows::IndentLine {lineNum} {
    variable TxtWidget
    global EditorData
    
    if {$EditorData(options,useSintaxIndent)} {
        set end [$TxtWidget index "$lineNum.0 lineend"]
        incr lineNum -1
        set start [$TxtWidget index "$lineNum.0"]
        autoIndent $start $end
    } elseif {$EditorData(options,useIndent)} {
        if {$lineNum > 1} {
            # get previous line text
            incr lineNum -1
            set prevText [$TxtWidget get "$lineNum.0" "$lineNum.0 lineend"]
            regexp "^(\ |\t)*" $prevText spaces
            set braces [CountBraces $prevText]
            if {$braces > 0} {
                #indent
                incr lineNum
                $TxtWidget insert $lineNum.0 $spaces
                return
            }
        }
    } else  {
        return
    }
}

proc editorWindows::indentSelection {} {
    variable TxtWidget
    global tclDevData
    
    #check for selection & get start and end lines
    if {[$TxtWidget tag ranges sel] == ""} {
        set startLine [lindex [split [$TxtWidget index insert] "."] 0]
        set endLine [lindex [split [$TxtWidget index insert] "."] 0]
        set oldpos [$TxtWidget index insert]
    } else  {
        set startLine [lindex [split [$TxtWidget index sel.first] "."] 0]
        set endLine [lindex [split [$TxtWidget index sel.last] "."] 0]
        set selFirst [$TxtWidget index sel.first]
        set selLast [$TxtWidget index sel.last]
        set anchor [$TxtWidget index anchor]
    }
    
    
    if {$endLine == [lindex [split [$TxtWidget index end] "."] 0]} {
        #skip last line in widget
        incr endLine -1
    }
    
    for {set lineNum $startLine} {$lineNum <= $endLine} {incr lineNum} {
        set text " "
        append text [$TxtWidget get "$lineNum.0" "$lineNum.0 lineend"]
        
        $TxtWidget delete "$lineNum.0" "$lineNum.0 lineend"
        $TxtWidget insert "$lineNum.0" $text
    }
    # highlight
    ColorizeLines $startLine $endLine
    
    # set selection
    if {[$TxtWidget tag ranges sel] != ""} {
        set selFirst $selFirst+1c
        set selLast $selLast+1c
        $TxtWidget tag add sel $selFirst $selLast
        $TxtWidget mark set anchor $anchor
        $TxtWidget mark set insert $selLast
    } else  {
        $TxtWidget mark set insert $oldpos+1c
    }
    return
}

proc editorWindows::unindentSelection {} {
    variable TxtWidget
    global tclDevData
    
    #check for selection & get start and end lines
    if {[$TxtWidget tag ranges sel] == ""} {
        set startLine [lindex [split [$TxtWidget index insert] "."] 0]
        set endLine [lindex [split [$TxtWidget index insert] "."] 0]
        set oldpos [$TxtWidget index insert]
    } else  {
        set startLine [lindex [split [$TxtWidget index sel.first] "."] 0]
        set endLine [lindex [split [$TxtWidget index sel.last] "."] 0]
        set selFirst [$TxtWidget index sel.first]
        set selLast [$TxtWidget index sel.last]
        set anchor [$TxtWidget index anchor]
    }
    
    if {$endLine == [lindex [split [$TxtWidget index end] "."] 0]} {
        #skip last line in widget
        incr endLine -1
    }
    
    for {set lineNum $startLine} {$lineNum <= $endLine} {incr lineNum} {
        if {[$TxtWidget get "$lineNum.0" "$lineNum.0 +1 char"] == " "} {
            $TxtWidget delete "$lineNum.0" "$lineNum.0 +1 char"
        }
    }
    # highlight
    ColorizeLines $startLine $endLine
    
    # set selection
    if {[$TxtWidget tag ranges sel] != ""} {
        if {[lindex [split $selFirst "."] 1] != 0} {
            set selFirst $selFirst-1c
        }
        if {[lindex [split $selLast "."] 1] != 0} {
            set selLast $selLast-1c
        }
        $TxtWidget tag add sel $selFirst $selLast
        $TxtWidget mark set anchor $anchor
        $TxtWidget mark set insert $selLast
    } else  {
        $TxtWidget mark set insert $oldpos-1c
    }
    return
}

proc editorWindows::autoIndent {{start ""} {end ""}} {
    global EditorData
    variable TxtWidget
    
    set cursor [. cget -cursor]
    set textCursor [$TxtWidget cget -cursor]
    . configure -cursor watch
    $TxtWidget configure -cursor watch
    set selection 0
    set update 0
    if {$start == "" || $end == ""} {
        if {[$TxtWidget tag ranges sel] == ""} {
            #no selection: auto indent the whole file
            set start "1.0"
            set end "end -1c"
            set Editor::prgindic 0
            set Editor::status ""
            set update 1
        } else  {
            # only indent selection
            set selection 1
            set start [$TxtWidget index sel.first]
            set end [$TxtWidget index sel.last]
        }
    }
    # check for line continuation
    while {[$TxtWidget search -regexp {[\\]$} $start "$start lineend"] != "" && $start != "1.0"} {
        set start [$TxtWidget index "$start -1l linestart"]
    }
    set level 0
    set levelCorrection 0
    set comment 0
    set lineExpand 0
    set firstLine [$TxtWidget get "$start linestart" "$start lineend"]
    set curLine [$TxtWidget get "insert linestart" "insert lineend"]
    set cursorPos [lindex [split [$TxtWidget index insert] "."] 1]
    set cursorLine [lindex [split [$TxtWidget index insert] "."] 0]
    regexp {^[ \t]*} $curLine temp
    set cursorPos [expr $cursorPos - [string length $temp]]
    regexp {^[ \t]*} $firstLine temp
    regsub -all {\t} $temp $EditorData(indentString) offset
    while {[expr [string length $offset] % [string length $EditorData(indentString)]]} {
        append offset " "
    }
    set spaces $offset
    set currentSpaces $spaces
    set level [expr [string length $offset] / [string length $EditorData(indentString)]]
    set lineNum [lindex [split [$TxtWidget index $start] "."] 0]
    set startLine $lineNum
    set endLine [lindex [split [$TxtWidget index $end] "."] 0]
    while {$lineNum <= $endLine} {
        if {$Editor::prgindic != -1} {
            set Editor::prgindic [expr int($lineNum.0 / $endLine * 100)]
            set Editor::status "Indention progress: $Editor::prgindic % "
            update idletasks
        }
        set oldLine [$TxtWidget get $lineNum.0 "$lineNum.0 lineend"]
        set line [string trim $oldLine " \t"]
        set firstChar [string index $line 0]
        switch -- $firstChar {
            "\#" {
                #skip
                set comment 1
            }
            "\}" {
                #unindent line
                set spaces ""
                set comment 0
                if {$lineNum != $startLine} {
                    #skip the first line, otherwise it will be unindented
                    incr level -1
                }
                if {$level >= 0} {
                    for  {set i 0} {$i < $level} {incr i} {
                        append spaces "$EditorData(indentString)"
                    }
                    incr level
                } else  {
                    set level 0
                }
            }
            default {
                set comment 0
            }
        }
        set newLine "$spaces$line"
        if {$comment} {
            if {$oldLine != $newLine} {
                $TxtWidget delete "$lineNum.0" "$lineNum.0 lineend"
                $TxtWidget insert "$lineNum.0" $newLine
            }
            incr lineNum
            set currentSpaces $spaces
            continue
        }
        set count [CountBraces $line]
        incr level $count
        if {$level < 0} {
            set level 0
        }
        set lastChar [string index $line [expr [string length $line] -1]]
        switch -- $lastChar {
            "\\" {
                #is there a leading openbrace?
                if [regexp {\{[ \t]*\\$} $line] {
                    #ignore backslash
                } else  {
                    # line continues with next line
                    if {$lineExpand} {
                        #skip
                    } else  {
                        #this is the first line of new line concatenation
                        set lineExpand 1
                        set oldlevel $level
                        incr level 2
                        set oldlevel $level
                        incr levelCorrection -2
                    }
                }
            }
            
            default {
                #is this the end of line concatenation ?
                if {$lineExpand} {
                    
                    if {($count <= 0) && ($level <= $oldlevel)} {
                        # do correction
                        if {$level > 0} {
                            incr level $levelCorrection
                            set levelCorrection 0
                        }
                        set lineExpand 0
                    } else {
                        #if there磗 an open command do the indent correction later
                    }
                } elseif {$count < 0} {
                    #now the open command within a line concatenation should be completed
                    #so we add the correction value
                    incr level $levelCorrection
                    set levelCorrection 0
                }
            }
        }; #end of switch

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清一区二区三区| 国产成人99久久亚洲综合精品| 亚洲欧美激情在线| 亚洲国产电影在线观看| 欧美国产精品劲爆| 亚洲小说欧美激情另类| 欧美a一区二区| 不卡视频一二三四| 欧美男女性生活在线直播观看| 欧美性生活久久| 中文字幕免费观看一区| 肉色丝袜一区二区| 欧美性生活大片视频| 精品视频免费在线| 国产欧美日韩精品a在线观看| 亚洲精品久久久久久国产精华液| 国产一区二区三区久久久| 日本韩国欧美一区| 国产午夜三级一区二区三| 亚洲综合小说图片| www.av精品| 国产精品污网站| 国内精品久久久久影院薰衣草| 日韩一区二区精品葵司在线| 自拍偷拍国产亚洲| 91丨九色丨黑人外教| 国产精品天天看| 成人国产免费视频| 亚洲视频在线一区| 99久久精品费精品国产一区二区| 国产三级精品视频| 福利一区二区在线观看| 中文字幕不卡一区| av在线不卡网| 亚洲最大的成人av| 欧美日韩一级二级三级| 午夜伊人狠狠久久| 日韩免费在线观看| 国产精品一品二品| 中文字幕第一页久久| 92国产精品观看| 亚洲一区二区在线免费看| 欧美日韩一区二区三区在线看| 亚洲影视在线观看| 欧美草草影院在线视频| 国产电影精品久久禁18| 亚洲综合一区二区| 日韩午夜在线影院| 日本高清无吗v一区| 日韩高清不卡一区二区三区| 3d动漫精品啪啪一区二区竹菊| 麻豆freexxxx性91精品| 国产精品久久久久久久裸模| 欧美日韩在线播放三区| 国产一区二区免费视频| 亚洲综合一区二区| 国产精品视频一二三区 | 黄页视频在线91| 亚洲欧洲日本在线| 欧美成va人片在线观看| 欧美日韩一区三区四区| av成人动漫在线观看| 国产麻豆精品久久一二三| 视频一区二区三区在线| 亚洲品质自拍视频| 日本一区二区三级电影在线观看| 欧美自拍偷拍午夜视频| aa级大片欧美| 国产精品中文字幕一区二区三区| 日韩中文字幕区一区有砖一区| 亚洲人成精品久久久久久| 国产精品伦理在线| 国产欧美一区二区精品久导航 | 精品一区二区免费看| 天堂久久久久va久久久久| 亚洲五月六月丁香激情| 夜夜精品视频一区二区| 亚洲男人的天堂网| 伊人婷婷欧美激情| 一区二区三区中文在线| 日韩女优电影在线观看| 精品国产一区a| 久久久久99精品国产片| 国产精品久久久久一区二区三区| 国产拍欧美日韩视频二区| √…a在线天堂一区| 亚洲精品欧美二区三区中文字幕| 亚洲精品日日夜夜| 毛片不卡一区二区| 国产一区二区三区精品视频| 成人不卡免费av| 日韩欧美国产系列| 国产精品嫩草影院av蜜臀| 亚洲精品国产一区二区精华液| 视频一区欧美日韩| 国产精品一区二区在线看| 99久久久国产精品| 欧美高清hd18日本| 国产精品成人午夜| 久久国产尿小便嘘嘘| 色欧美日韩亚洲| 国产日韩欧美综合一区| 亚洲v中文字幕| 91年精品国产| 欧美极品aⅴ影院| 九色porny丨国产精品| 欧美在线色视频| 亚洲日本va在线观看| 国产露脸91国语对白| 日韩一区二区三区视频在线观看| 亚洲色欲色欲www在线观看| 国产成人亚洲精品狼色在线| 91麻豆精品国产91久久久久久久久 | 欧美三级在线看| 亚洲免费观看高清| 成人av电影在线网| 国产精品久久久久久久久久久免费看| 免费观看在线色综合| 制服丝袜成人动漫| 日韩黄色免费电影| 欧美日韩成人一区| 强制捆绑调教一区二区| 欧美在线免费观看亚洲| 一色屋精品亚洲香蕉网站| 不卡av在线网| 亚洲综合精品久久| 欧美日免费三级在线| 久久激情五月婷婷| 欧美精品一区二区三区在线播放| 久久er99热精品一区二区| 精品国产一区二区国模嫣然| 国产一区二区在线看| 国产精品久久久久7777按摩| 97久久超碰国产精品电影| 五月天中文字幕一区二区| 欧美疯狂做受xxxx富婆| 精品无人区卡一卡二卡三乱码免费卡| 欧美岛国在线观看| 99久久久久免费精品国产| 亚洲另类中文字| 精品不卡在线视频| 色综合中文综合网| 色综合天天狠狠| 久久精品国产一区二区| 国产精品女同互慰在线看| 日韩视频在线永久播放| 日本高清无吗v一区| 国产精品一级二级三级| 首页亚洲欧美制服丝腿| 亚洲国产精品激情在线观看| 制服.丝袜.亚洲.中文.综合| 成人激情电影免费在线观看| 久久99最新地址| 一区二区成人在线观看| 中文av一区二区| 久久综合久久综合九色| 91精品欧美一区二区三区综合在| 成人性色生活片| 精品中文字幕一区二区| 日韩电影在线一区二区| 亚洲最色的网站| 亚洲午夜视频在线观看| 综合久久综合久久| 中文字幕乱码久久午夜不卡| 精品国产成人系列| 精品精品国产高清a毛片牛牛| 欧美中文一区二区三区| 色婷婷亚洲一区二区三区| 色吊一区二区三区 | 久久九九99视频| 精品国产乱码久久久久久图片| 制服丝袜日韩国产| 欧美军同video69gay| 欧美另类一区二区三区| 制服丝袜成人动漫| 欧美videos中文字幕| 久久久国际精品| 国产精品美女久久久久久久久久久| 中文字幕在线免费不卡| 日韩美女啊v在线免费观看| 亚洲高清中文字幕| 午夜日韩在线观看| 美女免费视频一区| 国产一区二区在线观看免费| 国产在线观看免费一区| 99久久er热在这里只有精品66| 在线观看日韩一区| 日韩免费视频一区| 亚洲欧洲av色图| 亚洲欧洲另类国产综合| 一区二区三区中文字幕电影| 精品一区二区在线视频| 激情图区综合网| 粉嫩av一区二区三区粉嫩| 欧美少妇bbb| 日韩视频一区在线观看| 国产三级精品视频| 午夜欧美大尺度福利影院在线看| 日本成人中文字幕| 色婷婷国产精品综合在线观看|