Use the wonderful ACE editor in your Cocoa applications.
For great justice.
Using ACEView is about as easy as it gets. First add the ACEView framework to your project (see linking library or framework for information on how to do this), then add a view to your XIB, and tell it to be an ACEView:
Make sure you've got an IBOutlet in your view controller, and bind that bad girl:
Now, you could do something like this:
#import "Cocoa/Cocoa.h"
#import "ACEView/ACEView.h"
@interface AppDelegate : NSObject <NSApplicationDelegate, ACEViewDelegate> {
IBOutlet ACEView *aceView;
}
@property (assign) IBOutlet NSWindow *window;
@end
#import "AppDelegate.h"
#import "ACEView/ACEView.h"
#import "ACEView/ACEModeNames.h"
#import "ACEView/ACEThemeNames.h"
@implementation AppDelegate
- (void) applicationDidFinishLaunching:(NSNotification *)aNotification {
// Note that you'll likely be using local text
[aceView setString:[NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://github.com/faceleg/ACEView"] encoding:NSUTF8StringEncoding
error:nil]];
[aceView setDelegate:self];
[aceView setMode:ACEModeHTML];
[aceView setTheme:ACEThemeXcode];
[aceView setShowInvisibles:YES];
}
- (void) textDidChange:(NSNotification *)notification {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
@end