[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ktexteditor-devel
Subject:    Re: Adding Textmate-like snippets to Kate
From:       Dominik Haumann <dhdev () gmx ! de>
Date:       2008-01-24 23:10:14
Message-ID: 200801250010.15088.dhdev () gmx ! de
[Download RAW message or body]

On Thursday 24 January 2008, Matt Rogers wrote:
> On Thu, Jan 24, 2008 at 09:18:07PM +0100, Anders Lund wrote:
> > On Thursday 24 January 2008, Matt Rogers wrote:
> > > Hi,
> > >
> > > I'm in the process of adding textmate-like snippet support to
> > > KTextEditor based implementations in the form of a KTextEditor
> > > plugin. The behavior I want to implement is described at
> > > http://macromates.com/textmate/manual/snippets#snippets. After
> > > looking at how KatePart is implemented, I have a few questions.
> > >
> > > Does the template interface support what I want to do? I think it's
> > > basically the same thing, only rather than working with whole files,
> > > i'm working with little bits of text.
> >
> > The template interface can replace macros in the inserted text, so it
> > looks like you want that for variables. I used it in the kate file
> > template plugin, so look there for an example.
>
> ok, I'll take a look at it. Thanks for the pointer. :)
>
> > > I was initially thinking that I would install an event filter on a
> > > KTextEditor::View object, but since KatePart does that already, will
> > > that work without interfering with other things in KatePart?
> >
> > Why would you want an event filter? for changes in the text, use the
> > textChanged() signal.
>
> Because the textChanged() signal does not exist in the KTextEditor
> interfaces and I'd prefer not to depend exclusively on Kate.

KTE::View signals
textInserted (KTextEditor::View *view, const KTextEditor::Cursor &position,
  const QString &text);

cursorPositionChanged (KTextEditor::View *view,
  const KTextEditor::Cursor &newPosition)

KTE::Document signals:
textChanged (KTextEditor::Document *document);
textInserted (KTextEditor::Document *document,
  const KTextEditor::Range &range);
textRemoved (KTextEditor::Document *document,
  const KTextEditor::Range &range);
textChanged (KTextEditor::Document *document,
  const KTextEditor::Range &oldRange, const KTextEditor::Range &newRange);

See also:
http://api.kde.org/4.x-api/kdelibs-apidocs/interfaces/ktexteditor/html/classKTextEditor_1_1View.html

> I also need to know when keys like Tab and Backspace are hit.

Backspace -> maybe textRemoved?
There is no way afaik to get a TAB keypress but an event filter...

> > > Also, if others have better ideas, I'm open to them. :)
> > >
> > > Thanks
>
> --
> Matt
>
> _______________________________________________
> KTextEditor-Devel mailing list
> KTextEditor-Devel@kde.org
> https://mail.kde.org/mailman/listinfo/ktexteditor-devel


_______________________________________________
KTextEditor-Devel mailing list
KTextEditor-Devel@kde.org
https://mail.kde.org/mailman/listinfo/ktexteditor-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic