Code Monkey home page Code Monkey logo

ksscore's People

Contributors

stevenklassen8376 avatar

Watchers

 avatar  avatar

ksscore's Issues

Restructure project as a Swift package

The module should initially include three modules:

  1. KSSFoundation - items that depend only on Foundation
  2. KSSCocoa - items that also depend on Cocoa
  3. KSSUI - items that also depend on SwiftUI

Add ability to diff two texts

The goal is to get a description of the differences between two texts in a manner that can be used to report on the differences.

NSWindow.addTitleActionButton has a small memory leak

In particular the action to be run when the button is clicked is added to a global list, and is not removed when the window is destroyed.

We may decide not to fix this since it is a very small amount of memory, however, if anyone does know of a way to handle it, we would be open to solutions.

Add ability to watch a file or directory

We can base this on Witness, but with a cleaner API.

This is mainly being done since Witness does not have a suitable tag and is small enough that writing our own is preferable to forking Witness just for the sake of adding a tag.

Add iOS support

At least for the easy items. Some of the UI stuff that needs a separate macOS and iOS implementation, but should have the same overall API, can wait.

JSON pretty prints escapes slashes

The JSON standard states that escaping slashes is allowed, but is not necessary. So we should not do it as part of a pretty print. After all it definitely does not make the output "pretty".

Add filter icon to the search field

The default icon should be the search (magnifying glass), but since the field may also be used as a filter, we should add that as an option. The correct icon for filter seems to be line.horizontal.3.decrease.circle from the SF Symbols. See the filter at the bottom of Xcode for an example.

Move to the new build system

This will involve the following:

  • update the build system to support Swift modules
  • add the license dependencies
  • add the CI

Update duration to be more accurate

Specifically, instead of using an estimate for the time frames, use Calendar and DateComponents to provide a more accurate result.

See DateExtension in EbedCore for an example.

expect extensions should use the XCTestCase extensions instead of manual ones

By using let expectation = XCTestExpectation() and then wait(for: [expectation], timeout: timeout) these methods do not fit in as well as they should with other XCTestCase expectations.

These should be changed to use let expectation = self.expectation(... and waitForExpectations(....

In addition, adding a new method that does not automatically build an expectation, but just wraps the wait would also be useful.

Utilities from the CREST project

  • Case insensitive dictionary subscript
  • Input stream reader
  • Runtime platform identification
  • Wrapper for passing pass-by-value objects
  • Random test data generation

Add a general view for displaying warnings

This should be given the following:

  • an error
  • a binding to a boolean that will cause the view to be dismissed

This will show the following:

  • a warning icon
  • an "An error has occurred" title
  • a message based on the error, and
  • a button that will dismiss the view

Add functionality needed by WSTerminal

In KSSFoundation:

  • AutoIncrementingInt (perhaps rename to 'Counter')

In KSSCocoa:

  • NSFontExtension
  • NSMenuExtension
  • NSViewExtension
  • NSWindowExtension
  • NSApplicationExtension

In KSSUI:

  • CommandTextField (rename to KSSCommandTextField)
  • KSSTextView
  • KSSWebView
  • NativeButton (rename to KSSNativeButton)
  • KSSURLTextField

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.