Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Aqzhyi/Sublime-Better-Completion

手刻的浪漫 DEPRECATED, use TypeScript!
https://github.com/Aqzhyi/Sublime-Better-Completion

frontend sublime-text

Last synced: 24 days ago
JSON representation

手刻的浪漫 DEPRECATED, use TypeScript!

Awesome Lists containing this project

README

        

Sublime Better Completion Package
===============================

手刻的浪漫

This package aim at provide a simpler way to build own auto-completions and avoid `*.sublime-completions` override word-completion wrongly in some circumstance (issue#3).

**auto-completion** is lightweight, easier, simpler than **snippets**.

This package also provide several APIs completions such as JavaScript, jQuery, Lodash, Underscore, HTML5, CSS3 and Bootstrap Classes, React.js, etc

## Compatible

Should be working fine with ST2 and ST3.

2015/02

- Sublime Text 3 with MAC OS X 10.10.2 using Package Control **tested**!

2014/08

- Sublime Text 3 with MAC OS X 10.9.4 manual installed **tested**!

2013/09

- Sublime Text 3 with MAC OS X 10.8.4 using Package Control **tested**!

- Sublime Text 2 with MAC OS X 10.8.4 using Package Control **tested**!

2013/07

- Sublime Text 2 with Windows 8 64bit **tested**!

- Sublime Text 2 with Windows 7 32bit **tested**!

- Sublime Text 3 with Windows 8 64bit **tested**!

## Why this package?

* Several API completions ready to enable.

* More API completions create easier.

* Compared with `*.sublime-snippet` files:

Simpler to build own API completions.

* Compared with `*.sublime-completions` files:

This package will avoid `*.sublime-completions` override word-completion wrongly:

* **In English**:

It seems like when scope matched would be override word-completions provide by sublime itself. refer to [issue#3](https://github.com/Pleasurazy/Sublime-Better-Completion/issues/3).

* **In Chinese**:

一但 scope 匹配成功之後,自製的 auto-completion 雖然能夠順利工作;但是它也會覆蓋掉原本 word-completion。因此,只有在自製的辭彙的 scope 完全沒匹配時,才會正常地顯示原本的 word-completion,卻沒有將它們融合在一起顯示。這使得可被選擇的 completions 將會有所遺失。

## Preview

Support APIs see Setting section.

#### JavaScript and jQuery 1.9

![](https://raw.github.com/Pleasurazy/Sublime-Better-Completion/master/README/JavaScript-and-jQuery/demo1.gif)

![](https://raw.github.com/Pleasurazy/Sublime-Better-Completion/master/README/JavaScript-and-jQuery/static3.jpg)

#### Twitter Bootstrap 2 and 3

![](https://raw.github.com/Pleasurazy/Sublime-Better-Completion/master/README/bootstrap-demo/demo1.gif)

![](https://raw.github.com/Pleasurazy/Sublime-Better-Completion/master/README/bootstrap-demo/static3.jpg)

## Setting

Make your own API files that contains *keyword* such as `html`, `jquery`, `myglossary` as filename `sbc-api-${filename}.sublime-settings` and place them in `/packages/User/`.

```js
{
// --------------------
// sublime-better-completions-Package (sbc package)
// --------------------
// API files is contains the *keyword* such as `html`, `jquery`, `myglossary` with lowercase as filename `sbc-api-${filename}.sublime-settings` place in `/packages/User/` (your own) or `/packages/${this-package}/sublime-completions/` (package build-in).
// After you enable, disable or added new your own completions, you might need restart your Sublime Text Editor.
//
// Your own setting file `sbc-setting.sublime-settings` need to place in `/packages/User/` and contains all your api setting property that you want to enable.
//
// --------------------
// APIs Setup
// --------------------
// `true` means enable it.
// `false` means disable it.
"completion_active_list": {
// build-in completions
"css-properties": false,
"gruntjs-plugins": false,
"html": false,
"lodash": false,
"javascript": false,
"jquery": false,
"jquery-sq": false, // Single Quote
"php": false,
"phpci": false,
"sql": false,
"twitter-bootstrap": false,
"twitter-bootstrap-less-variables": false,
"twitter-bootstrap3": false,
"twitter-bootstrap3-sass-variables": false,
"underscorejs": false,
"react": false,

// Your own completions?
// ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/sbc-api-my-angularjs.sublime-settings
"my-angularjs": false,

// ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/sbc-api-my-glossary.sublime-settings
"my-glossary": false,

// ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/sbc-api-my-html.sublime-settings
"my-html": false,

// ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/sbc-api-my-javascript.sublime-settings
"my-javascript": false
}
}
```

After you enable, disable or added new your own completions, you might need restart your Sublime Text.

## API References

* jQuery Version: 1.9

* http://oscarotero.com/jquery/

* JavaScript

* http://overapi.com/javascript/
* http://www.w3schools.com/js/

* Underscore 1.5.1

* http://underscorejs.org/

* Twitter Bootstrap Version 2 and 3

* http://getbootstrap.com/
* http://twitter.github.io/bootstrap/index.html
* https://github.com/twbs/bootstrap-sass

* HTML / HTML5

* http://devdocs.io/html-html5/

* Lodash 3.3.0

* http://devdocs.io/lodash/

## Installation

* Using **Package Control** to install.

![](https://raw.github.com/Pleasurazy/Sublime-Better-Completion/master/README/UsingPackageControl.jpg)

Waiting download.

CTRL+SHIFT+P or CMD+SHIFT+P type in `sbc settings user` to open user setting file

Paste setting json. (see Setting section)

Enable your favorite APIs.

Restart your sublime text app.

Happy programming.

---

* Manual Install Instructions

Please refer to [this-package/Install_instructions.md].

[this-package/Install_instructions.md]: https://github.com/Pleasurazy/Sublime-Better-Completion/blob/master/Install_instructions.md

## Relevant issues

> How to trigger completion hint when every typing?

Open file `Packages/User/Preferences.sublime-settings` or click `Setting - User` from menu. In my case, I just setup the `auto_complete_triggers` property as follow:

```js
{
"auto_complete_triggers":
[
{
"characters": "qazwsxedcrfvtgbyhnujmikolpQAZWSXEDCRFVTGBYHNUJMIKOLP",
"selector": "text, source, meta, string, punctuation, constant"
}
]
}
```

It will active most of scope triggers and most of characters.