Your next text editor is... MetaNote!
secretGeek .:dot Nuts about dot Net:.
home .: about .: sign up .: sitemap .: secretGeek RSS

Your next text editor is... MetaNote!

two toolbar buttons titled Lower and Upper.
Example: two toolbar buttons
titled 'Lower' and 'Upper'.

two toolbar buttons titled Lower and Upper.
Right click the toolbar to edit a button
(or add a new one)

two toolbar buttons titled Lower and Upper.
The button hosts a python macro that does whatever you want. (The current
document's main textbox is exposed as txt.)

two toolbar buttons titled Lower and Upper.
Add more buttons, edit the menus...
everything's extenisble... everything.

I've open-sourced a side project of mine, MetaNote.

Here's the gist of it...

MetaNote is a text editor. Ultimately, MetaNote intends to be the most versatile editor imaginable.

See that button in the toolbar? Right click on it, and edit the code behind it.

Don't like the way 'Find' works? -- right click on it, and edit the code.

Need a new button in the toolbar? So add it already, with a single click.

Share packs of extensions and macros with other users.

Everything in MetaNote is under your control, effortlessly, at runtime.

It's easier to show than to describe -- maybe the pictures on the right give you the idea.

The source code is available to browse or download. This is very much pre-alpha. It is explorative and non-commercial.

binaries are also available to download.

The project is written in C#, and I need your help getting it done.

I've got many of the basics done, but I'm only at the tip of what's needed.

I'm looking for clever kids like you, willing to help out.

What do you think? Can you take a look at the code, and lend your fellow programmer a few minutes of your time?

this feature needs you!

I'm not doing it for any commercial gain, i just want a text editor that I can bend to the whims of whatever writing task I come across.

There's a great many features still in need of implementing, and already there are wrong turns to be corrected.

Down the track I really want to find some way to embed the WPF-based Text Editor Control from VS2010. It's the same one used in intellipad (part of Oslo) and in Powershell 2.0's (awesome) Integrated Scripting Environment -- I didn't have any success bringing it to life just yet. So, for now the text is plain text, and features like syntax highlighting and intellisense will have to wait.

One of my mentors tells me the smart approach would be to bring in MEF for giving a really powerful plugin model, where plugins can have plugins and so on.

The intermediate goal though, is just to make the tool sweet enough that I'd use it for my own day to day text editing needs.

And one day, hopefully one day soon, this thing won't suck at all.





'Don2' on Sun, 19 Apr 2009 11:39:31 GMT, sez:

"He who has never written a text editor in his youth, has no heart."

"He who writes a text editor in his adulthood, has no brain."

;-)

Interesting approach though.

But a lot of 'ToDos' left in that code! And where are the tests??



'onur biyik' on Sun, 19 Apr 2009 12:15:41 GMT, sez:

Can I also change the name of the project :P What about WikiNote?



'anonymous donor' on Sun, 19 Apr 2009 12:20:30 GMT, sez:

So, it's basically emacs for c#? Except without all the code emacs has accumulated over the years. And on the bright side -- without all the cruft :).



'Casey Barton' on Sun, 19 Apr 2009 13:55:10 GMT, sez:

"Don't like the way 'Find' works? -- right click on it, and edit the code."

Um, this doesn't work. "(it's not a user macro)"

If you can't change the core functionality, then isn't this just plain old macros?



'Herold van der Vegt' on Sun, 19 Apr 2009 16:34:47 GMT, sez:

In the past, late nineties, I've have used Multi edit.A basic text editor that included a macro interpreter.
All functionality in the editor was written in the macro language, source code included.
It was highly customisable and therefore very, very cool.
I always liked the concept, so I'll check this one out as well.



'dysfunctor' on Sun, 19 Apr 2009 16:43:51 GMT, sez:

Hey, love the Lord Kitchener branding!

I speak Python, but I've never used C# or .NET before. Is there much I can do yet? Where's the Python API exposed by Metanote? Is there a way to launch an interactive Python console?



'lb' on Sun, 19 Apr 2009 18:37:09 GMT, sez:

@Casey re:
>"Don't like the way 'Find' works? -- right
>click on it, and edit the code."
>
>Um, this doesn't work. "(it's not a user macro)"
>
>If you can't change the core functionality, then isn't this just plain old macros?

The intention is that you'll be able to modify *everything*. But this is very early alpha like i said though, and we're not there yet. ;-)

=====

@Herold
'Multi edit' looks interesting.

=====

@dysfunctor:
>I speak Python, but I've never used C# or .NET before.

I have the opposite problem. This is the first time I've used Python at all. It's the perfect language to use here though.






'Jaq' on Sun, 19 Apr 2009 18:49:41 GMT, sez:

It's never too late for a fresh round of hostilities to erupt as a new entrant joins the long running editor wars.

http://en.wikipedia.org/wiki/Editor_wars

:j



'Rik Hemsley' on Mon, 20 Apr 2009 08:15:11 GMT, sez:

I remember being able to do this with TkDesk. It's sort of useful, though I don't really use buttons in my text editors of choice (Vim and VS.NET with ViEmu), so I'm not sure how useful this is.



'dysfunctor' on Mon, 20 Apr 2009 09:49:15 GMT, sez:

Yes, IronPython is the best tool for the job. (Let the holy wars commence....) Resolver had a similar idea with Resolver One, their IronPython based spreadsheet.



'lb' on Mon, 20 Apr 2009 11:10:38 GMT, sez:

@Rik
>It's sort of useful, though I don't
>really use buttons

very good point. Part of the master-plan is that macros would also be hooked up to keystrokes.



'Dan F' on Mon, 20 Apr 2009 11:40:04 GMT, sez:

You know, this could use some WSCG built in :-)



'Evgeniy Dolzhenko' on Mon, 20 Apr 2009 12:26:17 GMT, sez:

the MEF sounds so enterprisey that it sucks all the fun out of poor small editor



'Scott Hanselman' on Mon, 20 Apr 2009 15:04:50 GMT, sez:

Great idea. Not to deflate you at all, but Intellipad, the editor for "Oslo" uses the WPF Editor from VS2010 *and* it uses IronPython for all its commands. It can do everything you are trying to do here. You might check it out.



'lb' on Mon, 20 Apr 2009 19:01:17 GMT, sez:

@Scott
Yeh I've done a little M-grammar mungeing with intellipad in my time.

It's very nice to be sure, but has more of an emacs feel and less of a Lord Kitchener feel.



'darko' on Mon, 20 Apr 2009 19:33:05 GMT, sez:

couple things.
i think you write off intellipad (and Emac IMHO) a little too quickly. Hanselman has a good point)

the right click menu on a toolbar item is not intuitive and hard to discover.

my 2c.



'lb' on Mon, 20 Apr 2009 19:41:52 GMT, sez:

@darko
ah, don't misunderestimate me ;-) I'm tinkering with intellipad right now.

'Emac' not so much.

>the right click menu on a toolbar item is not intuitive and hard to discover.

Windows 7 finally brings in the right-click menu on toolbar. I think their UX budget surpasses both yours and mine.



'dysfunctor' on Mon, 20 Apr 2009 20:42:45 GMT, sez:

> Part of the master-plan is that macros
> would also be hooked up to keystrokes.

You totally need to do this!

At the moment, Metanote presents itself as a minimal text editor with support for scripted plug-ins. That's fine as far as it goes, but it's not enough to excite me.

What would excite me is if you took all your little snippets of C# functionality and gift-wrapped them in a Python API. Make Python the glue for assembling these pieces. In other words, I want a Python API that makes it easy for *me* to build a text editor; a Pythonic DSL for talking about text editors.

I know it's a lot to ask, but the payoff could be huge. You would hear hackers saying, "Look at this cool new text-editor-like thingummy I wrote in Metanote. I am so awesome!" When your users think they're awesome, you win.



'XYZ' on Wed, 22 Apr 2009 12:16:15 GMT, sez:

Emacs all again :(



'Samir' on Wed, 22 Apr 2009 12:22:34 GMT, sez:

All editor programmers are deemed to re-create emacs again, unless they're writing emacs



'Steven Nagy' on Sun, 26 Apr 2009 10:40:59 GMT, sez:

Hi Leon,

No thanks, VI has everything I need in a text editor.

Snagy



'Elementalist' on Thu, 07 May 2009 04:02:18 GMT, sez:

Hmm, this looks interesting, I'll look into it when I get time tomorrow.



'karthikeyan' on Mon, 08 Jun 2009 20:15:46 GMT, sez:

real programmers use this... :D

http://xkcd.com/378/

direct link: http://imgs.xkcd.com/comics/real_programmers.png

<img src="http://imgs.xkcd.com/comics/real_programmers.png">



'Nick' on Wed, 05 Aug 2009 13:08:49 GMT, sez:

Nice concept, but I'm not interested unless it's cross platform. What about Qt/Gtk with Python?




name


website (optional)


enter the word:
 

comment (HTML not allowed)


All viewpoints welcome. But the right to delete any post for any reason is reserved. Don't make me do it. Comments may be republished, emailed to your loved ones or printed and used as toilet paper. Who reads this legal bit anyhow?

TimeSnapper is a life analysis system that stores and plays-back your computer use. It makes timesheet recording a breeze, helps you recover lost work and shows you how to sharpen your act.

TimeSnapper won last year's Developer Competition at Larkware.com, and is used by over 10,000 people.

Articles

What then, is b? What then, is b?
SQLike: A simple editor SQLike: A simple editor
Yet Another BizPlan Generator. Yet Another BizPlan Generator.
HOT GUIDS: A hot or not site for guids HOT GUIDS: A hot or not site for guids
How does life get better? One tiny hack at a time. How does life get better? One tiny hack at a time.
24 things to do, and 100 things *not* to do (yet) for building a MicroISV 24 things to do, and 100 things *not* to do (yet) for building a MicroISV
Venture capital won't kill Jeff Atwood, it will only make him Jeffer. Venture capital won't kill Jeff Atwood, it will only make him Jeffer.
A handy workflow image for newbie mercurial users A handy workflow image for newbie mercurial users
Fractal Feedback, a diversion into recreational programming Fractal Feedback, a diversion into recreational programming
Hump-Jumping: How the Education of Computer Science can be Saved, err, maybe. Hump-Jumping: How the Education of Computer Science can be Saved, err, maybe.
Suggested User Experience Improvements for DiffMerge Suggested User Experience Improvements for DiffMerge
SQL Style Extensions for C# SQL Style Extensions for C#
The Movie Hollywood (And My Wife) Doesn't Want You To See: Weekend at Jacko's The Movie Hollywood (And My Wife) Doesn't Want You To See: Weekend at Jacko's
Sysi: the ultimate administrators toolkit Sysi: the ultimate administrators toolkit

Archives .: secretGeek :: Complete Archives
TimeSnapper -- Automated Screenshot Journal TimeSnapper.com    
Version 3.3: true productivity boost

Next Action NextAction
Managing the top of your mind

World's Simplest Code Generator (html edition) World's Simplest Code Generator

25 steps for building a Micro-ISV 25 steps for building a Micro-ISV
3 minute guides -- babysteps in new technologies: powershell, JSON, watir, F# 3 Minute Guide Series
Universal Troubleshooting checklist Universal Troubleshooting Checklist
Top 10 SecretGeek articles Top 10 SecretGeek articles
ShinyPower (help with Powershell) ShinyPower
Now at CodePlex

Realtime CSS Editor, in a browser RealTime Online CSS Editor
Gradient Maker -- a tool for making background images that blend from one colour to another. Forget photoshop, this is the bomb. Gradient Maker


[powered by Google] 


How to be depressed How to be depressed
You are not inadequate.



Recommended Reading

The Best Software Writing I
The Business Of Software (Eric Sink)

Recommended blogs

Jeff Atwood
Joseph Cooney
Phil Haack
Scott Hanselman
Julia Lerman
Rhys Parry
Joel Pobar
OJ Reeves
Eric Sink

Aggregated Links

proggit
dzone
hacker news
dot net kicks

Human Link Machines

interesting finds
a continuous learner's weblog
arjan's world
weekly link post

LinkedIn profile
LogEnvy - event logs made sexy
ShuffleText - fuzzy search for .net
PC Smart Buys - Computer Hardware in Australia
 
home .: about .: sign up .: sitemap .: secretGeek RSS .: © Leon Bambrick 2006 .: privacy

home .: about .: sign up .: sitemap .: RSS .: © Leon Bambrick 2006 .: privacy