Skip to content

RobertoMachorro/Moped

Repository files navigation

GitHub GitHub release (latest by date) build codebeat badge Maintainability StandWithUkraine

SWUbanner

Support Moped!

ko-fi

License

This FREE software is licensed under GNU GPLv3 or later. Please see the LICENSE file for details.

GNU GPLv3 Logo

Download Binary App

Logo

Pre-compiled versions are available directly from GitHub or the AppStore.

Moped Screenshot

Manifesto - General Audience

If you come from the Windows world, you may be missing a small utility: Notepad, a simple but essential tool for editing plain text files. While macOS counts on its own built-in text editor: TextEdit, it is actually more like a Rich Text Editor with full images, fonts and layout support. Similar to the built-in Windows Write or WordPad.

It kind of feels heavier than it should and in the way. There are known settings to make it look and feel lighter, but inside it's still the same. You can get the source and peek inside. It's bigger and with older code than it needs to be.

Moped intends on feeling like Notepad, while being a full native of macOS, with a touch of modern syntax highlight and themes.

Manifesto - Advanced Users

While you can install the best text editors on your macOS system (BBEdit, TextMate, VIM, Emacs, etc) - big and powerful, sometimes, you need just a small and light editor for that one file or note that you need to work on. It has to be light on resources and get out of the way.

Moped intends on getting the job done, with all the basics and standard macOS-like keyboard shortcuts.

Manifesto - Developers

General developer audience has been loosing interest in macOS development and gained interest in iOS cross platform development like Apple Marzipan. Yet, macOS has gotten more powerful and feature rich, which makes it still an enticing platform to develop on. The big problem is that documentation, tutorials and QA/Forums materials are getting stale, with older API that no longer applies, it's getting harder as a developer to find up-to-date macOS support.

Most of the technology used in this App comes straight from Apple, we are just re-using the built-in stuff in a smart, clean way. If you scroll through the commit history, you'll (hopefully) understand how it was all pieced together. Please check the Resources section here for references and links.

Moped intends to be a showcase application and reference of a Document-Based Application, built on Swift, newest Cocoa API and fully Storyboard based.

Wanted Features

  • Status bar with word/paragraph count, etc.
  • Command line launcher tool, with support for waiting (usable as $EDITOR)
  • Comprehensive Help File
  • Native Syntax highlight, ideally supporting TextMate files - this could be a nice Framework for the community
  • Line number column(s)
  • Code folding support
  • Prompt user for Encoding when it is not recognized automatically

Contributing

Contributions are more than welcome! Please fork the master branch and pull request when ready. Observe formatting and common coding patterns in Swift, for ideological reasons tabs will remain tabs, not spaces. Please understand that not all changes will be integrated, in particular they must remain in the ideals of the project.

All Pull Requests are automatically evaluated using Github Actions, Codacy/PR Quality Review, Hound and Codebeat.

If your document is not being identified and syntax highlighted, please send its content identifier information. It can be obtained with the following command:

mdls -name kMDItemContentType -name kMDItemContentTypeTree -name kMDItemKind YOURFILE

You can check for M1 (ARM) and x86 fat binary support by running lipo:

% lipo -archs ~/Library/Developer/Xcode/DerivedData/Moped-*/Build/Products/Debug/Moped.app/Contents/MacOS/Moped

x86_64 arm64

Having trouble building / you are new to contributing? Check the following Issue and the video I posted: #36

Resources

Document-Based App Programming Guide for Mac