MathInspector / MathInspector

A visual programing environment for scientific computing with python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

user-configurable overrides

casperdcl opened this issue · comments

mathinspector overrides a lot of builtins (e.g. help(), print()) which may cause undesirable behaviour - it should be possible for a user to disable this (e.g. via a config file/mathinspector --no-overrides/--no-override=help,print)

related #38 (comment)

I just added this and called it disable in the most recent commit to the dev branch (which I did correctly this time, sorry about that!)

So here is the thing about having an option to disable help(), since I am planning on doing a major style upgrade to the doc system, I really don't want to give users the option to not use the doc browser. Presumably, disabling help would cause all "view doc" buttons to show docs the way pydoc does? If this is the case, can I negotiate with you about it lol =)

My counter offer to disabling help is to make the mathinspector doc browser have an option to be in "ultimate command line editor mode", and it can have a really strongly opinionated UI design about what a good cli editor interface should be for viewing docs, but also be part of mathinspector and deeply connected to the rest of the app.

feel free to re-open this whenever for any reason. There is a number in a grey circle in the issues area and I hate when there are numbers in little circles, it's very distracting. When we both have time to get into this again, let me know by reopening this one.

So long as running import mathinspector doesn't redefine help() I suppose this is fine

Ah! Yea good call. The idea is that when you call import mathinspector it doesn't override anything. The only overrides are supposed to take place when the App is launched. I am very concerned about making sure there are no bugs and that the logic for doing overrides is at the highest possible level of quality and the clarity in terms of code readability.

The current interface is

import mathinspector
mathinspector.help()

and if you really want to, you can override builtin help on your own

from mathinspector import help
help()

My whole thing for UI/UX is just like, get out of the way, let the users do what they want unless there is a really good reason.

Based on your feedback, I am planning to add a feature to allow users to bypass the mathinspector doc system completely and use whichever command line utility they already use.

I'd like to make the mathinspector doc system so good that it's on the same level as vim, if that makes sense. Instead of taking options away, I want to add options for viewing docs, and make the mathinspector doc system so good that people choose to use it instead of vim.

Vim is clearly superior to sublime for many purposes, despite it's lack of GUI (or perhaps, because of the lack of GUI?), and I would like to create something as good as vim, but with a GUI, and specifically for viewing/interacting with docs not for writing code.