philiparvidsson / Worlds-Smallest-Text-Editor

The world's smallest, fully functional text editor—fun, useful and interesting!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is this?

This is the world's smallest, fully functional text editor! Written in x86 assembly language and compiled with flat assembler, the executable is only a few kilobytes in size!

The program can load, save and edit text files just like Notepad. More features might be added later (e.g. syntax highlighting, program preferences etc.) if it can be done without affecting the size of the executable.

How small is it?

Using the included make-script (which uses fasm for assembly and linking), the executable file size is 3072 bytes.

User instructions

The editor is intentionally kept very simple, but there are a few keyboard shortcuts that you need to know.

Keyboard shortcuts

Key combination Command
Ctrl + O Open...
Ctrl + S Save
Ctrl + Shift + S Save as...

Building and running

Prerequisites

  • flat assemblerAn assembler for x86 processors. It supports Intel-style assembly language on the IA-32 and x86-64 computer architectures.
  • Python 3A widely used high-level programming language for general-purpose programming, created by Guido van Rossum and first released in 1991.
  • Windows 7+A personal computer operating system developed and released by Microsoft as part of the Windows NT family of operating systems.

Instructions

  1. Clone this repository: git clone https://github.com/philiparvidsson/Worlds-Smallest-Text-Editor
  2. Run the make-script: python make.py
        NOTE: The make script will automatically download fasm to the repository directory.
  3. Run the executable normally or start it with the make-script: python make.py run

To clone, build and run the program, enter the following into your terminal:
git clone https://github.com/philiparvidsson/Worlds-Smallest-Text-Editor && cd Worlds-Smallest-Text-Editor && python make.py && python make.py run

About

The world's smallest, fully functional text editor—fun, useful and interesting!

License:MIT License


Languages

Language:Assembly 81.4%Language:Python 18.6%