
Key:
L = Low Priority
+,• = Feature
- = Subitem
o = Subitem, generally an implementation note.

Preprocessor Macros
Debug       DEBUG=1 $(inherited)

TODO
================================================================================

Website
--------------------------------------------------------------------------------

+ Update: Move User Guide to the website -- once it's complete. Make necessary
  changes to avoid duplication.

The People's Editor v1.0
--------------------------------------------------------------------------------

+ New: Create icon with fist and pen horizontally being held.
+ Update: Make the color used in all navigation bars ubiquitous with one command. This
  is necessary in order to use the same icons but different colors when this
  version is created.
  - Remove all instances where the navigation bar color is set manually. This
    includes the document view controller (when viewing images, moves, etc.)
+ New: IAP Store
  - Create 'Store' in 'Settings' that will allow a user to purchase items.
    > Buy Pro $6.99
      Includes all present and future features.
    > Remote Connections
      - Dropbox 0.99
      - FTP 0.99
      - SFTP/SSH 0.99
      - SSH Terminal 1.99
        Provides a simple VT100 terminal
    > Editor Features
      - Color Schemes Pack 0.99
        Unlock all available color schemes.
      - Syntax Pack 0.99
        Unlock all supported language syntax options.
      - LaTex 0.99
        Unlock the ability to view processed LaTeX files
      - Markdown 0.99
        Unlock the ability to view processed markdown

Notes
+ Initially support only C, PHP, Python and HTML language syntax files.
+ Initially support Xcode and Solarized Light.
+ Initially support iCloud as a remote connection.
+ Vim, nano, etc. will always be available. The point is to get them addicted to
  the awesome editor and make them purchase all of the add-ons that allow them to
  actually make the editor fully usable. I can not BELIEVE people want this model...

Version 2.7.0
--------------------------------------------------------------------------------

+ Fix: Changing to a font that does not support certain characters shold
  switch back to the selected font after a recognized character is found.
  Also, the line height of characters should not push other lines down. All
  lines should be the same height.
+ Update: Make sure that startup images for iPhone 6(Plus) are working as they should.
  - I have no idea if the launch images are going to look good for iPhone 6.
    The Plus is in more question as I can't even see the top of it!
+ Add more SSH login options. Provide a button from within the manager to 'Paste Clipboard'
  which will paste whatever is in the clipboard directly into a text field that
  will contain the key. Even easier, open files with a .pub extension.
+ New: Languges: vhdl, m4, yacc
+ When saving file
  o If there is a merge conflict with the file the FM should be able to manage
    the situation as necessary. Such as, the Dropbox FM should be able to
    display a UIAlertView and act on it as necessary.
    @note This will only occur if a change is made remotely and the local file
    was modified without being re-synced. It will still load the file directly
    from within Dropbox.
    What should happen is that an error should be displayed that states that the
    local and remote file are out of sync and that the user should re-download
    the file before working on it locally.

Reminder: One of the next features needs to focus solely on Vim commands.

Version 2+
--------------------------------------------------------------------------------

Tech Debt:
Make BasicFileManager a category to NSFileManager.

+ New: Add User Guide articles
  - App documentation (how to create a new connection, configure connections
    delete files, etc.)
    > Connections
    > File Navigator
    > File Details (information)
    > Editor
      = Search & replace
      = Vim
    > Recent Files - General description of the feature and how it works.

+ Integrate iCloud (Putting this off for later. Use CloudKit instead if it has
  an API for managing docs.)
  - Make sure the availability registered method works.
  - iCloud does not support creating files. Do not allow them to be created.
  - You can only have one level of folders. No sub folders.


+ New: Indent highlighted code with (\t, cmd+{, etc.)
+ New: Put all strings in Localizable.strings. There are many error/warning
  strings which have not made it back into the l16n file.
  - Vim messages
  - Translate to Japanese
+ New: Provide option to e-mail me directly about issues from within Settings.
L Update: progress:update: needs a convenience function to dispatch on main thread.
  asyncProgress:update: All it does is wrap progress:update: in a dispatch_async call.
  - also update returnStatus:etc: as asyncStatus: to stick w/ naming conventions.
+ New: Allow any file to be copied/movied to any other connection/folder.
  o Most likely through the file's settings... possibly the editor.
    OR long hold on file, bring up menu to 'copy to...' or 'move to...'. this
    operation could also be done in when editing the file.
  o Copy to... below name field in a table group called 'Operations'
  - Remove the File Operations within the editor.
  - Integrate SWTableViewCell. Add Copy, Paste, Move (Delete is already taken
    care of)
    > Possibly need icons for copy, paste and move if I can't use text.
    > Make sure that the Move operation can take more than one file. That way,
      in the future, the user can select more than one files and move it to
      the destination.
    > Add 'Delete' to right hand side of options as well.
    > When using a UICustomTableViewCell the navigation seems a bit jerky.
      Not sure what to do about that though.
  - Update FMNavigator and FileNavigator to allow the selection of a folder.
    > Put a 'Select' button on the top right. 'Cancel' on the left. Actually,
      figure out how others are doing it. Which side goes on which side? Right
      is generally always the 'Positive' action. Cancel is only ever on the right
      side if it's the only option.

Editor
+ New: The ability to search for characters with escaped values such that \t will
  look for tabs.
+ Fix: A customer complained about a file not being saved when using unicode.
  Check to make sure this works. Check both file names _and_ the content of the
  message. (I can not reproduce this issue. Customer stated that he was using
  Dropbox. Entered in the character '–', did not sync the file, wwitched app,
  came back and the changes were gone. Ulrich)

L Refer to Tips:TextJump
