Coder Social home page Coder Social logo

objecthub / swift-lisppad-ios Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 2.0 36.88 MB

LispPad is a Scheme development environment for macOS based on the LispKit framework. LispPad Go implements a similar, but much simpler, application for iPhones and iPads.

License: Apache License 2.0

Swift 89.78% Scheme 5.93% Makefile 0.03% Rich Text Format 4.27%

swift-lisppad-ios's People

Contributors

objecthub 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

Watchers

 avatar  avatar  avatar

Forkers

kwccoin bflagg

swift-lisppad-ios's Issues

Matching parentheses highlighting applies to comments and literals

Expected Behavior

Matching parentheses highlighting should not apply to parentheses in comments and literals, especially when one of the parentheses is a comment or literal and the other is regular code.

Actual Behavior

Highlighting applies to all parentheses including comments and literals.

Steps to Reproduce the Problem

  1. In Console or Editor, type
      (define a
         ; (
         1)
  1. Notice the final parentheses matches the one in the comment
  2. In Console or Editor, type (define a “(“)
  3. Notice the final parentheses matches the one in the literal

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

Opening file from Recents or Favorites

Expected Behavior

Opening a file in Editor from Recent or Favorites should treat the file as a previously saved file rather than a brand-new file that needs to be manually saved again.

Actual Behavior

The file from Recent or Favorites is treated like a new file where the Save or Discard dialogue box appears when trying to start a new file. If Discard is chosen, the text disappears and any attempt to reload the file still shows a blank Editor as if the file contents have been lost. Switching to the Console and back to the Editor suddenly reveals the file contents.

Steps to Reproduce the Problem

  1. Switch to Editor
  2. Choose Open… from the menu bar and select a file from Recent or Favorites
  3. Choose New from the menu bar
  4. Notice the dialogue box that prompts you to Save or Discard, as if the previously opened file had never been saved before.
  5. Choose Discard
  6. Notice the Editor is now clear of text
  7. Open the file once again by any method, such as selecting from Recent Files in the menu bar
  8. Notice the Editor remains blank as if the file contents have been lost
  9. Switch to Console and back to Editor
  10. Notice the file contents have reappeared
Lisppad_open_saved_file_bug.mp4

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

Highlighting applied after loading from command history

Expected Behavior

Highlighting should only apply temporarily to parentheses

Actual Behavior

In Console, loading a command from history that begins with parentheses turns on highlighting for newly typed text until the cursor passes over some matching parentheses.

Steps to Reproduce the Problem

  1. In Console long press the pencil icon on the command input line to bring up the history window
  2. Select a command that is enclosed in parentheses, such as (* 1 1)
  3. After the command has loaded onto the command input line, the cursor will be at the start of the input line. Start typing some text that does not include parentheses and without moving your cursor over any parentheses
  4. Notice the new text is highlighted
  5. Submit the command
  6. Start typing new text
  7. Notice the highlighting remains until matching parentheses are typed
Lisppad_history_highlight_bug.mp4

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

Editor does not clear text after selecting New

Expected Behavior

In the Editor, selecting New should clear all text to allow typing a new file.

Actual Behavior

Previous text remains after selecting New. However, switching to Console and back to Editor does clear previous text.

Steps to Reproduce the Problem

  1. Switch to Editor
  2. Enter some text
  3. Select Save… from menu bar and save file to either iCloud Drive or On My iPhone
  4. Once back in Editor, select New from menu bar
  5. Notice that previous text remains in Editor
  6. Switch to Console
  7. Switch back to Editor
  8. Notice that previous text has disappeared and Editor is now clear as originally expected
Lisppad_editor_bug.mp4

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

list evaluation behaves weirdly

On IOS (Ipad), if I run
(display (cdr (list 1 2 3 4)))
I expect to have (1 2 3).

LispPad says

[eval error] cannot apply arguments to (1 2 3 4)
> (cdr (1 2 3 4)) <- (<repl> ...)

Racket in both sicp and vanilla syntax works no problem. I noticed other situations where cons and list behave differently. Even though the mechanics behind them is different, my understanding is that the behaviour should be the same (but maybe it's just me).

This may have to go to LispKit, but I don't have MacOS to test it.

P.S. It's a great app to study SICP on the go! So using it, thanks!

Highlighting applies to Editor text after opening file

Expected Behavior

Highlighting should only apply temporarily to matching parentheses

Actual Behavior

Highlighting applies to all new text in Editor after opening a file whose contents are contained within a single pair of parentheses (the first character is a parentheses and it matches with the last parentheses in the file) unless cursor passes over a parentheses

Steps to Reproduce the Problem

  1. Switch to Editor
  2. Open a file whose contents are contained within a single pair of parentheses
  3. Without moving the cursor, type some text
  4. Notice it is highlighted
  5. Start a new file
  6. Type some text
  7. Notice it is highlighted
Lisppad_highlight._editor._bug.mp4

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

Highlight from "Highlight matching parenthesis" is applied to normal text

Fantastic application, I love using it while I go through SICP.

I noticed a potential bug with parenthesis highlighting where the highlight will continually be applied to all characters as they are typed.

Steps to Reproduce:

  1. Open the application
  2. In REPL mode type the following characters: ())
  3. Delete the two )) to be left with (
  4. Begin typing: (+ 1 2
  5. Observe the highlighting normally applied to parenthesis gets applied to the typed text.
  6. Add the closing ) to be left with (+ 1 2)
  7. Observe the highlighting applied to the text is removed and the starting ( is highlighted like normal.

trim E0E02E8F-5CB8-4389-8692-6A2495D3F64F

  • LispPad Version: 1.3.4
  • Phone: Iphone 14 Pro Max
  • iOS version: 17.1.2

Dragging up on command history acts like dragging an image

Expected Behavior

In Console, dragging up on the command history list should scroll the list.

Actual Behavior

The first attempt at dragging up fails and briefly shows a semi-transparent image of the list moving upwards, similar to dragging and dropping an image. The next attempt at dragging works as expected.

Steps to Reproduce the Problem

  1. Load the app
  2. In Console, long press the pencil icon at the end of the command input line to bring up the command history
  3. Drag up on the command history list
  4. Notice the faint image of the command history list that briefly moves upwards and that the command history list itself does not move
  5. Try dragging again and notice the command history list now moves as expected
  6. To repeat the issue, switch to Editor and back to Console and repeat from Step 2
Lisppad_history_swipe_bug.mp4

Specifications

  • Version: 2.0
  • Platform: iOS 17.3

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.