Skip to content

Releases: IbraDevx/Web2py-AutoComplete

v0.18.0 — Record variable completion

Choose a tag to compare

@IbraDevx IbraDevx released this 29 Jul 12:19

web2py-intern-tools-0.18.0.zip

New

Completion on local record variables.
The common controller pattern now works:

record = db(db.candidate.id == request.args(0)).select().first()
record.          # -> candidate's fields, plus the Row API

The file above the cursor is scanned for assignments, so this holds even
when the query is several calls deep or wrapped across lines. Also handled:

for row in rows:
    row.                 # fields of whatever rows was selected from

table_name = 'candidate'
rec = db(db[table_name].id == x).select().first()
rec.                     # resolves through the string variable

Every record completion now ends with the pydal Row API — update_record,
delete_record, as_dict, as_json, clone, get, keys, values,
items, id — listed after the real fields.

When the table name is a runtime value (db[request.args(0)]), the variable
gets the Row API only. The table genuinely cannot be known before the code
runs, so nothing is guessed.

Install

Download the .vsix below, then:

v0.17.0 — Faster startup & smarter db. completion

Choose a tag to compare

@IbraDevx IbraDevx released this 29 Jul 10:37

web2py-intern-tools-0.17.0.zip

New

Field completion through subscript and call access.
db.candidate. used to be the only way to get field completions. Now all of
these offer the same list:

db.candidate[5].          # Row
db.candidate(5).          # Row by id
db['candidate'].          # table by name
db["candidate"][5].
db.candidate['item'].     # resolves to the field itself
db(db.candidate.id == 5).select()[0].
db(db.candidate).select().first().

Handled by a real expression resolver rather than a regex per syntax, so
combinations work too.

Fixed

"Unresponsive extension host" on installations with many applications.
Startup used to index every application under applications/ synchronously,
which froze the whole editor — on a machine with ~50 applications, for
seconds. Each application is now indexed the first time you open a file in
it. Diagnostics and save-triggered re-indexing are debounced.

Install

Download the .vsix below, then:

v0.13.0 — Autocompletion & Navigation

Choose a tag to compare

@IbraDevx IbraDevx released this 28 Jul 13:57

web2py-autocompletion-v0.13.0.zip

Install

  1. Download web2py-autocompletion-v0.13.0.zip below
  2. Unzip it — inside is web2py-intern-tools-0.13.0.vsix
  3. VS Code → Extensions → ⋯ → Install from VSIX… → select the .vsix
  4. Open your web2py folder as workspace and reload