$65 GRAYBYTE WORDPRESS FILE MANAGER $18

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/python35/lib64/python3.5/idlelib/

HOME
Current File : /opt/alt/python35/lib64/python3.5/idlelib//AutoExpand.py
'''Complete the current word before the cursor with words in the editor.

Each menu selection or shortcut key selection replaces the word with a
different word with the same prefix. The search for matches begins
before the target and moves toward the top of the editor. It then starts
after the cursor and moves down. It then returns to the original word and
the cycle starts again.

Changing the current text line or leaving the cursor in a different
place before requesting the next selection causes AutoExpand to reset
its state.

This is an extension file and there is only one instance of AutoExpand.
'''
import string
import re

###$ event <<expand-word>>
###$ win <Alt-slash>
###$ unix <Alt-slash>

class AutoExpand:

    menudefs = [
        ('edit', [
            ('E_xpand Word', '<<expand-word>>'),
         ]),
    ]

    wordchars = string.ascii_letters + string.digits + "_"

    def __init__(self, editwin):
        self.text = editwin.text
        self.state = None

    def expand_word_event(self, event):
        "Replace the current word with the next expansion."
        curinsert = self.text.index("insert")
        curline = self.text.get("insert linestart", "insert lineend")
        if not self.state:
            words = self.getwords()
            index = 0
        else:
            words, index, insert, line = self.state
            if insert != curinsert or line != curline:
                words = self.getwords()
                index = 0
        if not words:
            self.text.bell()
            return "break"
        word = self.getprevword()
        self.text.delete("insert - %d chars" % len(word), "insert")
        newword = words[index]
        index = (index + 1) % len(words)
        if index == 0:
            self.text.bell()            # Warn we cycled around
        self.text.insert("insert", newword)
        curinsert = self.text.index("insert")
        curline = self.text.get("insert linestart", "insert lineend")
        self.state = words, index, curinsert, curline
        return "break"

    def getwords(self):
        "Return a list of words that match the prefix before the cursor."
        word = self.getprevword()
        if not word:
            return []
        before = self.text.get("1.0", "insert wordstart")
        wbefore = re.findall(r"\b" + word + r"\w+\b", before)
        del before
        after = self.text.get("insert wordend", "end")
        wafter = re.findall(r"\b" + word + r"\w+\b", after)
        del after
        if not wbefore and not wafter:
            return []
        words = []
        dict = {}
        # search backwards through words before
        wbefore.reverse()
        for w in wbefore:
            if dict.get(w):
                continue
            words.append(w)
            dict[w] = w
        # search onwards through words after
        for w in wafter:
            if dict.get(w):
                continue
            words.append(w)
            dict[w] = w
        words.append(word)
        return words

    def getprevword(self):
        "Return the word prefix before the cursor."
        line = self.text.get("insert linestart", "insert")
        i = len(line)
        while i > 0 and line[i-1] in self.wordchars:
            i = i-1
        return line[i:]

if __name__ == '__main__':
    import unittest
    unittest.main('idlelib.idle_test.test_autoexpand', verbosity=2)


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
12 Aug 2024 8.41 AM
root / linksafe
0755
Icons
--
12 Aug 2024 8.41 AM
root / linksafe
0755
__pycache__
--
12 Aug 2024 8.41 AM
root / linksafe
0755
idle_test
--
12 Aug 2024 8.41 AM
root / linksafe
0755
AutoComplete.py
8.985 KB
31 May 2024 1.51 PM
root / linksafe
0644
AutoCompleteWindow.py
17.323 KB
31 May 2024 1.51 PM
root / linksafe
0644
AutoExpand.py
3.315 KB
31 May 2024 1.51 PM
root / linksafe
0644
Bindings.py
3.038 KB
31 May 2024 1.51 PM
root / linksafe
0644
CREDITS.txt
1.822 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
CallTipWindow.py
5.894 KB
31 May 2024 1.51 PM
root / linksafe
0644
CallTips.py
5.793 KB
31 May 2024 1.51 PM
root / linksafe
0644
ChangeLog
55.066 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
ClassBrowser.py
6.835 KB
31 May 2024 1.51 PM
root / linksafe
0644
CodeContext.py
8.161 KB
31 May 2024 1.51 PM
root / linksafe
0644
ColorDelegator.py
10.35 KB
31 May 2024 1.51 PM
root / linksafe
0644
Debugger.py
18.318 KB
31 May 2024 1.51 PM
root / linksafe
0644
Delegator.py
1.019 KB
31 May 2024 1.51 PM
root / linksafe
0644
EditorWindow.py
64.058 KB
31 May 2024 1.51 PM
root / linksafe
0644
FileList.py
3.724 KB
31 May 2024 1.51 PM
root / linksafe
0644
FormatParagraph.py
7.116 KB
31 May 2024 1.51 PM
root / linksafe
0644
GrepDialog.py
5.004 KB
31 May 2024 1.51 PM
root / linksafe
0644
HISTORY.txt
10.07 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
HyperParser.py
12.575 KB
31 May 2024 1.51 PM
root / linksafe
0644
IOBinding.py
20.116 KB
31 May 2024 1.51 PM
root / linksafe
0644
IdleHistory.py
3.957 KB
31 May 2024 1.51 PM
root / linksafe
0644
MultiCall.py
18.136 KB
31 May 2024 1.51 PM
root / linksafe
0644
MultiStatusBar.py
1.316 KB
31 May 2024 1.51 PM
root / linksafe
0644
NEWS.txt
15.172 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
NEWS2x.txt
26.535 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
ObjectBrowser.py
3.882 KB
31 May 2024 1.51 PM
root / linksafe
0644
OutputWindow.py
4.291 KB
31 May 2024 1.51 PM
root / linksafe
0644
ParenMatch.py
6.557 KB
31 May 2024 1.51 PM
root / linksafe
0644
PathBrowser.py
3.132 KB
31 May 2024 1.51 PM
root / linksafe
0644
Percolator.py
3.104 KB
31 May 2024 1.51 PM
root / linksafe
0644
PyParse.py
19.981 KB
31 May 2024 1.51 PM
root / linksafe
0644
PyShell.py
57.467 KB
31 May 2024 1.51 PM
root / linksafe
0755
README.txt
7.706 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
RemoteDebugger.py
11.726 KB
31 May 2024 1.51 PM
root / linksafe
0644
RemoteObjectBrowser.py
0.941 KB
31 May 2024 1.51 PM
root / linksafe
0644
ReplaceDialog.py
7.306 KB
31 May 2024 1.51 PM
root / linksafe
0644
RstripExtension.py
1.025 KB
31 May 2024 1.51 PM
root / linksafe
0644
ScriptBinding.py
7.872 KB
31 May 2024 1.51 PM
root / linksafe
0644
ScrolledList.py
4.272 KB
31 May 2024 1.51 PM
root / linksafe
0644
SearchDialog.py
3.054 KB
31 May 2024 1.51 PM
root / linksafe
0644
SearchDialogBase.py
6.845 KB
31 May 2024 1.51 PM
root / linksafe
0644
SearchEngine.py
7.31 KB
31 May 2024 1.51 PM
root / linksafe
0644
StackViewer.py
4.322 KB
31 May 2024 1.51 PM
root / linksafe
0644
TODO.txt
8.279 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
ToolTip.py
3.099 KB
31 May 2024 1.51 PM
root / linksafe
0644
TreeWidget.py
14.672 KB
31 May 2024 1.51 PM
root / linksafe
0644
UndoDelegator.py
10.723 KB
31 May 2024 1.51 PM
root / linksafe
0644
WidgetRedirector.py
6.776 KB
31 May 2024 1.51 PM
root / linksafe
0644
WindowList.py
2.414 KB
31 May 2024 1.51 PM
root / linksafe
0644
ZoomHeight.py
1.27 KB
31 May 2024 1.51 PM
root / linksafe
0644
__init__.py
0.327 KB
31 May 2024 1.51 PM
root / linksafe
0644
__main__.py
0.155 KB
31 May 2024 1.51 PM
root / linksafe
0644
aboutDialog.py
6.823 KB
31 May 2024 1.51 PM
root / linksafe
0644
config-extensions.def
2.896 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
config-highlight.def
2.456 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
config-keys.def
7.595 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
config-main.def
2.503 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
configDialog.py
63.536 KB
31 May 2024 1.51 PM
root / linksafe
0644
configHandler.py
31.69 KB
31 May 2024 1.51 PM
root / linksafe
0644
configHelpSourceEdit.py
6.657 KB
31 May 2024 1.51 PM
root / linksafe
0644
configSectionNameDialog.py
3.913 KB
31 May 2024 1.51 PM
root / linksafe
0644
dynOptionMenuWidget.py
1.943 KB
31 May 2024 1.51 PM
root / linksafe
0644
extend.txt
3.557 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
help.html
42.394 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
help.py
10.695 KB
31 May 2024 1.51 PM
root / linksafe
0644
help.txt
17.48 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
idle.py
0.442 KB
31 May 2024 1.51 PM
root / linksafe
0644
idle.pyw
0.557 KB
1 Nov 2019 11.02 PM
root / linksafe
0644
idlever.py
0.405 KB
31 May 2024 1.51 PM
root / linksafe
0644
keybindingDialog.py
12.125 KB
31 May 2024 1.51 PM
root / linksafe
0644
macosxSupport.py
8.48 KB
31 May 2024 1.51 PM
root / linksafe
0644
rpc.py
20.297 KB
31 May 2024 1.51 PM
root / linksafe
0644
run.py
13.544 KB
31 May 2024 1.51 PM
root / linksafe
0644
tabbedpages.py
17.986 KB
31 May 2024 1.51 PM
root / linksafe
0644
textView.py
3.339 KB
31 May 2024 1.51 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF