ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Dlang​Auto​Import

by vitalfadeev ST3

Sublime 3/4 D-lang AutoImport plugin. Add "import ...." for symbol.

Details

Installs

  • Total 948
  • Win 673
  • Mac 108
  • Linux 167
Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16
Windows 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
Mac 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0

Readme

Source
raw.​githubusercontent.​com

Sublime ¾ Dlang Auto-Import

Sublime ¾ D AutoImport plugin. Add “import ….” for symbol. It provides the dlang_auto_import command.

Demo

Demo

Features

In code like this:

class Uno : IStylable
{
    //
}

will be auto added “import ui.istylable : IStylable;” at begin of file. Like this:

import ui.istylable : IStylable;

class Uno : IStylable
{
    //
}

Algo

  • Scan project files, using ST3 index
  • Grep for Symbol
  • Grep file for “module …”
  • Get module.name
  • Check for existing “module … : Symbol”
  • Build line “import module_name : Symbol;”
  • Insert in text.
  • - after last “import …”
  • - after “module …”
  • - at top

Installation

Install DlangAutoImport from Package Control.

Then add a keybinding of your choice for the dlang_auto_import command, by adding a line like this to your keybindings file:

{ "keys": ["alt+a"], "command": "dlang_auto_import" },

You can also try it out immediately by choosing “D: import …” from the context menu or command pallete.

Hint

For auto-comlition Phobos/core/sys/std D keywords (Linux):

  1. Menu: Project / Edit Project

  2. edit

{
    "folders":
    [
        {
            "path": "."
        },
        {
            "path": "/usr/include/dmd/druntime",
            "file_include_patterns": ["*.d"]
        },
        {
            "path": "/usr/include/dmd/phobos",
            "file_include_patterns": ["*.d"]
        }
    ]
}