Giter Site home page Giter Site logo

textor's Introduction

Textor for iOS

Textor

Download on the App Store

Swift Platform: iOS Build Status
Twitter Donate via PayPal

About

Textor is a plain text editor for iOS.

Running

Open Textor.xcworkspace, change the bundle identifier to an identifier linked to your Apple developer account in order to run. Build using the Textor scheme.

License

This project is available under the MIT license. See the LICENSE file for more info.

textor's People

Contributors

alessaba avatar louisdh avatar salconigliaro avatar simpaa avatar stevemoser avatar tngranados avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

textor's Issues

Markdown support?

This is a great text editor. Can it also support Markdown for .md files?

URL Scheme?

To access existing or create new text document.

Code of Conduct (for contributors)

It would be good even in these early days of Textor to have a Code of Conduct for contributing to the project.

I'd recommend the Contributor Covenant. It's used by many open source projects, including Swift itself.

The one thing that would be needed is an email address where complaints could be sent, reviewed, and actioned. Otherwise the text is easy to copy into the repo. It's licensed under the Creative Commons Attribution 4.0 International Public License which requires attribution. The attribution is built into the Contributor Covenant text itself.

`FileManager.url(forUbiquityContainerIdentifier:)` should not be called from main thread

Summary

FileManager.url(forUbiquityContainerIdentifier:) is currently being called on the main thread, against Apple's guidance.

Details

At the moment you are instantiating the shared DocumentManager in the DocumentBrowserViewController.viewDidLoad (), which is happening on the main thread.

class DocumentBrowserViewController: UIDocumentBrowserViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Makes sure everything is initialized
_ = DocumentManager.shared

When you step through the initialisation of the DocumentManager, you eventually get to a call for the cloudDocumentsURL property which is where the call to FileManager.url(forUbiquityContainerIdentifier:) happens.

private var cloudDocumentsURL: URL? {
guard iCloudAvailable else {
return nil
}
let ubiquityContainerURL = fileManager.url(forUbiquityContainerIdentifier: ICLOUD_IDENTIFIER)

This goes against Apple's guidance for FileManager.url(forUbiquityContainerIdentifier:) that it should not be called from the main thread.

Important

Do not call this method from your app’s main thread. Because this method might take a nontrivial amount of time to set up iCloud and return the requested URL, you should always call it from a secondary thread. To determine if iCloud is available, especially at launch time, check the value of the ubiquityIdentityToken property instead.

Link to full Apple documentation: https://developer.apple.com/documentation/foundation/filemanager/1411653-url

Scrolling is broken in 1.1

Hey!

Very cool app!

Scrolling seems to be broken with 1.1. On a new document or a short one, it’s not possible to scroll at all, and thus not possible to dismiss the keyboard.

App forces itself to open other extensions

I am not sure what one could do to fix this, but I had to uninstall textor so I could view a .usdz file from the files app. It would not open the preview in the files app but jump to textor where I get a "cannot open file" error.

Maybe disable binary files?

Dark mode issues

I have dark mode and there are two things I noticed:

  • the loading screen is bright white. Can't this be changed to darkness if the user selected 'dark'.
  • dark mode is grayish. Can there be (a little) more black? For the iPhone X oled screens.

Deleting app will delete local files belonging to other apps

Locations | On My iPhone | pick a non-Textor folder | open a text file

A local file opened in this way will be deleted when the Textor app is deleted. Cloud based files are not affected. I lost 11 of 21 files in one of my folders by doing this, thank goodness for backups. Actually I didn't even want to delete Textor, I was annoyed that the Pretext app commandeered the .txt extension and thought that removing and re-installing Textor would fix that, but it didn't.

Setting to toggle line wrap

Currently the editor automatically wraps long lines.
I sometimes use it as a code editor. In those cases I would like to toggle wrap off.
Could you add this as an extra setting? Nothing fancy, just on/off.

Missing from App Store?

I get a message saying the app is no longer available in my country or region (U.S.). What’s the deal?

Cryptomator Integration (Feature Request)

Hi
I really like the App, works very good, thanks for your work!
but I cant really use it for me because I have encrypted my Files with Cryptomator (https://cryptomator.org/) and I cant open the vault with your app.
The Cryptomator App is visible in the "storage location" list, but closes immediately when I try to open it.
Would you please try to find a solution for this Problem?
Thanks for your help.

orgmode support

It will be great if orgmode can be support. Good for emacsen iPad owner.

App Extension Best Practices

I have watched a WWDC session recently. I think maybe use a NSItemProvider for UIActivityViewController is better.

https://developer.apple.com/videos/play/wwdc2015/224/
(from 08:00)

As this video shows, a NSItemProvider can register different items, for example, kUTTypePlainText or kUTTypePDF.

And text file does not have a default preview image in system's share action. NSItemProvider.previewImageHandler can let host app to provide one.

I never use a NSItemProvider before, so there is not a pull request from me, sorry about that.

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.