Sublime Forum

How to create multiple completions for the same term?

#1

Hello

I want to introduce support for Laravel framework namespaces
There are over 130 of them
All of them start with Illuminate

“Illuminate”,
“Illuminate\Auth”,
“Illuminate\Auth\Access”,
“Illuminate\Auth\Console”,
“Illuminate\Auth\Events”,
“Illuminate\Auth\Middleware”,
“Illuminate\Auth\Notifications”,
“Illuminate\Auth\Passwords”,
“Illuminate\Broadcasting”,
“Illuminate\Broadcasting\Broadcasters”,
“Illuminate\Bus”,
“Illuminate\Cache”,
“Illuminate\Cache\Console”,
“Illuminate\Cache\Events”,
“Illuminate\Config”,
“Illuminate\Console”,
“Illuminate\Console\Events”,
“Illuminate\Console\Scheduling”,
“Illuminate\Container”,
“Illuminate\Contracts”,
“Illuminate\Contracts\Auth”,
“Illuminate\Contracts\Auth\Access”,
“Illuminate\Contracts\Broadcasting”,
“Illuminate\Contracts\Bus”,
“Illuminate\Contracts\Cache”,
“Illuminate\Contracts\Config”,
“Illuminate\Contracts\Console”,
“Illuminate\Contracts\Container”,
“Illuminate\Contracts\Cookie”,
“Illuminate\Contracts\Database”,
“Illuminate\Contracts\Debug”,
“Illuminate\Contracts\Encryption”,
“Illuminate\Contracts\Events”,
“Illuminate\Contracts\Filesystem”,
“Illuminate\Contracts\Foundation”,
“Illuminate\Contracts\Hashing”,
“Illuminate\Contracts\Http”,
“Illuminate\Contracts\Logging”,
“Illuminate\Contracts\Mail”,
“Illuminate\Contracts\Notifications”,
“Illuminate\Contracts\Pagination”,
“Illuminate\Contracts\Pipeline”,
“Illuminate\Contracts\Queue”,
“Illuminate\Contracts\Redis”,
“Illuminate\Contracts\Routing”,
“Illuminate\Contracts\Support”,
“Illuminate\Contracts\Validation”,
“Illuminate\Contracts\View”,
“Illuminate\Cookie”,
“Illuminate\Cookie\Middleware”,
“Illuminate\Database”,
“Illuminate\Database\Capsule”,
“Illuminate\Database\Connectors”,
“Illuminate\Database\Console”,
“Illuminate\Database\Console\Migrations”,
“Illuminate\Database\Console\Seeds”,
“Illuminate\Database\Eloquent”,
“Illuminate\Database\Eloquent\Relations”,
“Illuminate\Database\Events”,
“Illuminate\Database\Migrations”,
“Illuminate\Database\Query”,
“Illuminate\Database\Query\Grammars”,
“Illuminate\Database\Query\Processors”,
“Illuminate\Database\Schema”,
“Illuminate\Database\Schema\Grammars”,
“Illuminate\Encryption”,
“Illuminate\Events”,
“Illuminate\Filesystem”,
“Illuminate\Foundation”,
“Illuminate\Foundation\Auth”,
“Illuminate\Foundation\Auth\Access”,
“Illuminate\Foundation\Bootstrap”,
“Illuminate\Foundation\Bus”,
“Illuminate\Foundation\Console”,
“Illuminate\Foundation\Exceptions”,
“Illuminate\Foundation\Http”,
“Illuminate\Foundation\Http\Exceptions”,
“Illuminate\Foundation\Http\Middleware”,
“Illuminate\Foundation\Providers”,
“Illuminate\Foundation\Support”,
“Illuminate\Foundation\Support\Providers”,
“Illuminate\Foundation\Testing”,
“Illuminate\Foundation\Testing\Concerns”,
“Illuminate\Foundation\Testing\Constraints”,
“Illuminate\Foundation\Validation”,
“Illuminate\Hashing”,
“Illuminate\Http”,
“Illuminate\Http\Exception”,
“Illuminate\Http\Middleware”,
“Illuminate\Log”,
“Illuminate\Mail”,
“Illuminate\Mail\Events”,
“Illuminate\Mail\Jobs”,
“Illuminate\Mail\Transport”,
“Illuminate\Notifications”,
“Illuminate\Notifications\Channels”,
“Illuminate\Notifications\Console”,
“Illuminate\Notifications\Events”,
“Illuminate\Notifications\Messages”,
“Illuminate\Pagination”,
“Illuminate\Pipeline”,
“Illuminate\Queue”,
“Illuminate\Queue\Capsule”,
“Illuminate\Queue\Connectors”,
“Illuminate\Queue\Console”,
“Illuminate\Queue\Events”,
“Illuminate\Queue\Failed”,
“Illuminate\Queue\Jobs”,
“Illuminate\Redis”,
“Illuminate\Routing”,
“Illuminate\Routing\Console”,
“Illuminate\Routing\Events”,
“Illuminate\Routing\Exceptions”,
“Illuminate\Routing\Matching”,
“Illuminate\Routing\Middleware”,
“Illuminate\Session”,
“Illuminate\Session\Console”,
“Illuminate\Session\Middleware”,
“Illuminate\Support”,
“Illuminate\Support\Debug”,
“Illuminate\Support\Facades”,
“Illuminate\Support\Testing”,
“Illuminate\Support\Testing\Fakes”,
“Illuminate\Support\Traits”,
“Illuminate\Translation”,
“Illuminate\Validation”,
“Illuminate\Validation\Rules”,
“Illuminate\View”,
“Illuminate\View\Compilers”,
“Illuminate\View\Engines”,
“Illuminate\View\Middleware”,

Is there a way such that by typing Illuminate all the namespaces will appear and let me select one ?

0 Likes

#2

of course…

 import sublime
 import sublime_plugin


 class IlluminateEventListener(sublime_plugin.EventListener):
    def on_query_completions(self, view, prefix, locations):
        if prefix == 'Illuminate':
            return [
                ('Illuminate', 'Illuminate'),
                ('Illuminate\\Auth', 'Illuminate\\Auth'),
                ('Illuminate\\Auth\\Access', 'Illuminate\\Auth\\Access'),
                ('Illuminate\\Auth\\Console', 'Illuminate\\Auth\\Console'),
                ('Illuminate\\Auth\\Events', 'Illuminate\\Auth\\Events'),
                ('Illuminate\\Auth\\Middleware', 'Illuminate\\Auth\\Middleware'),
                ('Illuminate\\Auth\\Notifications', 'Illuminate\\Auth\\Notifications'),
                ('Illuminate\\Auth\\Passwords', 'Illuminate\\Auth\\Passwords'),
                ('Illuminate\\Broadcasting', 'Illuminate\\Broadcasting'),
                ('Illuminate\\Broadcasting\\Broadcasters', 'Illuminate\\Broadcasting\\Broadcasters'),
                ('Illuminate\\Bus', 'Illuminate\\Bus'),
                ('Illuminate\\Cache', 'Illuminate\\Cache'),
                ('Illuminate\\Cache\\Console', 'Illuminate\\Cache\\Console'),
                ('Illuminate\\Cache\\Events', 'Illuminate\\Cache\\Events'),
                ('Illuminate\\Config', 'Illuminate\\Config'),
                ('Illuminate\\Console', 'Illuminate\\Console'),
                ('Illuminate\\Console\\Events', 'Illuminate\\Console\\Events'),
                ('Illuminate\\Console\\Scheduling', 'Illuminate\\Console\\Scheduling'),
                ('Illuminate\\Container', 'Illuminate\\Container'),
                ('Illuminate\\Contracts', 'Illuminate\\Contracts'),
                ('Illuminate\\Contracts\\Auth', 'Illuminate\\Contracts\\Auth'),
                ('Illuminate\\Contracts\\Auth\\Access', 'Illuminate\\Contracts\\Auth\\Access'),
                ('Illuminate\\Contracts\\Broadcasting', 'Illuminate\\Contracts\\Broadcasting'),
                ('Illuminate\\Contracts\\Bus', 'Illuminate\\Contracts\\Bus'),
                ('Illuminate\\Contracts\\Cache', 'Illuminate\\Contracts\\Cache'),
                ('Illuminate\\Contracts\\Config', 'Illuminate\\Contracts\\Config'),
                ('Illuminate\\Contracts\\Console', 'Illuminate\\Contracts\\Console'),
                ('Illuminate\\Contracts\\Container', 'Illuminate\\Contracts\\Container'),
                ('Illuminate\\Contracts\\Cookie', 'Illuminate\\Contracts\\Cookie'),
                ('Illuminate\\Contracts\\Database', 'Illuminate\\Contracts\\Database'),
                ('Illuminate\\Contracts\\Debug', 'Illuminate\\Contracts\\Debug'),
                ('Illuminate\\Contracts\\Encryption', 'Illuminate\\Contracts\\Encryption'),
                ('Illuminate\\Contracts\\Events', 'Illuminate\\Contracts\\Events'),
                ('Illuminate\\Contracts\\Filesystem', 'Illuminate\\Contracts\\Filesystem'),
                ('Illuminate\\Contracts\\Foundation', 'Illuminate\\Contracts\\Foundation'),
                ('Illuminate\\Contracts\\Hashing', 'Illuminate\\Contracts\\Hashing'),
                ('Illuminate\\Contracts\\Http', 'Illuminate\\Contracts\\Http'),
                ('Illuminate\\Contracts\\Logging', 'Illuminate\\Contracts\\Logging'),
                ('Illuminate\\Contracts\\Mail', 'Illuminate\\Contracts\\Mail'),
                ('Illuminate\\Contracts\\Notifications', 'Illuminate\\Contracts\\Notifications'),
                ('Illuminate\\Contracts\\Pagination', 'Illuminate\\Contracts\\Pagination'),
                ('Illuminate\\Contracts\\Pipeline', 'Illuminate\\Contracts\\Pipeline'),
                ('Illuminate\\Contracts\\Queue', 'Illuminate\\Contracts\\Queue'),
                ('Illuminate\\Contracts\\Redis', 'Illuminate\\Contracts\\Redis'),
                ('Illuminate\\Contracts\\Routing', 'Illuminate\\Contracts\\Routing'),
                ('Illuminate\\Contracts\\Support', 'Illuminate\\Contracts\\Support'),
                ('Illuminate\\Contracts\\Validation', 'Illuminate\\Contracts\\Validation'),
                ('Illuminate\\Contracts\\View', 'Illuminate\\Contracts\\View'),
                ('Illuminate\\Cookie', 'Illuminate\\Cookie'),
                ('Illuminate\\Cookie\\Middleware', 'Illuminate\\Cookie\\Middleware'),
                ('Illuminate\\Database', 'Illuminate\\Database'),
                ('Illuminate\\Database\\Capsule', 'Illuminate\\Database\\Capsule'),
                ('Illuminate\\Database\\Connectors', 'Illuminate\\Database\\Connectors'),
                ('Illuminate\\Database\\Console', 'Illuminate\\Database\\Console'),
                ('Illuminate\\Database\\Console\\Migrations', 'Illuminate\\Database\\Console\\Migrations'),
                ('Illuminate\\Database\\Console\\Seeds', 'Illuminate\\Database\\Console\\Seeds'),
                ('Illuminate\\Database\\Eloquent', 'Illuminate\\Database\\Eloquent'),
                ('Illuminate\\Database\\Eloquent\\Relations', 'Illuminate\\Database\\Eloquent\\Relations'),
                ('Illuminate\\Database\\Events', 'Illuminate\\Database\\Events'),
                ('Illuminate\\Database\\Migrations', 'Illuminate\\Database\\Migrations'),
                ('Illuminate\\Database\\Query', 'Illuminate\\Database\\Query'),
                ('Illuminate\\Database\\Query\\Grammars', 'Illuminate\\Database\\Query\\Grammars'),
                ('Illuminate\\Database\\Query\\Processors', 'Illuminate\\Database\\Query\\Processors'),
                ('Illuminate\\Database\\Schema', 'Illuminate\\Database\\Schema'),
                ('Illuminate\\Database\\Schema\\Grammars', 'Illuminate\\Database\\Schema\\Grammars'),
                ('Illuminate\\Encryption', 'Illuminate\\Encryption'),
                ('Illuminate\\Events', 'Illuminate\\Events'),
                ('Illuminate\\Filesystem', 'Illuminate\\Filesystem'),
                ('Illuminate\\Foundation', 'Illuminate\\Foundation'),
                ('Illuminate\\Foundation\\Auth', 'Illuminate\\Foundation\\Auth'),
                ('Illuminate\\Foundation\\Auth\\Access', 'Illuminate\\Foundation\\Auth\\Access'),
                ('Illuminate\\Foundation\\Bootstrap', 'Illuminate\\Foundation\\Bootstrap'),
                ('Illuminate\\Foundation\\Bus', 'Illuminate\\Foundation\\Bus'),
                ('Illuminate\\Foundation\\Console', 'Illuminate\\Foundation\\Console'),
                ('Illuminate\\Foundation\\Exceptions', 'Illuminate\\Foundation\\Exceptions'),
                ('Illuminate\\Foundation\\Http', 'Illuminate\\Foundation\\Http'),
                ('Illuminate\\Foundation\\Http\\Exceptions', 'Illuminate\\Foundation\\Http\\Exceptions'),
                ('Illuminate\\Foundation\\Http\\Middleware', 'Illuminate\\Foundation\\Http\\Middleware'),
                ('Illuminate\\Foundation\\Providers', 'Illuminate\\Foundation\\Providers'),
                ('Illuminate\\Foundation\\Support', 'Illuminate\\Foundation\\Support'),
                ('Illuminate\\Foundation\\Support\\Providers', 'Illuminate\\Foundation\\Support\\Providers'),
                ('Illuminate\\Foundation\\Testing', 'Illuminate\\Foundation\\Testing'),
                ('Illuminate\\Foundation\\Testing\\Concerns', 'Illuminate\\Foundation\\Testing\\Concerns'),
                ('Illuminate\\Foundation\\Testing\\Constraints', 'Illuminate\\Foundation\\Testing\\Constraints'),
                ('Illuminate\\Foundation\\Validation', 'Illuminate\\Foundation\\Validation'),
                ('Illuminate\\Hashing', 'Illuminate\\Hashing'),
                ('Illuminate\\Http', 'Illuminate\\Http'),
                ('Illuminate\\Http\\Exception', 'Illuminate\\Http\\Exception'),
                ('Illuminate\\Http\\Middleware', 'Illuminate\\Http\\Middleware'),
                ('Illuminate\\Log', 'Illuminate\\Log'),
                ('Illuminate\\Mail', 'Illuminate\\Mail'),
                ('Illuminate\\Mail\\Events', 'Illuminate\\Mail\\Events'),
                ('Illuminate\\Mail\\Jobs', 'Illuminate\\Mail\\Jobs'),
                ('Illuminate\\Mail\\Transport', 'Illuminate\\Mail\\Transport'),
                ('Illuminate\\Notifications', 'Illuminate\\Notifications'),
                ('Illuminate\\Notifications\\Channels', 'Illuminate\\Notifications\\Channels'),
                ('Illuminate\\Notifications\\Console', 'Illuminate\\Notifications\\Console'),
                ('Illuminate\\Notifications\\Events', 'Illuminate\\Notifications\\Events'),
                ('Illuminate\\Notifications\\Messages', 'Illuminate\\Notifications\\Messages'),
                ('Illuminate\\Pagination', 'Illuminate\\Pagination'),
                ('Illuminate\\Pipeline', 'Illuminate\\Pipeline'),
                ('Illuminate\\Queue', 'Illuminate\\Queue'),
                ('Illuminate\\Queue\\Capsule', 'Illuminate\\Queue\\Capsule'),
                ('Illuminate\\Queue\\Connectors', 'Illuminate\\Queue\\Connectors'),
                ('Illuminate\\Queue\\Console', 'Illuminate\\Queue\\Console'),
                ('Illuminate\\Queue\\Events', 'Illuminate\\Queue\\Events'),
                ('Illuminate\\Queue\\Failed', 'Illuminate\\Queue\\Failed'),
                ('Illuminate\\Queue\\Jobs', 'Illuminate\\Queue\\Jobs'),
                ('Illuminate\\Redis', 'Illuminate\\Redis'),
                ('Illuminate\\Routing', 'Illuminate\\Routing'),
                ('Illuminate\\Routing\\Console', 'Illuminate\\Routing\\Console'),
                ('Illuminate\\Routing\\Events', 'Illuminate\\Routing\\Events'),
                ('Illuminate\\Routing\\Exceptions', 'Illuminate\\Routing\\Exceptions'),
                ('Illuminate\\Routing\\Matching', 'Illuminate\\Routing\\Matching'),
                ('Illuminate\\Routing\\Middleware', 'Illuminate\\Routing\\Middleware'),
                ('Illuminate\\Session', 'Illuminate\\Session'),
                ('Illuminate\\Session\\Console', 'Illuminate\\Session\\Console'),
                ('Illuminate\\Session\\Middleware', 'Illuminate\\Session\\Middleware'),
                ('Illuminate\\Support', 'Illuminate\\Support'),
                ('Illuminate\\Support\\Debug', 'Illuminate\\Support\\Debug'),
                ('Illuminate\\Support\\Facades', 'Illuminate\\Support\\Facades'),
                ('Illuminate\\Support\\Testing', 'Illuminate\\Support\\Testing'),
                ('Illuminate\\Support\\Testing\\Fakes', 'Illuminate\\Support\\Testing\\Fakes'),
                ('Illuminate\\Support\\Traits', 'Illuminate\\Support\\Traits'),
                ('Illuminate\\Translation', 'Illuminate\\Translation'),
                ('Illuminate\\Validation', 'Illuminate\\Validation'),
                ('Illuminate\\Validation\\Rules', 'Illuminate\\Validation\\Rules'),
                ('Illuminate\\View', 'Illuminate\\View'),
                ('Illuminate\\View\\Compilers', 'Illuminate\\View\\Compilers'),
                ('Illuminate\\View\\Engines', 'Illuminate\\View\\Engines'),
                ('Illuminate\\View\\Middleware', 'Illuminate\\View\\Middleware'),
            ]

but you will run into this:

0 Likes

Develop prompt view in sublime text 3
#3

Thank you for the quick reply So this is a python file Where do I put it ? I put it in a folder under Packages, Show Console says “reloading plugin laravel-name.illuminate” , however when I type Illuminate nothing shows up in autocompletions, except Illuminate I am using ST3

0 Likes

#4

Oh, it was a python error with indentation It works great I don’t that error you said Thank you again

0 Likes