Lime 是什麼?
我喜愛 Sublime Text 編輯器。為讓它更出色,我也給它寫過 5 個外掛。不過讓我害怕的一件事是,它不開源,nightly 版本的一直沒進展,ST3 版也還是 Beta 版。
在 Sublime Text 2 “穩定版”釋出後的 6 個月時間中,ST 缺乏和使用者溝通,既沒有向使用者透露將來打算,也沒有在論壇中提供足夠多的支援。包括我在內的使用者會想,“如果這個產品死掉了咋辦”,我個人會想“ ST2 中還有的所有 Bug 和煩惱又咋辦”。這種缺乏溝通,是導致我決定不再這個產品花更多錢了。
但是我對其他文字編輯器的愛,遠沒有我喜歡 Sublime Text,所以我決定自己寫一個。雖然 Lime 前端還沒法替代你最愛的編輯器,但我相信,其後端替代 ST 已用不了多久了。
Lime 專案主頁:https://github.com/quarnster/lime
Lime的目標
- ☑ 100% 開源
- ☑ 相容 Textmate 配色方案(目前 ST 在用)
- ☑ 相容 Textmate 語法定義(ST 也在用)
- ☐ 相容 Textmate snippets
- ☐ 相容 Sublime Text 的 python 外掛 API。我可能不會百分百實現這個,只會實現我要用到的 API。
- ☐ 相容 ST 的鍵繫結和設定
- ☐ 相容 ST snippets
- ☐ Sublime Text’s Goto anything panel ST 的 Goto Anything 皮膚
- ☑ Multiple cursors 多重選擇
- ☑ 迴歸測試 (Programming in Go makes it trivial and even fun to write them ;))
- ☐ 支援自定義解析器,以支援更多高階語法高亮
- ☐ 終端 UI(或許我會做個某種程度上的簡單的非終端介面)
- ☐ 跨平臺(雖然我之前已在 OSX 和 Linux 平臺上編譯並執行了,但還有待進一步驗證)
為什麼我不開闢一個 issue?
因為我只是單兵作戰,我不想把我的業餘時間用於支援或處理那些我不關注的特性請求。如果你想要實現某個特性,或解決某個Bug,那請在你樂於實現的時候, fork 本專案並自行實現,然後提交 pull 請求。
構建說明
必須安裝的元件
- Go 1.1
- Follow the build instructions at tip.golang.org
- Python3
- Python 3 must be compiled without sigaltstack enabled.
sudo apt-get install python3-dev
# On Linuxbrew install python3
# On Mac
- Oniguruma
sudo apt-get install libonig-dev
# On Linuxbrew install oniguruma
# On Mac
- qt5 (Optional)
- Follow the instructions at go-qt5
下載必備的repositories
1 2 |
go get code.google.com/p/log4go github.com/quarnster/parser github.com/quarnster/completion github.com/howeyc/fsnotify git clone --recursive git@github.com:quarnster/lime.git $GOPATH/src |
修改 cgo.go 設定
open $GOPATH/src/lime/3rdparty/libs/gopy/lib/cgo.go
Example of cgo.go
settings on my Mac
1 2 3 4 5 6 |
package py // #cgo CFLAGS: -I/usr/local/Cellar/python3/3.3.1/Frameworks/Python.framework/Versions/Current/include/python3.3m -I/usr/local/Cellar/python3/3.3.1/Frameworks/Python.framework/Versions/Current/include/python3.3m // #cgo LDFLAGS: -L/usr/local/Cellar/python3/3.3.1/Frameworks/Python.framework/Versions/Current/lib/python3.3/config-3.3m -ldl -framework CoreFoundation -lpython3.3 // #cgo pkg-config: /usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/libffi.pc import "C" |
Compile completion
1 2 |
cd $GOPATH/src/github.com/quarnster/completion/build make |
Compile lime
1 2 |
cd $GOPATH/src/lime/build go run build.go |
完成!
To use termbox
1 2 |
cd ../frontend/termbox go run main.go |
To use qt5
1 2 |
cd ../frontend/qt5 go run main.go |
License
The license of the project is the 2-clause BSD license。
打賞支援我翻譯更多好文章,謝謝!
打賞譯者
打賞支援我翻譯更多好文章,謝謝!
任選一種支付方式