Coder Social home page Coder Social logo

lattice's People

Contributors

daegontaven avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lattice's Issues

Implement a logging module

Problem

There is no easy way to locate bugs in the program. Adding a logging module would hopefully ease finding bugs.

Tasks

  • Logging module
  • Warnings widget to display application errors
  • Display logs inside a dialog

Real-time console

Description

The current console self.ui.console_log is too slow for the purposes of a real-time console. Hence we had to buffer the output with a delay. However, a different strategy is to use a QListView which is better at processing large amounts of data moving fast.

Requirements

Readline is incompatible with windows

Problem

Currently the readline module is not supported on windows machines and will result in an ImportError.This also renders the whole distribution incompatible with Windows based operating systems.

https://github.com/AlphaHooks/AlphaHooks/blob/6ca008414932f0f6622dcfbf6227956ea52c322f/AlphaHooks/widgets/console/config.py#L34-L86

This issue can solved by either writing to files directly or by using a replacement on windows.

Note: Removing the module means that rlcompleter cannot be used to support auto completion in the future.

Error Log

IPython and Qt Console Support

Details

Qt Console is has a lot more features than the current console and avoid some common pitfalls.

This will hopefully serve as the reference implementation for any other jupyter kernels. There might be conflicts in trying to access GUI objects from a separate process kernel.

Color errors that are displayed in the Console

Problem

Syntax errors and tracebacks need to be highlighted in a bright color like red.

Tasks

This needs to be solved individually for each language. There is no general way known yet. The error will usually pass through this method: https://github.com/daegontaven/AlphaHooks/blob/3b884361451cbbd86a8ef9e819dc7f24d899f3f2/AlphaHooks/widgets/console/display/python.py#L68-L83

Possible solutions:

  • Create a error parameter that is passed to send_console_log
  • Make a new method send_console_error

Supported

  • Python
  • Java
  • Lua
  • C++
  • C

Comprehensive tests for continuous integration

Problem

Currently the CI tests do not test across multiple platforms for compatibly issue.

Tasks

The tests should include:

  • UI tests using pytest-qt or QTest
  • Core tests to ensure components are stable
  • Library tests
  • Support for Windows on Appveyor
  • Support Mac OSX
  • Support most distros of linux

Blocking functions cause buffer to delay output

Description

Blocking functions like time.sleep() cause output from sys.stdout to be appended to console_log when a loop is done executing. This might be a problem with the buffer since disabling it works like a charm. But it is hard to be sure since it could also be a problem with blocking from the interpreter's side. This bug also prevents while loops from running at all.

Step to reproduce bug

Running a for loop within the console of AlphaHooks.

import time
for i in range(10):
    time.sleep(1)
    print(i)
 

The loop will wait a full 10 seconds. Then it will print() everything at once.
It has been tested to show that the prints() do execute. This can be observed in the stdout. The stdout stream that is being captured is added to a buffer and the buffer appends the stream to the console. The theory is that the events are not being processed until the loop exits. This also unusually coincides with the return of InteractiveConsole.runcode(self, code).

Add all Python 3.6 keywords to the lexer

Problem

The editor doesn't seem to highlight all keywords. Using from keyword import kwlist is a better option to add keywords to the lexer. But async/await is missing from the list that is returned.

Tasks

  • Investigate why some keywords don't show up in the list.
  • Write code to add these keywords automatically.

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.