BBEdit Code Completion and other features found in Textmate

text-editortextmatetextwrangler

Sometime back in the early 2000s I switched from BBEdit to TextMate, but now it seems TextMate gets to be long in the tooth while the good folks at BareBones are still at it.

The most convenient feature I am missing is the code completion by pressing the esc-key, which will cycle through suggestions based on the current document as well as a code language library.

example:
with the following code:

private var _hello:String = "Hello";

in Textmate when entering the character

_

followed by a keyboard shortcut ( e.g. esc ) I would get the suggestion

_hello

as _hello is in the current document.

if I would type

Nu

followed by a esc I would get

Number

since it is defined for the source language.

The other feature would be the code snippets.
For example:
typing

fn

followed by the tab-key would give me

function ():void{

    };

with the cursor conveniently placed in front of the parentheses.

The basic BBEdit code completion does not seem to achieve the same results.

Does anyone here know how to achieve these features?
Somehow BBEdit announced Kite support but judging by the absence of any documentation either with BareBones or Kite, I guess they had a fallout of sorts.

Any tips greatly appreciated, thanks.

Best Answer

According to the 12.6 user manual (p104), BBEdit offers code completion based on:

  • clippings (both language-specific and universal);
  • ctags symbols computed by running the current document through 'ctags';
  • ctags symbols found in 'tags' files in the current document's hierarchy;
  • predefined names for the source code language at the point of completion;
  • language-specific completions (both predefined and derived from the current document’s content);
  • dictionary words provided by the system spelling service

By default this completion is triggered by F5 but "You can change this equivalent via the Menus & Shortcuts preference panel."

(And, yes, Kite support was deactivated in version 12.1.5.)