Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
f7f93880
Kaydet (Commit)
f7f93880
authored
Kas 02, 2001
tarafından
Just van Rossum
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
some support for syntax coloring, disabled for now
üst
3160d95a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
149 additions
and
42 deletions
+149
-42
PyEdit.py
Mac/Tools/IDE/PyEdit.py
+12
-7
Wtext.py
Mac/Tools/IDE/Wtext.py
+137
-35
No files found.
Mac/Tools/IDE/PyEdit.py
Dosyayı görüntüle @
f7f93880
...
...
@@ -96,7 +96,7 @@ class Editor(W.Window):
W
.
Window
.
__init__
(
self
,
bounds
,
self
.
title
,
minsize
=
(
330
,
120
),
tabbable
=
0
)
self
.
setupwidgets
(
text
)
if
change
>
0
:
self
.
editgroup
.
editor
.
changed
=
1
self
.
editgroup
.
editor
.
textchanged
()
if
self
.
settings
.
has_key
(
"selection"
):
selstart
,
selend
=
self
.
settings
[
"selection"
]
...
...
@@ -247,12 +247,12 @@ class Editor(W.Window):
def
domenu_toggle_run_as_main
(
self
):
self
.
run_as_main
=
not
self
.
run_as_main
self
.
run_with_interpreter
=
0
self
.
editgroup
.
editor
.
sel
changed
=
1
self
.
editgroup
.
editor
.
sel
ectionchanged
()
def
domenu_toggle_run_with_interpreter
(
self
):
self
.
run_with_interpreter
=
not
self
.
run_with_interpreter
self
.
run_as_main
=
0
self
.
editgroup
.
editor
.
sel
changed
=
1
self
.
editgroup
.
editor
.
sel
ectionchanged
()
def
showbreakpoints
(
self
,
onoff
):
self
.
editgroup
.
editor
.
showbreakpoints
(
onoff
)
...
...
@@ -314,7 +314,7 @@ class Editor(W.Window):
def
domenu_options
(
self
,
*
args
):
rv
=
SaveOptions
(
self
.
_creator
)
if
rv
:
self
.
editgroup
.
editor
.
sel
changed
=
1
# ouch...
self
.
editgroup
.
editor
.
sel
ectionchanged
()
# ouch...
self
.
_creator
=
rv
def
clicklinefield
(
self
):
...
...
@@ -633,6 +633,8 @@ class Editor(W.Window):
dir
,
dirname
=
os
.
path
.
split
(
dir
)
modname
=
dirname
+
'.'
+
modname
subname
=
_filename_as_modname
(
self
.
title
)
if
subname
is
None
:
return
self
.
globals
,
file
,
None
if
modname
:
if
subname
==
"__init__"
:
# strip trailing period
...
...
@@ -949,8 +951,8 @@ class SearchEngine:
self
.
hide
()
import
EasyDialogs
from
Carbon
import
Res
editor
.
changed
=
1
editor
.
sel
changed
=
1
editor
.
textchanged
()
editor
.
sel
ectionchanged
()
editor
.
ted
.
WEUseText
(
Res
.
Resource
(
Text
))
editor
.
ted
.
WECalText
()
editor
.
SetPort
()
...
...
@@ -1147,6 +1149,9 @@ def execstring(pytext, globals, locals, filename="<string>", debugging=0,
raise
W
.
AlertError
,
detail
except
(
KeyboardInterrupt
,
BdbQuit
):
pass
except
SystemExit
,
arg
:
if
arg
.
code
:
sys
.
stderr
.
write
(
"Script exited with status code:
%
s
\n
"
%
repr
(
arg
.
code
))
except
:
if
haveThreading
:
import
continuation
...
...
@@ -1268,7 +1273,7 @@ def geteditorprefs():
tabsettings
=
prefs
.
pyedit
.
tabsettings
windowsize
=
prefs
.
pyedit
.
windowsize
except
:
fontsettings
=
prefs
.
pyedit
.
fontsettings
=
(
"
Python-Sans"
,
0
,
9
,
(
0
,
0
,
0
))
fontsettings
=
prefs
.
pyedit
.
fontsettings
=
(
"
Geneva"
,
0
,
10
,
(
0
,
0
,
0
))
tabsettings
=
prefs
.
pyedit
.
tabsettings
=
(
8
,
1
)
windowsize
=
prefs
.
pyedit
.
windowsize
=
(
500
,
250
)
sys
.
exc_traceback
=
None
...
...
Mac/Tools/IDE/Wtext.py
Dosyayı görüntüle @
f7f93880
from
Carbon
import
Qd
from
Carbon
import
TE
from
Carbon
import
Fm
from
Carbon
import
Evt
,
Events
,
Fm
,
Fonts
from
Carbon
import
Qd
,
Res
,
Scrap
from
Carbon
import
TE
,
TextEdit
,
Win
import
waste
import
WASTEconst
from
Carbon
import
Res
from
Carbon
import
Evt
from
Carbon
import
Events
from
Carbon
import
Scrap
import
string
from
Carbon
import
Win
import
Wbase
import
Wkeys
import
Wcontrols
import
PyFontify
from
types
import
*
from
Carbon
import
Fonts
from
Carbon
import
TextEdit
import
string
from
types
import
TupleType
,
StringType
class
TextBox
(
Wbase
.
Widget
):
...
...
@@ -105,6 +96,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
self
.
temptext
=
text
self
.
ted
=
None
self
.
selection
=
None
self
.
oldselection
=
None
self
.
_callback
=
callback
self
.
changed
=
0
self
.
selchanged
=
0
...
...
@@ -155,6 +147,13 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
self
.
temptext
=
None
Wbase
.
SelectableWidget
.
close
(
self
)
def
textchanged
(
self
,
all
=
0
):
self
.
changed
=
1
def
selectionchanged
(
self
):
self
.
selchanged
=
1
self
.
oldselection
=
self
.
getselection
()
def
gettabsettings
(
self
):
return
self
.
tabsettings
...
...
@@ -208,7 +207,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
viewrect
=
self
.
ted
.
WEGetViewRect
()
Qd
.
EraseRect
(
viewrect
)
self
.
ted
.
WEUpdate
(
self
.
_parentwindow
.
wid
.
GetWindowPort
()
.
visRgn
)
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
def
adjust
(
self
,
oldbounds
):
...
...
@@ -235,7 +234,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
def
selectall
(
self
):
self
.
ted
.
WESetSelection
(
0
,
self
.
ted
.
WEGetTextLength
())
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
def
selectline
(
self
,
lineno
,
charoffset
=
0
):
...
...
@@ -246,7 +245,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
# Let's fool Waste by initially selecting one char less:
self
.
ted
.
WESetSelection
(
newselstart
+
charoffset
,
newselend
-
1
)
self
.
ted
.
WESetSelection
(
newselstart
+
charoffset
,
newselend
)
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
def
getselection
(
self
):
...
...
@@ -256,7 +255,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
return
self
.
selection
def
setselection
(
self
,
selstart
,
selend
):
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
if
self
.
ted
:
self
.
ted
.
WESetSelection
(
selstart
,
selend
)
self
.
ted
.
WESelView
()
...
...
@@ -284,12 +283,12 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
if
oldselstart
<>
newselstart
or
oldselend
<>
newselend
:
self
.
ted
.
WESetSelection
(
newselstart
,
newselend
)
self
.
updatescrollbars
()
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
def
insert
(
self
,
text
):
self
.
ted
.
WEInsert
(
text
,
None
,
None
)
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
# text
def
set
(
self
,
text
):
...
...
@@ -306,8 +305,8 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
Qd
.
RectRgn
(
rgn
,
viewrect
)
Qd
.
EraseRect
(
viewrect
)
self
.
draw
(
rgn
)
#self.GetWindow().InvalWindowRect(self.ted.WEGetViewRect())
self
.
updatescrollbars
()
self
.
textchanged
(
1
)
def
get
(
self
):
if
not
self
.
_parent
:
...
...
@@ -321,9 +320,9 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
if
self
.
_enabled
and
not
modifiers
&
Events
.
cmdKey
or
char
in
Wkeys
.
arrowkeys
:
self
.
ted
.
WEKey
(
ord
(
char
),
modifiers
)
if
char
not
in
Wkeys
.
navigationkeys
:
self
.
changed
=
1
self
.
textchanged
()
if
char
not
in
Wkeys
.
scrollkeys
:
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
if
self
.
_callback
:
Wbase
.
CallbackCall
(
self
.
_callback
,
0
,
char
,
modifiers
)
...
...
@@ -332,7 +331,7 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
if
not
self
.
_enabled
:
return
self
.
ted
.
WEClick
(
point
,
modifiers
,
Evt
.
TickCount
())
self
.
sel
changed
=
1
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
return
1
...
...
@@ -411,8 +410,8 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
self
.
ted
.
WECut
()
self
.
updatescrollbars
()
self
.
selview
()
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
if
self
.
_callback
:
Wbase
.
CallbackCall
(
self
.
_callback
,
0
,
""
,
None
)
...
...
@@ -422,8 +421,8 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
self
.
selview
()
self
.
ted
.
WEPaste
()
self
.
updatescrollbars
()
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
if
self
.
_callback
:
Wbase
.
CallbackCall
(
self
.
_callback
,
0
,
""
,
None
)
...
...
@@ -431,8 +430,8 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
self
.
ted
.
WEDelete
()
self
.
selview
()
self
.
updatescrollbars
()
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
if
self
.
_callback
:
Wbase
.
CallbackCall
(
self
.
_callback
,
0
,
""
,
None
)
...
...
@@ -442,8 +441,8 @@ class EditText(Wbase.SelectableWidget, _ScrollWidget):
return
self
.
ted
.
WEUndo
()
self
.
updatescrollbars
()
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
if
self
.
_callback
:
Wbase
.
CallbackCall
(
self
.
_callback
,
0
,
""
,
None
)
...
...
@@ -610,6 +609,8 @@ class TextEditor(EditText):
import
re
commentPat
=
re
.
compile
(
"[
\t
]*(#)"
)
indentPat
=
re
.
compile
(
"[
\t
]*"
)
kStringColor
=
(
0
,
0x7fff
,
0
)
kCommentColor
=
(
0
,
0
,
0xb000
)
class
PyEditor
(
TextEditor
):
...
...
@@ -627,10 +628,111 @@ class PyEditor(TextEditor):
self
.
bind
(
"cmd]"
,
self
.
domenu_shiftright
)
self
.
bind
(
"cmdshift["
,
self
.
domenu_uncomment
)
self
.
bind
(
"cmdshift]"
,
self
.
domenu_comment
)
self
.
bind
(
"cmdshiftd"
,
self
.
alldirty
)
self
.
file
=
file
# only for debugger reference
self
.
_debugger
=
debugger
if
debugger
:
debugger
.
register_editor
(
self
,
self
.
file
)
self
.
_dirty
=
(
0
,
None
)
self
.
do_fontify
=
0
#def open(self):
# TextEditor.open(self)
# if self.do_fontify:
# self.fontify()
# self._dirty = (None, None)
def
_getflags
(
self
):
flags
=
(
WASTEconst
.
weDoDrawOffscreen
|
WASTEconst
.
weDoUseTempMem
|
WASTEconst
.
weDoAutoScroll
|
WASTEconst
.
weDoOutlineHilite
)
if
self
.
readonly
:
flags
=
flags
|
WASTEconst
.
weDoReadOnly
else
:
flags
=
flags
|
WASTEconst
.
weDoUndo
return
flags
def
textchanged
(
self
,
all
=
0
):
self
.
changed
=
1
if
all
:
self
.
_dirty
=
(
0
,
None
)
return
oldsel
=
self
.
oldselection
sel
=
self
.
getselection
()
if
not
sel
:
# XXX what to do?
return
selstart
,
selend
=
sel
selstart
,
selend
=
min
(
selstart
,
selend
),
max
(
selstart
,
selend
)
if
oldsel
:
oldselstart
,
oldselend
=
min
(
oldsel
),
max
(
oldsel
)
selstart
,
selend
=
min
(
selstart
,
oldselstart
),
max
(
selend
,
oldselend
)
startline
=
self
.
offsettoline
(
selstart
)
endline
=
self
.
offsettoline
(
selend
)
selstart
,
_
=
self
.
ted
.
WEGetLineRange
(
startline
)
_
,
selend
=
self
.
ted
.
WEGetLineRange
(
endline
)
if
selstart
>
0
:
selstart
=
selstart
-
1
self
.
_dirty
=
(
selstart
,
selend
)
def
idle
(
self
):
self
.
SetPort
()
self
.
ted
.
WEIdle
()
if
not
self
.
do_fontify
:
return
start
,
end
=
self
.
_dirty
if
start
is
None
:
return
textLength
=
self
.
ted
.
WEGetTextLength
()
if
end
is
None
:
end
=
textLength
if
start
>=
end
:
self
.
_dirty
=
(
None
,
None
)
else
:
self
.
fontify
(
start
,
end
)
self
.
_dirty
=
(
None
,
None
)
def
alldirty
(
self
,
*
args
):
self
.
_dirty
=
(
0
,
None
)
def
fontify
(
self
,
start
=
0
,
end
=
None
):
#W.SetCursor('watch')
if
self
.
readonly
:
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFReadOnly
,
0
)
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFOutlineHilite
,
0
)
self
.
ted
.
WEDeactivate
()
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFAutoScroll
,
0
)
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFUndo
,
0
)
pytext
=
self
.
get
()
.
replace
(
"
\r
"
,
"
\n
"
)
if
end
is
None
:
end
=
len
(
pytext
)
else
:
end
=
min
(
end
,
len
(
pytext
))
selstart
,
selend
=
self
.
ted
.
WEGetSelection
()
self
.
ted
.
WESetSelection
(
start
,
end
)
self
.
ted
.
WESetStyle
(
WASTEconst
.
weDoFace
|
WASTEconst
.
weDoColor
,
(
0
,
0
,
12
,
(
0
,
0
,
0
)))
tags
=
PyFontify
.
fontify
(
pytext
,
start
,
end
)
styles
=
{
'string'
:
(
WASTEconst
.
weDoColor
,
(
0
,
0
,
0
,
kStringColor
)),
'keyword'
:
(
WASTEconst
.
weDoFace
,
(
0
,
1
,
0
,
(
0
,
0
,
0
))),
'comment'
:
(
WASTEconst
.
weDoFace
|
WASTEconst
.
weDoColor
,
(
0
,
0
,
0
,
kCommentColor
)),
'identifier'
:
(
WASTEconst
.
weDoColor
,
(
0
,
0
,
0
,
(
0xbfff
,
0
,
0
)))
}
setselection
=
self
.
ted
.
WESetSelection
setstyle
=
self
.
ted
.
WESetStyle
for
tag
,
start
,
end
,
sublist
in
tags
:
setselection
(
start
,
end
)
mode
,
style
=
styles
[
tag
]
setstyle
(
mode
,
style
)
self
.
ted
.
WESetSelection
(
selstart
,
selend
)
self
.
SetPort
()
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFAutoScroll
,
1
)
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFUndo
,
1
)
self
.
ted
.
WEActivate
()
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFOutlineHilite
,
1
)
if
self
.
readonly
:
self
.
ted
.
WEFeatureFlag
(
WASTEconst
.
weFReadOnly
,
1
)
def
domenu_shiftleft
(
self
):
self
.
expandselection
()
...
...
@@ -786,8 +888,8 @@ class PyEditor(TextEditor):
else
:
self
.
ted
.
WEKey
(
ord
(
char
),
modifiers
)
if
char
not
in
Wkeys
.
navigationkeys
:
self
.
changed
=
1
self
.
sel
changed
=
1
self
.
textchanged
()
self
.
sel
ectionchanged
()
self
.
updatescrollbars
()
def
balanceparens
(
self
,
char
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment