GithubHelp home page GithubHelp logo

ysoftware / focus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from focus-editor/focus

0.0 0.0 0.0 15.17 MB

A simple and fast text editor

License: GNU General Public License v3.0

Objective-C 100.00%

focus's Introduction

Focus

A simple editor whose goal is to get out of your way and let you do work.

This editor is for people who value simplicity, are sensitive to input latency and do not require heavy language support in their editor.

focus-0 3 0

What do we mean by "simple" and "fast"

Simple: the editor's functionality and code design. It doesn't include a lot of features, and the source code should be simple enough so that people can easily add features if they want to. It is configured using a single simple config file.

Fast: we try to minimize input latency and maximize responsiveness. We also include relatively fast project search, which should work well for reasonably sized projects.

Quick start

  1. Download the executable and put it somewhere where it will live.

  2. Launch the executable. Once launched, it will generate its configuration files.

    • On Windows, it will create a global.focus-config file and a projects folder next to itself.
    • On macOS, these files will be found in /Users/YOURNAME/Library/Application Support/dev.focus-editor/.
    • On Linux, these files will be found in ${XDG_CONFIG_HOME}/focus-editor/ (which usually expands to ${HOME}/.config/focus-editor).
  3. Open the global config file by using the command Open Global Config - you can find the shortcut to show commands on the welcome screen.

  4. This editor expects that you tell it what folders it should add to the workspace. You do it by either editing the global config file for your default workspace, or by creating a project (see below)

  5. A project in this editor is just a config file that lives in projects/Project Name.focus-config. There's an example project config file provided. You just edit the file and then activate the project by using the Switch To Project command.

Official Discord server

https://discord.gg/eSXquAzTmW

How to compile

$ jai first.jai - release

Minimum Jai version: 0.1.088 (the language is currently in closed beta, but it will hopefully go into open beta soon)

On macOS:

  1. Full XCode must be installed

  2. To avoid multiple security warnings like in these screenshots:

"freetype.dylib" cannot be opened because the developer cannot be verified. macOS cannot verify that this app is free from malware.

... run the following command:

xattr -d -r com.apple.quarantine /path/to/your/jai/distribution

NOTE: starting with Jai 0.1.090, AArch64 became the default platform when building on Apple Sillicon macs. However, some of the modules used by the editor are not fully ported to support it. You will need to use the x86_64 compiler to build for macOS (for now):

arch -x86_64 /path/to/jai-macos first.jai - release

Disclaimer

The editor is in beta. This means you may encounter some bugs here and there, and not all wrinkles have been ironed out yet.

Limitations

  • Only 64-bit systems are supported, Windows 8+, Linux (WIP), macOS (WIP).
  • This editor is not designed for editing very large files (it is expected that editing might start lagging upwards of 100K LOC). 2GB files is a hard limit right now.
  • CRLF will be converted to LF on save. It's time to move on.
  • Multi-codepoint Unicode symbols are not supported.
  • Currently only RGB monitor panels are supported. If your text looks funny or blurry, please open an issue.

Acknowledgements

  • The editor was made possible by the fantastic Jai programming language by Jonathan Blow.

  • The editor was inspired by Jamie Brandon's blog post. Nothing other than the name was borrowed from his editor - the name was just too good.

  • I am very grateful to my wife who supported me along the way and took on the bigger share of the housework to let me work on the editor.

  • A special thanks to the two early adopters who helped to make the editor more robust and more enjoyable to use: @cookednick and @ustance.

  • The default font FiraCode is created by Nikita Prokopov.

  • Icons - Font Awesome by Dave Gandy.

  • If not for VSCode's annoying "restart to apply the latest update" notifications every other day, this editor might never have been created.

focus's People

Contributors

aang521 avatar amasondev avatar arjenwitteveen avatar audv avatar cellth avatar cookednick avatar focus-editor avatar hfr4 avatar ileonte avatar jlami avatar jmpstar avatar lainlayer avatar leonaders avatar maxamundsen avatar meglio avatar mulej avatar nick-celestin-zizic avatar obiwanus avatar olyaivanovs avatar onelivesleft avatar pixelrifts avatar polgartom avatar rluba avatar roman-skabin avatar sanian-creations avatar sentientcoffee avatar simonvallz avatar valignatev avatar wwilliams741 avatar ysoftware avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.