GithubHelp home page GithubHelp logo

paper's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar github-actions[bot] avatar jsim2010 avatar mgeisler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mgeisler casey

paper's Issues

Add logger

Logger should log to a file as well as displaying certain levels via the user interface.

Move LspClient into separate process

LspClient will be responsible for implementing all protocol functionality (such as knowing if the client should send a didOpen notification to the server or sending the Initialized notification after receiving an Initialize response).

Move from line-based to dynamic tree selection

Will make use of organization provided by lang-server.

Root selection is the entire file. Smallest child selection is a single character.

  • h moves to parent selection
  • j moves to next selection
  • k moves to previous selection
  • l moves to child selection

Language Server should be part of fs

Note this quote from the LSP overview:

The tool notifies the language server that a document is open (‘textDocument/didOpen’). From now on, the truth about the contents of the document is no longer on the file system but kept by the tool in memory. The contents now has to be synchronized between the tool and the language server.

Have settings be consumed at initial read

Currently, this appears to require a chain() function on Consumer. The idea would be that the first Consumer is used until it returns None, the the second Consumer would be used

Have Pane store ui changes

Instead of having each Processor return Edits, Processor should modify Pane's state and then Paper washes Pane at the end of the step

Use just for actions

Ideal scenario is to use just, so that all scripts can be run locally as well as on github.

For now, waiting on just to become more cross-platform.

Move logging out of io

Since logging configuration is no longer dynamic, there's no longer a need to keep logging in io. It would be better placed in the root dir to give better visibility into when it is initialized.

Move body size from ui into app

Regarding size, UI should only be responsible for sharing size data with the app. App should be responsible for all appropriate modifications of data

Note that this means app will be responsible for knowing the exact location (row and column) of file contents and correct giving that info to the ui

Add Integration tests

Display mode

  • . = change to command mode
  • # = filter by line number
  • / = filter by search item
  • j = move window 1/4 window down
  • k = move window 1/4 window up

Command mode

  • <character> = add character to sketch
  • BS = remove character from sketch
  • Enter = execute command
  • <C-C> = return to display mode

commands

  • see file
  • put
  • end

Filter Mode

  • Enter = change to action mode
  • Tab = stack a new filter
  • <C-C> = return to display mode

Line Number filter

  • (digits) = line number
  • (digits).(digits) range between 2 numbers
  • (digits)+/-(digits) = range starting at first number and going 2nd number up or down

Action mode

  • i = insert before filter
  • I = insert after filter

Edit mode

Replace ui::base::Index::neg()

It's not intuitive that -Index returns a IndexType.

For the negation functionality, it is most efficient to use - because Index ensures that self.0 >= 0 (thus no overflow checking is needed).

One option is to convert to IndexType then negate. However this would rely on the user knowing to use - with an allow(clippy::integer_arithmetic) feature.

Thus it might be better to use a function that returns the same as neg() that is better named. Ex: neg_as_index_type()?

Improve filtering to remove repetition

Current system resets the entire screen to Default, then highlights all of the noise and then highlights the signal.

New system should map out the highlight of each block and then send the appropriate highlight commands such that no address is highlighted twice.

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.