Python应用:解析EditPlus的AS语法到FlashDevelop..
时间:2007-03-12 来源:wibrst
FlashDevelop是最近偶尔发现的带代码提示功能的不错的轻量级AS编辑器。
不过其语法定义(在一个XML中)跟平时用的EditPlus不大一样,所以这里就可以用一个Python程序来转化一下语法格式。
一些主要的不同,就是EditPlus是每个关键字一行,FlashDevelop是若干个(约100个字符)一行,为尽可能与原格式保持一致,就用这个Py程序按照关键字分类重新组织一下:
不过其语法定义(在一个XML中)跟平时用的EditPlus不大一样,所以这里就可以用一个Python程序来转化一下语法格式。
一些主要的不同,就是EditPlus是每个关键字一行,FlashDevelop是若干个(约100个字符)一行,为尽可能与原格式保持一致,就用这个Py程序按照关键字分类重新组织一下:
# -=-=-=-=-=- read the file
sFnSrcStxFile=r"C:\Program Files\EditPlus 2\as2-dc_addLeapSter.stx"
fSrcStx=file(sFnSrcStxFile,'r')
aSrcStx=fSrcStx.readlines()
fSrcStx.close()
iLastLine=796 # len(aSrcStx)-1
# -=-=-=-=-=- init the vars
iStartline=42
iCurLine=iStartline
sNewStx=''
iLineLenMax=100
# -=-=-=-=-=- def
def produceByType():
global sNewStx,iCurLine
sNewStx+=aSrcStx[iCurLine]+'\n'
iCurLine+=1
sLine=''
while True:
print iLastLine
if(iCurLine>iLastLine):
return
if(aSrcStx[iCurLine].find("#KEYWORD")==-1):
if(len(sLine)+len(aSrcStx[iCurLine])-1)<=iLineLenMax:
sLine+=aSrcStx[iCurLine][:-1]+' '
iCurLine+=1
else:
sNewStx+=sLine+'\n'
sLine=aSrcStx[iCurLine][:-1]+' '
iCurLine+=1
else:
break
sNewStx+='\n\n'
produceByType()
return iCurLine
# -=-=-=-=-=- search first match keyword define
while iCurLine<iLastLine:
iCurLine+=1
if aSrcStx[iCurLine].find("#KEYWORD")!=-1:
break
produceByType()
print sNewStx
相关阅读 更多 +