1 Star 0 Fork 0

Throwable/hibernate-orm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
indent.py 1.02 KB
一键复制 编辑 原始数据 按行查看 历史
import re
import sys
sys.argv.pop(0)
for fname in sys.argv:
file = open(fname)
inlines = file.read().split('\n')
file.close()
out= []
tabcount = 0
extratab=0
for ln in inlines:
code = ln.lstrip('\t ').rstrip('\t ')
clen = len(code)
javadoc = clen > 0 and code[0]=='*'
if javadoc:
code = ' ' + code
else:
begincb = clen > 0 and ( code[0]=='}' or code[0]==')' )
tabcount -= begincb
extratab = extratab or ( len(code)>0 and code[0]=='.' )
tabs = '\t' * (tabcount + extratab)
extratab = clen>0 and ( code[clen-1]==':' or code[clen-1]=='?' )
if clen>5 and code[0:6] == '} else':
code = '}\n' + tabs + 'else' + code[6:]
if clen>6 and code[0:7] == '} catch':
code = '}\n' + tabs + 'catch' + code[7:]
out.append( tabs + code + '\n' )
if not javadoc:
uncommented = code.split('//')[0].rstrip()
clen = len(uncommented)
endob = clen > 0 and ( code[clen-1]=='{' or code[clen-1]=='(' )
tabcount += endob
file = open( fname, 'w' )
for ln in out:
file.write(ln)
file.close()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/throwableDoge/hibernate-orm.git
git@gitee.com:throwableDoge/hibernate-orm.git
throwableDoge
hibernate-orm
hibernate-orm
3.2

搜索帮助