Chris Smith
4c35da850d
Update copyright.
7 lat temu
Chris Smith
bc63c527ef
Apply object display properties when formatting events.
If an object in a formatter tag ({{foo.bar.baz}}) is Displayable,
then we will modify the output based on its display properties.
Currently only supports user links and foreground colours.
This also changes the internal format of nickname links to be
`\u16<nick to link to>\u16<text to show>\u16`, allowing the
link and text to differ. This means if you formatted users
by showing their realname, you could still click them to
open a query.
Closes #424
Closes DMDirc/Plugins#507
7 lat temu
Chris Smith
407d8b00fa
Add a display property for linking to users.
Issue #424
7 lat temu
Chris Smith
152fbfcb2a
Fix config binding for unread status manager.
I broke it in my interface-extraction shennanigans.
Closes DMDirc/Plugins#509
7 lat temu
Chris Smith
82f897f85e
Add an interface for ColourManager.
7 lat temu
Chris Smith
e52b88ec90
Move base command etc to API
7 lat temu
Chris Smith
691ce6f2e4
Move most events to API
7 lat temu
Chris Smith
ab4e7f023a
Bulk API move.
7 lat temu
Chris Smith
318402848e
Add an interface for tab completers, move to API.
7 lat temu
Chris Smith
37e196fdc6
Kill TabCompletionMatches.
7 lat temu
Chris Smith
be72ff7de0
Deprecate TabCompletionMatches.
Make it extend a list instead of wrapping it, so we can just replace
all usages with... an actual list.
7 lat temu
Chris Smith
c539721d58
Extract interface for CommandParser
7 lat temu
Chris Smith
f5be0bf102
Add interface for UnreadStatusManager.
7 lat temu
Chris Smith
f4784c4130
Make Command an interface
7 lat temu
Chris Smith
7127abfa36
Make commands extend BaseCommand.
Flip BaseCommand and Command around so everything still works.
7 lat temu
Chris Smith
a652e88581
Rename Command to BaseCommand.
Command will eventually become an interface when all usages have been replaced
7 lat temu
Chris Smith
5a3c8b1543
Fix Override annotation
7 lat temu
Chris Smith
6ef93005ae
Move some classes to API
7 lat temu
Chris Smith
483306c022
Extract an interface for Styliser.
7 lat temu
Chris Smith
91584222e1
Remove deprecated styliser methods.
7 lat temu
Chris Smith
8343350cec
Move static styliser methods to new class.
The styliser needs an interface extracting into the API, and
we don't really want huge static methods defined on that.
7 lat temu
Chris Smith
90675fa8ff
Minor style fixes
7 lat temu
Chris Smith
5b9343873b
Use PrivateChat in events, not Query.
7 lat temu
Chris Smith
ba7cba7719
Migrate to new @AddonConfig annotation.
7 lat temu
Chris Smith
84e7992e2c
Migrate to new @UserConfig annotation.
7 lat temu
Chris Smith
c15764616f
Migrate to new @GlobalConfig annotation.
7 lat temu
Chris Smith
3125be0e12
Add config annotations to API.
At present anything requesting the global config has to depend on
ClientModule, which won't necessarily be exposed through the API.
Move @GlobalConfig , @AddonConfig and @UserConfig to top level
classes in API, and provide both versions of them for now.
7 lat temu
Chris Smith
1ae3f15867
Move IRC control codes to their own class.
Some other minor tidying to Styliser.
7 lat temu
Chris Smith
2890ffc0e2
Move Document, Line et al to API.
7 lat temu
Chris Smith
89a09f4760
Extract an interface for Line.
7 lat temu
Chris Smith
ae5a5e7251
Extract interfaces for BackBuffer and IRCDocument.
7 lat temu
Chris Smith
23569dc14e
Move some more classes to API.
7 lat temu
Chris Smith
283c1ba958
Add an interface for ConfigBinder.
Rename the private implementation to ConfigBinderImpl, and
make ConfigBinder itself an interface.
7 lat temu
Chris Smith
ad7868c5c2
ConfigProviderListeners aren't public.
7 lat temu
Chris Smith
12b5c1ddd0
Remove ConfigTarget from interfaces.
This shouldn't be exposed. Internal classes switch to using
the full class rather than the interface, so they can carry
on accessing the removed methods.
7 lat temu
Chris Smith
5cc0af4324
Use EventBus interface.
This is just an IntelliJ refactor, using EventBus in place of
DMDircMBassador whenever possible.
7 lat temu
Chris Smith
f51247d44e
Add an interface for the event bus.
Our API shouldn't depend on MBassador. Extract a simple interface
to break the dependency.
7 lat temu
Chris Smith
aa07d2579b
Move some files into the API project.
7 lat temu
Chris Smith
0511e076b5
Add an API directory.
This is for the interfaces/trivial implementation classes that
DMDirc plugins can interact with. Eventually plugins will build
against the API instead of the DMDirc client itself, which will
allow for remote/detachable clients (amongst other things).
7 lat temu
Chris Smith
015d7aa8ac
Fix a few places where Query is temporarily needed.
7 lat temu
Chris Smith
28d2a13704
Replace Query with PrivateChat in Connection.
7 lat temu
Chris Smith
56d4018cfc
Use PrivateChat for events, not Query.
Issue #76
7 lat temu
Chris Smith
ac24970184
Don't fiddle with ports before passing them to the parser.
If the user doesn't specify a port, allow the parser implementation
to figure it out for itself. This allows for things like SRV lookups,
or different default ports per protocol.
8 lat temu
Chris Smith
1433ddfb6e
Remove Window and InputWindow.
8 lat temu
Chris Smith
aaec27c42e
Make link events use WindowModel.
8 lat temu
Chris Smith
61dd0758bd
Add an event for frame opened.
For some reason this was only exposed through the WindowManager
listeners.
8 lat temu
Chris Smith
c12274ae0a
Avoid raising events before a frame has an ID.
8 lat temu
Chris Smith
6c4b7ffc41
Make LogUtils try some more ctors.
NoClassDefFoundError only takes a message (no source). Try
throwable-only and message-only ctors in addition to the
two-arg ctors.
8 lat temu
Chris Smith
51a541c99d
Fix stupid broken error message.
8 lat temu
Chris Smith
03e9dd99fa
Use proper import ordering.
8 lat temu