Creating custom autocompletes

I have heard that you can create a file, that will allow Komodo to look up code hints/ and auto-completes from. Does anyone know of any good tutorials on how to make these and how to install them?

There is no extensive documentation on this (yet) unfortunately but if you’re able to work by example:

You can also include a skeleton file (no implementation) with doc comments (phpdoc, jsdoc, etc.) which can produce similar results.

You can customize more with the method Nathanr mentioned though I believe.

  • Carey

Good point @careyh - there’s actually quite a few projects that do this, eg. https://github.com/barryvdh/laravel-ide-helper

Looking at the example, I got some thing going. However most example I saw seem to have lines that offer no ROI. For example,

<?xml version="1.0" encoding="UTF-8"?>
<codeintel description="MarkLogic  - v8" name="test" version="1.0">
  <file lang="NodeJS path="">
    <scope ilk="blob" lang="NodeJS" name="cts.js">
      <variable citdl="Object" name="cts">
        <scope doc="Executes a user-defined extension aggregat function against a value lexicon or n-way co-occurence of multiple value lexicons. Value lexicons are implemented using range indexes; consequently this function requires a range index for each lexicon specified in the function. If a specified range index does not exist an error is raised. If the 'ordered=' or 'proximity=' option is specified, the range index must have range value positions set to true, otherwise an error is raised." ilk="function" name="aggregate" signature="aggregate(native-plugin, aggregate-name, range-indexes, options, query,forest-ids)" >
            <variable ilk="argument" name="aggregate-name" citdl="String" doc="The path to the native plugin library containing the implementation of the user-defined extension aggregate."/>
            <variable ilk="argument" name="ranges-indexes" citdl="String" doc="The path to the native plugin library containing the implementation of the user-defined extension aggregate."/>
            <variable ilk="argument" name="options" citdl="String" doc="The path to the native plugin library containing the implementation of the user-defined extension aggregate."/>
            <variable ilk="argument" name="query" citdl="String" doc="The path to the native plugin library containing the implementation of the user-defined extension aggregate."/>
            <variable ilk="argument" name="forest-ids" citdl="String" doc="The path to the native plugin library containing the implementation of the user-defined extension aggregate."/>
        </scope>
        <scope doc="Convert an ISO 8601 date (YYYY-MM-DD) to a Date object." ilk="function" name="isoDate" signature="isoDate(str)" />
      </variable>
      <variable citdl="cts.isoDate" name="isoDate" />
      <variable citdl="cts.aggregate" name="aggregate" />
    </scope>
  </file>
</codeintel>

the line with "

<variable ilk="argument". 

do not seem to offer any advantages. Am I missing anything. It would be nice if the datatype info was actually used, but it does not seem to be the case.

Furthermore, Komodo seem to be extremely picky about the format of the file which is very annoying.

Some languages may access different properties, the info will be available to them but its up to the language to use it.

Can you elaborate? Obviously the XML needs to be valid, but I assume you’re referring to something else.

Some languages may access different properties, the info will be available to them but its up to the language to use it.

The language is Javascript, which I guess it does not support. I notice when you use @param it does not seem to do anything withe the type or description

Can you elaborate? Obviously the XML needs to be valid, but I assume you’re referring to something else.

yes, adding space, new line seem to completely throw off autocompletion. For example, I found having to scroll horizontally to view the complete line to be annoying. I then pass it to XMLtidy. It was still valid XML, but autocompletion stop work. Then I notice that all example did not add new line within a tag. (before the closing ‘>’)

On another note @construct still does not work in Komodo 9, even thought this bug was closed Tried to reply to the bug report directly, but it seem to require a different account

As I have written in the other thread, I have written a combination of scripts which will create an auto complete code intelligent xml (cix) file from jsdocv3. Code can be found here: https://github.com/mauritslamers/scdocsv2. Feel free to contact me with questions about it.