Hi,

The existing matlab completion stuff should work with company .. or at least there is code in there referencing company completion engine.  I was never a fan so I don't use that particular package.

In the MATLAB menu, you will find a "Locate MATLAB function" option which is similar to jump-to functionality like etags.

Newer emacsen now how 'xref' as a bit of infrastructure and keybinding but matlab mode doesn't plug into it yet.  In theory matlab mode could hook matlab-shell-locate-fcn into xref but I haven't researched how to do that yet.

Eric

On 11/27/20 12:44 AM, Jonathan Sahar wrote:
Hi Eric,

Thanks so much for taking the time to test it!
It's not unique to that sturct.
Is there anything that I need/can configure on terms of the completion engine? I'm using company for most other things, maybe there's some conflict, or some missing configuration?

Thank you for the patch! I'll try it out, and I'll using Matlab mode from the git source as well.

Do you have a pointers for setting up jump-to-function functionally?

Thanks again for all the help and information, it's really appreciated.

Jonathan

On Thu, 26 Nov 2020, 19:01 Eric Ludlam, <ericlud...@gmail.com <mailto:ericlud...@gmail.com>> wrote:

    Hi Jonathan,

    I happened to have MATLAB 18a installed and was able to test using
    matlab.el, and matlab-shell.el from git, but could not replicate a
    completion problem.  Sorry. Is it special to the "EEG" data
    structure,
    or does this occur everywhere?

    You had some other questions too.

    Matlab mode does support CEDET, but you do not need to use CEDET in
    order to use matlab mode.  MATLAB mode without support packages
    supports
    a  bunch of different completion features, but most are pretty
    simple.
    If you enable CEDET with the data base and have matlab-shell
    running, it
    will try to use the shell to find files on your path, but it
    doesn't use
    the shell for completions.  That code is pretty old and I don't think
    those bits were every plugged together.

    I did a little hacking and put together the attached patch that
    enables
    completion via MATLAB shell in MATLAB buffers.  It is rather
    primitive
    as it only does global symbols and knows nothing about the local
    context, but perhaps it can serve as inspiration for putting
    something
    more complete together.

    Lastly, in a MATLAB buffer, you can type:

    M-x matlab-shell-describe-command RET

    on a symbol and it should do vaguely what you were asking for below.

    Eric

    On 11/25/20 11:41 AM, Jonathan Sahar wrote:
    > Hi Eric, thanks for your reply!
    >
    > I'm running version  '9.4.0.949201 (R2018a) Update 6'.
    > I've installed matlab-mode through Doom emacs' (package! ...)
    > directive, but I've looked at the changelog locally and on
    > sourceforge, and the latest commit is the same one...
    >
    > Best,
    > Jonathan
    >
    >
    >
    >
    > On Wed, 25 Nov 2020 at 18:03, Eric Ludlam <ericlud...@gmail.com
    <mailto:ericlud...@gmail.com>
    > <mailto:ericlud...@gmail.com <mailto:ericlud...@gmail.com>>> wrote:
    >
    >     Hi Jonathan,
    >
    >     As new version of MATLAB come out, the text that comes out for
    >     errors,
    >     completions, and all sorts of things change which can break
    the shell.
    >
    >     What version of MATLAB are you using, and which version of
    the matlab
    >     mode code are you using?
    >
    >     We made a bunch of updates last winter to ML shell which you
    can get
    >     from the git repository:
    >
    > https://sourceforge.net/p/matlab-emacs/src/ci/master/tree/
    >
    >     There are also a few extra fixes on the 'usage1' branch
    which haven't
    >     been merged into the main branch yet.
    >
    >     That all said, I don't recall big changes needed for completion
    >     lately. :(
    >
    >     Eric
    >
    >
    >     On 11/18/20 10:03 AM, Jonathan Sahar wrote:
    >     >
    >     > I've been working with matlab-mode and matlab-shell for
    the last
    >     few
    >     > days, and I'm really digging it so far. The only two
    things I can't
    >     > get to work properly are completion - neither in shell,
    nor in .m
    >     > files - and jumping to function definitions, and I would
    really
    >     > appreciate some help with these. when I hit TAB in shell,
    my text
    >     > turns into
    >     >
    >     > |>> emacsdocomplete('EEG.(cond') |
    >     >
    >     > and when I hit RETURN I get (the appropriate):
    >     >
    >     > |emacs_completions_output = java.lang.String[]: 'cond'
    'condeig' |
    >     >
    >     > but it's not integrated into the shell properly, i.e. I can't
    >     choose
    >     > which of the above I want, I have to re-type the command
    along with
    >     > the chosen completion. In .m files I just get nothing
    except for
    >     the
    >     > word completion for words already in the buffer - which I've
    >     > configured myself.
    >     >
    >     > I've read somewhere that the completion is meant to be
    related to
    >     > CEDET somehow but I couldn't make out much more (I'm
    working on
    >     Doom
    >     > Emacs, and I seen to have CEDET installed, and can run
    >     > matlab-cedet-setup, which does nothing as far as I can tell).
    >     >
    >     > As to function definitions - I don't even know where to
    start..
    >     I've
    >     > read that ctags now supports matlab, but I don't know
    where (if)
    >     the
    >     > actual .m files for the built-in functions reside in the
    install
    >     dir.
    >     >
    >     > Ideally I'd love to be able to stand on a function name and be
    >     able to
    >     > get the "help funcName" output in another buffer or
    something (this
    >     > works from the shell).
    >     >
    >     > Thanks a lot!
    >     >
    >




_______________________________________________
Matlab-emacs-discuss mailing list
Matlab-emacs-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matlab-emacs-discuss

Reply via email to