Permalink
Browse files

Separate content from mini “header” in `Hacking on the Code.md`

  • Loading branch information...
1 parent e11b56c commit 38d7330a75da62aa8d2f27f58e0c7e23af7b3d1d Zearin committed Mar 25, 2013
Showing with 8 additions and 2 deletions.
  1. +8 −2 Hacking on the Code.md
View
@@ -1,6 +1,7 @@
Here are some self-contained projects that shouldn’t require too much knowledge about the codebase, as they are fairly isolated.
1. **Enhance the syntax for format strings**
+
The format string syntax allows replacements for variables as follows:
${«variable»/«regexp»/«replacement»/«flags»}
@@ -22,22 +23,27 @@ Here are some self-contained projects that shouldn’t require too much knowledg
The current commit window is a separate application which is “always on top”. By not using `OakTextView`, we’re missing out on all the nice features of the Git commit message grammar—like `fix→` for `fixup!`’s, and highlights from summary lines that are too long.
6. **Custom data sources for file browser**
- For example: Simplenote support, or sftp. See [FSDataSource.h][].
+
+ For example: Simplenote support, or sftp. See [FSDataSource.h][].
7. **Update clipboards to use CoreData**
+
There’s a pasteboard subclass which maintains a history ([OakPasteboard.h][]). It’s used for both *find* and *copy* clipboards.
Presently, this history is stored in user defaults. This is bad! It can grow big, and worsen performance. Instead, it might be useful to use CoreData. (If we were in the App Store, we could even offer users the ability to sync their clipboard history.)
8. **Update clipboard history pop-ups**
+
The clipboard history pop-ups (<kbd>⌃⌥⌘V</kbd> and <kbd>⌃⌥⌘F</kbd>) are very crude ([OakPasteboardSelector.mm][]). A “type to search” functionality would be much better.
Adium provides a useful example. When the contact list has focus, typing a letter opens a search field above the list. As the user continues typing, the list is filtered accordingly.
9. **Don’t store transient data in the clipboard history**
- <http://nspasteboard.org/Site/Transient.html>
+
+ [http://nspasteboard.org/Site/Transient.html]
12. **Implement `OakTabTriggerImage`**
+
This should be an `NSImage` subclass which simply renders a tab trigger. It would be used in the menus and bundle item selector (and probably, also bundle editor).
Making it an `NSImage` subclass should allow embedding it in attributed strings. This is what we use for the menu items, since it isn’t really possible to augment menu rendering in Cocoa. (The only workaround is to replace the full item with a custom view.)

4 comments on commit 38d7330

Contributor

sorbits replied Mar 25, 2013

Thanks! I have merged all your commits!

Owner

Zearin replied Mar 25, 2013

Owner

Zearin replied Mar 25, 2013

Hello, @sorbits,

First, thanks for pulling my changes! :)

Second: I just checked out the TextMate wiki, and it seems like you merged changes for only one file (Hacking on the Code.md).

If you didn’t merge from just git://github.com/Zearin/textmate_wiki.git—i.e., you merged from a specific commit hash—give that a try.

If you did merge from that location, then…I dunno what went wrong.

Sorry…I’m no git ninja! It’s a bit odd editing a wiki like this. (But I do understand the need to limit write access—especially for a project as popular as TextMate 2.)

Contributor

sorbits replied Mar 25, 2013

Please sign in to comment.