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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? editor.tcl

?? 是TCL的另外一個(gè)編譯(解釋)器
?? TCL
?? 第 1 頁 / 共 4 頁
字號(hào):
        #store current Spaces for restoring cursor position
        set currentSpaces $spaces
        # now setting the offset (spaces) for the next line
        set spaces ""
        for  {set i 0} {$i < $level} {incr i} {
            append spaces "$EditorData(indentString)"
        }
        if {$oldLine == $newLine} {
            incr lineNum
            continue
        }
        $TxtWidget delete "$lineNum.0" "$lineNum.0 lineend"
        $TxtWidget insert "$lineNum.0" $newLine
        incr lineNum
    } ; #end of while
    set startLine [lindex [split [$TxtWidget index $start] "."] 0]
    set endLine [lindex [split [$TxtWidget index $end] "."] 0]
    ColorizeLines $startLine $endLine
    . configure -cursor $cursor
    $TxtWidget configure -cursor $textCursor
    update
    
    #restore cursor position
    incr lineNum -1
    set cursorPos [expr $cursorPos + [string length $currentSpaces]]
    $TxtWidget mark set insert $cursorLine.$cursorPos
    if {$selection} {
        $TxtWidget tag remove sel $start insert
    }
    $TxtWidget see insert
    set Editor::prgindic -1
    set Editor::status ""
}

# change tab to spaces
proc editorWindows::OnTabPress {} {
    variable TxtWidget
    global EditorData
    
    if {$EditorData(options,changeTabs)} {
        set spaces ""
        
        for {set i 0} {$i < $EditorData(options,tabSize)} {incr i} {
            append spaces " "
        }
        
        #insert spaces
        $TxtWidget insert insert $spaces
    } else {
        #insert tab
        $TxtWidget insert insert "\t"
    }
    Editor::selectObject 0
}

proc editorWindows::onKeyPressReturn {key} {
    global EditorData
    variable TxtWidget
    
    set Editor::current(char) "\n"
    if {!$EditorData(options,autoUpdate)} {
        return list
    }
    if {[$TxtWidget tag ranges sel] != "" && $EditorData(options,autoUpdate)} {
        set start [$TxtWidget index sel.first]
        set end [$TxtWidget index sel.last]
        set range [editorWindows::deleteMarks $start $end]
        $TxtWidget mark set delStart [lindex $range 0]
        $TxtWidget mark gravity delStart left
        $TxtWidget mark set delEnd [lindex $range 1]
        $TxtWidget delete sel.first sel.last
        $TxtWidget insert insert $key
        if {[$TxtWidget compare insert > delEnd]} {
            $TxtWidget mark set delEnd insert
        }
        Editor::updateOnIdle [list [$TxtWidget index delStart] [$TxtWidget index delEnd]]
        $TxtWidget mark unset delStart
        $TxtWidget mark unset delEnd
        return break
    } else {
        return list
    }
}

# reaction on key releasing
proc editorWindows::OnKeyRelease {} {
    global EditorData
    variable TxtWidget
    
    catch {
        switch -regexp -- $Editor::current(char) {
            "\n" {
                # Return
                set lineNum [lindex [split [$TxtWidget index insert] "."] 0]
                set Editor::current(lastPos) [$Editor::current(text) index insert]
                ReadCursor
                ColorizeLine $lineNum
                set Editor::current(procListHistoryPos) 0
            }
            {.} {
                #printable chars
                switch -- $Editor::current(char) {
                    "\{" {editorWindows::OnLeftBraceRelease}
                    "\}" {editorWindows::IndentCurLine}
                    "\[" {editorWindows::OnLeftBracketRelease}
                }
                if {$Editor::current(isNode) && $EditorData(options,autoUpdate)} {
                    #if there磗 a pending update only store new range
                    Editor::updateOnIdle [list [$TxtWidget index insert] [$TxtWidget index insert]]
                } elseif {$EditorData(options,autoUpdate)}  {
                    Editor::selectObject 1
                } else  {
                    Editor::selectObject 0
                }
                set lineNum [lindex [split [$TxtWidget index insert] "."] 0]
                set Editor::current(lastPos) [$Editor::current(text) index insert]
                ReadCursor
                ColorizeLine $lineNum
                set Editor::current(procListHistoryPos) 0
            }
            default  {
                #non printable chars
                Editor::selectObject 0
                set Editor::current(lastPos) [$Editor::current(text) index insert]
                ReadCursor
            }
        }
    }
    set Editor::current(char) ""
}

#reaction on space release
proc editorWindows::OnSpaceRelease {} {
    global EditorData
    variable TxtWidget
    
    if {!$EditorData(options,useTemplates) || !$EditorData(options,useTemplatesForKeywords)} {
        return
    }
    set templateKeyword [GetTemplateKeyword [$TxtWidget get "insert linestart" "insert lineend"]]
    set curPos [$TxtWidget index insert]
    set lineNum [lindex [split $curPos "."] 0]
    
    switch -- $templateKeyword {
        "if" {
            $TxtWidget insert insert " \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
        
        "for" {
            $TxtWidget insert insert " \{\} \{\} \{\} \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert "$curPos +1ch"
        }
        
        "foreach" {
            $TxtWidget insert insert " \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
        
        "while" {
            $TxtWidget insert insert " \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
        
        "switch" {
            $TxtWidget insert insert " \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
        
        "proc" {
            $TxtWidget insert insert " \{\} \{\n\}"
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
        
        "else" {
            $TxtWidget insert insert " \{\n\n\}"
            ColorizeLine $lineNum
            incr lineNum
            IndentLine $lineNum
            incr lineNum
            IndentLine $lineNum
            incr lineNum -1
            $TxtWidget mark set insert "$lineNum.0 lineend"
        }
        
        "elseif" {
            $TxtWidget insert insert " \{\n\}"
            ColorizeLine $lineNum
            incr lineNum
            IndentLine $lineNum
            $TxtWidget mark set insert $curPos
        }
    }
    return 0
}

proc editorWindows::OnLeftBraceRelease {} {
    variable TxtWidget
    global EditorData
    
    if {!$EditorData(options,useTemplates) || !$EditorData(options,useTemplatesForBrace)} {
        return
    }
    set curPos [$TxtWidget index insert]
    $TxtWidget insert insert "\}"
    $TxtWidget mark set insert $curPos
    return
}

proc editorWindows::OnLeftParenRelease {} {
    variable TxtWidget
    global EditorData
    
    if {!$EditorData(options,useTemplates) || !$EditorData(options,useTemplatesForParen)} {
        return
    }
    set curPos [$TxtWidget index insert]
    $TxtWidget insert insert "\)"
    $TxtWidget mark set insert $curPos
    Editor::selectObject 0
    return
}

proc editorWindows::OnLeftBracketRelease {} {
    variable TxtWidget
    global EditorData
    
    if {!$EditorData(options,useTemplates) || !$EditorData(options,useTemplatesForBracket)} {
        return
    }
    
    set curPos [$TxtWidget index insert]
    $TxtWidget insert insert "\]"
    $TxtWidget mark set insert $curPos
    return
}

proc editorWindows::OnQuoteDblRelease {} {
    variable TxtWidget
    global EditorData
    
    if {!$EditorData(options,useTemplates) || !$EditorData(options,useTemplatesForQuoteDbl)} {
        return
    }
    set curPos [$TxtWidget index insert]
    $TxtWidget insert insert "\""
    $TxtWidget mark set insert $curPos
    Editor::selectObject 0
    return
}

# reaction on mouse button release

proc editorWindows::OnMouseRelease {} {
    variable TxtWidget
    
    ReadCursor
    ColorizePair
    set oldNode $Editor::current(node)
    set curNode [Editor::selectObject 0]
    if {$oldNode != $curNode} {
        Editor::procList_history_add $Editor::current(lastPos)
    } else  {
        Editor::procList_history_update
    }
    set Editor::current(lastPos) [$TxtWidget index insert]
}

# read information about cursor and set it to the global variables
proc editorWindows::ReadCursor {{selectProc 1}} {
    variable TxtWidget
    global EditorData
    
    set insertPos [split [$TxtWidget index insert] "."]
    set EditorData(cursor,line) [lindex $insertPos 0]
    set EditorData(cursor,pos) [expr {[lindex $insertPos 1] }]
    set EditorData(cursorPos) "Line: $EditorData(cursor,line)   Pos: $EditorData(cursor,pos)"
    set Editor::lineNo $EditorData(cursor,line)
    return
}


proc editorWindows::enableHL {} {
    variable TxtWidget
    
    if {$TxtWidget != ""} {
        colorize
    }
    
    return
}

proc editorWindows::disableHL {} {
    variable TxtWidget
    
    if {$TxtWidget != ""} {
        # delete all tags
        $TxtWidget tag delete comment
        $TxtWidget tag delete keyword
        
        ConfigureTags
    }
    
    return
}

proc editorWindows::colorize {} {
    variable TxtWidget
    variable EditorData
    
    # get number of lines
    set lineEnd [lindex [split [$TxtWidget index end] "."] 0]
    
    ColorizeLines 1 $lineEnd
}

proc editorWindows::ColorizeLines {StartLine EndLine} {
    variable TxtWidget
    
    # delete all tags
    $TxtWidget tag remove comment "$StartLine.0" "$EndLine.0 lineend"
    $TxtWidget tag remove keyword "$StartLine.0" "$EndLine.0 lineend"
    
    for {set lineNum $StartLine} {$lineNum <= $EndLine} {incr lineNum} {
        ColorizeLine $lineNum
    }
    
    return
}

proc editorWindows::ColorizeLine {lineNum} {
    variable TxtWidget
    global EditorData
    
    if {!$EditorData(options,useHL)} {
        return
    }
    
    #   get line
    set line [$TxtWidget get $lineNum.0 "$lineNum.0 lineend"]
    
    set range [IsComment $line $lineNum]
    if {$range != {}} {
        # this is comment
        # set comment font
        eval $TxtWidget tag remove keyword $range
        eval $TxtWidget tag add comment $range
    } else {
        $TxtWidget tag remove comment $lineNum.0 "$lineNum.0 lineend"
        set range [GetKeywordCoord $line $lineNum]
        if {$range != {} } {
            eval $TxtWidget tag add keyword $range
        } else {
            $TxtWidget tag remove keyword $lineNum.0 "$lineNum.0 lineend"
        }
    }
    return
}

proc editorWindows::ConfigureTags {} {
    variable TxtWidget
    global EditorData
    
    # blue is specially for Lapshin
    $TxtWidget tag configure comment -font $EditorData(options,fonts,commentFont) -foreground blue

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲444eee在线观看| 国产91精品一区二区| 久久精品这里都是精品| 91麻豆产精品久久久久久 | 亚洲视频你懂的| 日韩一区二区在线看| 91看片淫黄大片一级在线观看| 美女视频第一区二区三区免费观看网站| 国产精品视频九色porn| 日韩一区二区视频| 欧美四级电影网| 成人免费高清视频在线观看| 久久er99热精品一区二区| 一个色在线综合| 亚洲美女少妇撒尿| 国产精品午夜免费| 337p粉嫩大胆噜噜噜噜噜91av| 欧美日韩中文国产| 欧美亚洲免费在线一区| 99久久99久久精品免费看蜜桃| 国产一区二区三区久久悠悠色av| 日韩av一级片| 日日欢夜夜爽一区| 亚洲成人av电影在线| 一区二区成人在线| 一区二区三区在线视频免费观看| 中文字幕在线观看不卡| 久久精品亚洲一区二区三区浴池 | 91精品国产一区二区三区蜜臀| 91视频91自| 93久久精品日日躁夜夜躁欧美| 国产盗摄一区二区| 国产91在线观看丝袜| 国产在线看一区| 狠狠色丁香久久婷婷综合丁香| 美女一区二区在线观看| 蜜臀91精品一区二区三区| 日韩国产高清在线| 免费在线观看一区二区三区| 日本免费新一区视频| 看国产成人h片视频| 看国产成人h片视频| 国产一区二区三区日韩| 国产一区二三区| 韩国成人在线视频| 国产电影一区在线| jlzzjlzz欧美大全| 色综合久久中文字幕| 日本久久一区二区| 欧美片网站yy| 精品理论电影在线观看| 国产婷婷一区二区| 亚洲欧洲99久久| 亚洲精品你懂的| 亚洲h精品动漫在线观看| 日韩电影免费在线看| 久久精品99国产精品| 国产毛片精品视频| bt欧美亚洲午夜电影天堂| 色综合天天综合色综合av | 琪琪久久久久日韩精品| 极品美女销魂一区二区三区 | 欧美调教femdomvk| 欧美大片在线观看| 欧美国产成人精品| 一区二区免费看| 男女男精品视频| 国产91丝袜在线18| 在线视频亚洲一区| 精品精品欲导航| 综合自拍亚洲综合图不卡区| 亚洲一区二区黄色| 国产一区二区电影| 欧美亚洲日本一区| 久久久国产午夜精品| 有坂深雪av一区二区精品| 美女视频黄免费的久久| 夫妻av一区二区| 欧美在线高清视频| 精品少妇一区二区三区日产乱码 | 极品瑜伽女神91| 色菇凉天天综合网| 欧美www视频| 综合婷婷亚洲小说| 精品一区二区在线播放| 色噜噜狠狠一区二区三区果冻| 91麻豆精品国产自产在线| 日本一区二区动态图| 视频在线观看一区| 99精品久久只有精品| 777a∨成人精品桃花网| 中文字幕视频一区二区三区久| 青青草国产精品97视觉盛宴| 91亚洲精品久久久蜜桃| 日韩精品一区二| 亚洲一区二区视频在线观看| 福利视频网站一区二区三区| 91精品国产免费久久综合| 成人免费一区二区三区视频| 久久99精品久久久久久久久久久久| 色综合天天天天做夜夜夜夜做| 精品国产一区二区三区四区四| 亚洲激情图片qvod| av激情综合网| 久久女同性恋中文字幕| 日韩成人免费电影| 欧美性做爰猛烈叫床潮| 理论电影国产精品| 日韩精品影音先锋| 午夜精品久久久久久久| 成人av影院在线| 日韩一级精品视频在线观看| 欧美国产禁国产网站cc| www.亚洲精品| 免费一级欧美片在线观看| 国产999精品久久久久久绿帽| 色狠狠综合天天综合综合| 天天做天天摸天天爽国产一区| 成人理论电影网| 日韩美女主播在线视频一区二区三区| 亚洲日本电影在线| 成人黄色av电影| 国产日韩av一区| 国产一区二区导航在线播放| 日韩美女在线视频| 青青草精品视频| 欧美一卡2卡3卡4卡| 日韩在线一区二区| 欧美日韩国产综合视频在线观看 | 亚洲免费av高清| 91蜜桃视频在线| 亚洲激情图片qvod| 欧洲亚洲国产日韩| 一区二区三国产精华液| 91福利视频久久久久| 亚洲激情自拍偷拍| 欧美性大战久久| 亚洲国产裸拍裸体视频在线观看乱了| 日本精品视频一区二区| 亚洲欧美色一区| 欧美日韩精品是欧美日韩精品| 一个色妞综合视频在线观看| 欧美激情中文不卡| 欧美羞羞免费网站| 成人av电影免费在线播放| 亚洲欧美韩国综合色| 欧美一区二区久久久| 欧美精品色一区二区三区| 色婷婷综合久久久中文一区二区| 久久夜色精品国产噜噜av| 蜜臀久久久久久久| 日韩三级在线观看| 中文字幕精品一区| 亚洲丝袜精品丝袜在线| 国产精品家庭影院| 精品三级在线看| 久久久一区二区三区捆绑**| 一区二区三区四区激情| 韩国av一区二区| 欧美日韩一区二区三区在线| 欧美在线视频全部完| 在线观看日韩毛片| 色婷婷亚洲一区二区三区| 国产精品伊人色| 日韩综合小视频| 午夜免费久久看| 亚洲精品免费视频| 亚洲最新视频在线播放| 一区二区三区欧美日| 亚洲视频中文字幕| 亚洲免费电影在线| 一区二区三区精品视频| 国产夫妻精品视频| 91在线无精精品入口| 7777精品伊人久久久大香线蕉 | 日韩视频中午一区| 91网站最新地址| 91亚洲精品乱码久久久久久蜜桃| 91老司机福利 在线| 色哟哟精品一区| 国产日韩欧美a| 欧美激情自拍偷拍| 久久久午夜精品| 亚洲精品日韩专区silk| 中文字幕中文乱码欧美一区二区| 久久精品视频在线看| 日本一区二区久久| 亚洲韩国精品一区| 日产精品久久久久久久性色| 国产一区二区女| 色综合久久中文综合久久97| 成人免费视频app| 欧美女孩性生活视频| 亚洲欧美另类久久久精品| 欧美怡红院视频| 亚洲一区在线视频| 成人av高清在线| 国产日韩欧美麻豆| 美国精品在线观看| 日韩你懂的在线观看|