GithubHelp home page GithubHelp logo

tracyone / vim-gbasic Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 148 KB

a vim plugin for gbasic language,syntax,indent....

License: GNU General Public License v3.0

Vim Script 100.00%
gbasic-language vim vim-scripts

vim-gbasic's Introduction

A plugin for gbasic language

basic语言变种gbasic,用于GoDB架构中,目前唯一知道的,使用这种语言的就是TI IPNC的网页。开发基于GoDB架构的网页,使用的是gStudio集成环境,但是这个ide非常不好用,搜索什么都非常麻烦,于是乎只能用vim来编辑,但是vim只认basic不认gbasic这种奇葩语言,所以语法高亮惨不忍睹。

最近较为深入的学习

  • C Language
  • Vim Script
  • Regluar Expression
  • git

加上gbasic在vim中的种种不协调,所以我产生写这样的一个插件的想法,又刚好和《Learn Vimscript the Hard Way》一书最后实战的例子类似(里面是为potion语言写这样的一个插件,很明显这个插件多了一些功能),所以动手写,并使用git+github的方式来管理源码,这个插件用到Vim ScriptRegluar Expression,刚好达到练习的目的,一举多得。然而它并没有什么卵用,因为我估计在也不会碰这个语言了,而且它实在是太冷门了,不过还是希望它能够给有需要的朋友带来帮助。

功能特点

  • 提供正确语法显示,包括关键字,bulidin函数,注释,强调注释,TODO注释
  • 提供正确的折叠;
  • 准确section移动,也就是按下]],[[,[]][的动作;
  • matchit,扩展%键;
  • 提供准确的缩进,也就是v模式按下=时自动重排代码缩进,以及输入特定关键字自动缩进

安装

vundle

在你的.vimrc加入下面一句,然后重新source你的.vimrc,然后执行:BundleInstall

Bundle "tracyone/gbasic"

vim-plug

在你的.vimrc加入下面一句,然后重新source你的.vimrc,然后执行:PlugInstall

Plug "tracyone/gbasic"

截图

语法高亮

syntax1

折叠

fold

matchit

matchit

section移动

section

准确的缩进

indent

#TODO

  • 修改文件时,某些情况下折叠不能正确显示
  • 语法高亮似乎由于正则写得比较差还是内置函数太多导致偶尔导致变慢
  • basic语言的源文件一样的后缀(*.bas),应该如何选择来决定filetype类型
  • 实在想不出这种语言的插件还应该添加什么功能了,编译器相关又不行(没有命令行接口)
  • 要不要写doc...
  • 根据正则查找函数和变量的定义,支持自定义快捷键,如果这一点写出来了,就写doc...

致谢

感谢发明正则表达式感谢创造Vim编辑器的人们......

vim-gbasic's People

Contributors

tracyone avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

jackruneng

vim-gbasic's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.