Skip to content

aqzhyi/Sublime-Better-Completion

Repository files navigation

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.

    • In Chinese:

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

Preview

Support APIs see Setting section.

JavaScript and jQuery 1.9

Twitter Bootstrap 2 and 3

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/.

{
  // --------------------
  // 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

Installation

  • Using Package Control to install.

    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.


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:

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

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