登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河里的星星

落在人间

 
 
 

日志

 
 

用gtksourceview实现代码高亮 (zz)  

2010-01-15 12:38:06|  分类: 高性能计算 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://www.pygtk.org/pygtksourceview/index.html
最近用pygtk在写一个半可视化的ui编辑器. 其中要嵌入一个小编辑器给用户写一小段lua代码。
虽然是个小部件,用个textview糊弄一下就好,但做为一个有爱而又爱折腾的人,加上语法高亮简直是一定的事情。

看了下gtksourceview2的manual,几个模块还是相当清晰的,用起来也很方便,简单的实现lua的语法高亮,只要下面短短几代码.(还附送其他功能哦)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import gtk
import gtksourceview2

win = gtk.Window()

src_buffer = gtksourceview2.Buffer()
manager = gtksourceview2.LanguageManager()
language = manager.get_language("lua") #使用lua语法
src_buffer.set_language(language)
src_buffer.set_highlight_syntax(True) #打开语法高亮
view = gtksourceview2.View(src_buffer)
view.set_show_line_numbers(True) #显示
view.set_auto_indent(True) #自动缩进
view.set_insert_spaces_instead_of_tabs(True) #用空格代替tab
view.set_tab_width(4) #tab宽度4
win.resize(800,400)
win.add(view)

win.connect('destroy',gtk.main_quit)
win.show_all()
gtk.main()
gtksourceview支持的语言有
ada awk boo c c-sharp changelog chdr cpp css d def desktop diff docbook dot dpatch dtd eiffel erlang forth fortran gap gettext-translation gtk-doc gtkrc haddock haskell haskell-literate html idl ini java js latex libtool lua m4 makefile msil nemerle objc objective-caml ocl octave pascal perl php pkgconfig python r rpmspec ruby scheme sh sql tcl texinfo vala vbnet verilog vhdl xml xslt yacc
基本上常用的语言都有 。

下一步干啥?加个智能补全 ^_^
  评论这张
 
阅读(1870)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018