All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Rename "dist" to "usr" so it isn't excluded by .gitignore.
(Change to Python. So far, only change punctuation only using cpp2python.py from https://github.com/andreikop/cpp2python so far)
astyle --style=ansi *.cpp *.h
python3 cpp2python.py ~/git/outputinspector-ansi-pre-python
- combine h.py and cpp.py files.
- rename main.cpp.py run.pyw
- rename mainwindow.py outputinspector/init.py
- rename etc to projects and move other files out of there to:
- doc/development
- tests/data
- and other places
- rename package to dist
- files related to Qt
- xcf and ico versions of the icon
- optional static build script as per https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW
- Change icon to ico to allow a Windows exe to build.
- Add it as the Windows icon in the pro file.
- Change the window icon to in the UI file using the Designer view.
- Detect debug.txt in current directory if present.
- Show a warning regarding deprecated settings (show what value was used).
- Document the new settings file path correctly (in documents and message(s) shown at run-time).
- Rename variable from
kate
toeditor
as of https://github.com/poikilos/outputinspector/commit/d19bd0074bfb633c4ce68225a37c1509fb255fab - Copy the old
kate
variable to the neweditor
variable. - Rename
config
object tosettings
. - Clarify names of transient variables.
- Improve formatting in readme.md.
- Delete previously-commented code in DoubleClicked event.
- a description (
PARSE_DESCRIPTION
) in the syntaxdef
unmangledPath
(remove ellipsis!) resolves #5
- Place the configuration into a separate class (See settings.h and settings.cpp)--resolves #9.
- Move globals into classes.
- Rename variables.
- Move jshint parsing to a unified parsing def.
- Change settings path from
/etc/outputinspector.conf
to$HOME/.local/share/outputinspector/settings.txt
- Reduce double-click warnings (such as for missing file) to one line.
- Prepend "[outputinspector]" to stdout/stderr (such as warnings).
- Move old known issues from readme.md to the issue tracker.
- The "allow param for directory" issue is now a part of issue #5
- Any not added to the issue tracker were already resolved.
- Accept standard input such as by piping from another program!
- resolves #2 (enhancement)
- If any standard input is waiting, change dialog behavior. Instead of showing dialog boxes that interrupt init (in the case of a missing input file), show lines in the window.
- Run the script as a user not named "root" to install to use the
prefix ~/.local (if the
PREFIX
environment variable is not specified)
- Handle Minetest Lua Warnings.
- Add Qt-style doxygen strings for constants pointing to parsing markers and their values (resolves #3).
- Handle Minetest Lua tracebacks (such as from debug.txt or stderr).
- This feature requires the fix below.
- :edit: This is improved now since issue #5 is closed (enhancement: un-mangle a path containing an ellipsis)!
- Handle
PARSE_MARKER_FILE
value not at the start of a line.
- Allow simpler syntax while avoiding false positives by only allowing
the param opener when it is followed by a digit.
- Detect grep output syntax.
- Detect nose test output syntax without hard-coded
split(":")
.
- Fix pycodestyle support.
- Improve changelog formatting and grammar.
- Make parsing modes into modular, expandable datasets.
- Use clang-format for coding style.
- Support nosetests output.
- Warn if input file is missing or has only blank lines.
- Allow a param to specify output (continue to use err.txt as default).
- Detect and show fatal errors (with an explanation that your tool recorded them before outputinspector started, to avoid any confusion)
- Drastically improve install script (detect and warn if it can't
manipulate existing install in any way, and installs to /usr/local/bin
instead of /usr/bin).
- Detect and stop installing if /usr/bin/outputinspector exists, (should be /usr/local/bin) and show repair instructions (see install file echo statements for more details).
- Detect newer version (whether Debug or Release).
- If neither Debug nor Release is present (in Qt Creator default build
folders), use outputinspector binary in working directory if
present, otherwise show error and exit.
- If no source binary is found, give instructions on how to proceed (also, instructions for recompiling on success now correctly state to use Qt Creator instead of QtDevelop).
- Try to detect and convert jshint output to mcs output:
- example output of running 'mcs etc/foo.cs 1>out.txt 2>err.txt if you have mcs installed (the c# compiler which normally comes with the mono package, or can also be from a .NET Framework SDK or other C# development tool)':
etc/foo.cs(10,24): error CS0103: The name `Path' does not exist in the current context
Compilation failed: 1 error(s), 0 warnings
or with line 10 commented:
etc/foo.cs(11,20): warning CS0219: The variable `uhoh' is assigned but its value is never used
Compilation succeeded - 1 warning(s)
or if file doesn't exist:
error CS2001: Source file `etc/foo.cs' could not be found
- jshint example output (result of running jshint etc/foo.js if you have jshint installed):
etc/foo.js: line 2, col 9, Use '!==' to compare with 'null'.
1 error
- Change old code (had MainWindow, listMain, menubar, and statusbar):
- Change menubar to menuBar.
- Change statusbar to statusBar.
- Change listMain (in old code) to ui->mainListWidget (rename in new code from listWidget which was present by default for new widget form).
- Deprecate manually resizing list widget (in favor of sizePolicy Expanding [and default aka MAX_INT maximumSize] for both vertical and horizontal).
- Change new code (had MainWindow, centralWIdget, menuBar, mainToolBar
and statusBar all by default for new widget form; don't rename
anything):
- Create a List Widget (QListWidget, and Item-Based Widget) named mainListWidget.
- Right-click mainListWidget in form designer, go to slot, paste content of QListWidget::itemDoubleClicked from old qt4 version.
- Move from sourceforge to GitHub.
- Known Issues with this sf.net release:
- At least in Kate 3.0.3, "kate -u" becomes ineffective when Kate 2 is open at the same time, so more copies of Kate 3 open.
(for configurable settings, edit the variable name in /etc/outputinspector.conf)
- Open source files and look for TODO comments (FindTODOs=yes in conf file).
- Allow auto-close if no errors occur (ExitOnNoErrors=yes in conf file).
- Show count of errors and warnings (and TODOs unless specified -- see above) in status bar.
- Fix problem caused by Kate line & row args starting with zero (configurable: by default xEditorOffset=-1 and xEditorOffset-1).
- Kate is no longer linked as a child process of outputinspector.
- Compensate for different tab handling between Kate 3 and mcs, and attempt to work around Kate 2 tab traversal glitches related to the column command line parameter (see README.md).
- Known issues with this sf.net release:
- kate 2.5.x, Kate 3.0.x, and mcs all have different ways of counting tabs, so column numbering is not exact.
- Open err.txt if in the same folder as outputinspector (see README under "Usage").
- If user double-clicks a line of code, tell kate to navigate to that file and location, as long as the file (or relative path) is in the same folder as outputinspector and err.txt.
- Handle kate (at least 2.5.9) as it does not go to the exact code location since -l and -c args start at origin (0,0).