Skip to content

Commit

Permalink
Release v2.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
NicolasPetton committed Dec 6, 2018
1 parent a24b6a7 commit fd5de13
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 47 deletions.
119 changes: 74 additions & 45 deletions doc/Indium.texi
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

@copying
@quotation
Indium 2.0.0, Nov 28, 2018
Indium 2.1.1, Dec 06, 2018
Nicolas Petton
Expand Down Expand Up @@ -144,6 +144,7 @@ The stepping debugger
Using sourcemaps
* Overriding sourcemap paths::
* Overriding script paths::
The inspector
Expand Down Expand Up @@ -205,7 +206,7 @@ Indium is availabe on MELPA@footnote{https://melpa.org}, MELPA Stable@footnote{h
@end menu

@node The Indium server,Using MELPA,,Installation
@anchor{installation server-installation}@anchor{7}@anchor{installation the-indium-server}@anchor{8}
@anchor{installation the-indium-server}@anchor{7}@anchor{installation server-installation}@anchor{8}
@subsection The Indium server


Expand Down Expand Up @@ -277,7 +278,7 @@ Add the following to your Emacs configuration:
@end menu

@node Project configuration,General configuration,,Getting up and running
@anchor{setup project-configuration}@anchor{e}@anchor{setup configuration-file}@anchor{f}
@anchor{setup configuration-file}@anchor{e}@anchor{setup project-configuration}@anchor{f}
@subsection Project configuration


Expand All @@ -300,7 +301,7 @@ Here is a minimalist @code{.indium.json} file.:
@end example

@node General configuration,Chrome/Chromium configuration options,Project configuration,Getting up and running
@anchor{setup id1}@anchor{12}@anchor{setup general-configuration}@anchor{13}
@anchor{setup general-configuration}@anchor{12}@anchor{setup id1}@anchor{13}
@subsection General configuration


Expand All @@ -324,11 +325,14 @@ this @code{.indium.json} file is placed, but it can be overridden with the @code
@}
@end example

Custom sourcemap path overrides can be set with @code{sourceMapPathOverrides}, see
@ref{14,,Using sourcemaps} for mode information on sourcemaps and debugging.
Custom script path overrides can be set with @code{scriptPathOverrides}. See
@ref{14,,Overriding script paths} for more information on script paths and debugging.

Custom sourcemap path overrides can be set with @code{sourceMapPathOverrides}. See
@ref{15,,Using sourcemaps} for more information on sourcemaps and debugging.

@node Chrome/Chromium configuration options,NodeJS configuration options,General configuration,Getting up and running
@anchor{setup chrome-configuration}@anchor{11}@anchor{setup chrome-chromium-configuration-options}@anchor{15}
@anchor{setup chrome-chromium-configuration-options}@anchor{16}@anchor{setup chrome-configuration}@anchor{11}
@subsection Chrome/Chromium configuration options


Expand Down Expand Up @@ -361,7 +365,7 @@ Example configuration:
@end example

@node NodeJS configuration options,Starting Indium,Chrome/Chromium configuration options,Getting up and running
@anchor{setup nodejs-configuration}@anchor{10}@anchor{setup nodejs-configuration-options}@anchor{16}
@anchor{setup nodejs-configuration}@anchor{10}@anchor{setup nodejs-configuration-options}@anchor{17}
@subsection NodeJS configuration options


Expand Down Expand Up @@ -399,7 +403,7 @@ Here is an example configuration for debugging Gulp tasks:
@end example

@node Starting Indium,NodeJS requirements,NodeJS configuration options,Getting up and running
@anchor{setup id2}@anchor{17}@anchor{setup starting-indium}@anchor{18}
@anchor{setup id2}@anchor{18}@anchor{setup starting-indium}@anchor{19}
@subsection Starting Indium


Expand All @@ -418,7 +422,7 @@ specified from the configurations in the @code{.indium.json} project file.
@end itemize

@node NodeJS requirements,Chrome/Chromium requirements,Starting Indium,Getting up and running
@anchor{setup nodejs-requirements}@anchor{6}@anchor{setup id3}@anchor{19}
@anchor{setup nodejs-requirements}@anchor{6}@anchor{setup id3}@anchor{1a}
@subsection NodeJS requirements


Expand All @@ -444,7 +448,7 @@ If you install NodeJS using @code{nvm}, chances are that Emacs won’t have it i
@code{exec path}. A simple solution is to use the excellent exec-path-from-shell@footnote{https://github.com/purcell/exec-path-from-shell} package.

@node Chrome/Chromium requirements,,NodeJS requirements,Getting up and running
@anchor{setup chrome-chromium-requirements}@anchor{1a}@anchor{setup chrome-requirements}@anchor{5}
@anchor{setup chrome-requirements}@anchor{5}@anchor{setup chrome-chromium-requirements}@anchor{1b}
@subsection Chrome/Chromium requirements


Expand All @@ -467,7 +471,7 @@ running, otherwise Chrome will simply open a new tab on the existing Chrome
instance, and the @code{remote-debugging-port} will not be set.

@node The REPL,Interaction in JS buffers,Getting up and running,Table of contents
@anchor{repl doc}@anchor{1b}@anchor{repl repl}@anchor{1c}@anchor{repl the-repl}@anchor{1d}
@anchor{repl doc}@anchor{1c}@anchor{repl repl}@anchor{1d}@anchor{repl the-repl}@anchor{1e}
@section The REPL


Expand All @@ -479,7 +483,7 @@ instance, and the @code{remote-debugging-port} will not be set.
@end menu

@node Starting a REPL,Using the REPL,,The REPL
@anchor{repl starting-a-repl}@anchor{1e}
@anchor{repl starting-a-repl}@anchor{1f}
@subsection Starting a REPL


Expand All @@ -503,13 +507,13 @@ JS syntax highlighting
Pretty printing and preview of printed values

@item
Access to the object inspector (see @ref{1f,,The inspector})
Access to the object inspector (see @ref{20,,The inspector})
@end itemize

@image{repl2,,,,png}

@node Using the REPL,Code evaluation & context,Starting a REPL,The REPL
@anchor{repl using-the-repl}@anchor{20}
@anchor{repl using-the-repl}@anchor{21}
@subsection Using the REPL


Expand All @@ -520,7 +524,7 @@ Access to the object inspector (see @ref{1f,,The inspector})
@end menu

@node Keybindings,Reconnecting from the REPL buffer,,Using the REPL
@anchor{repl keybindings}@anchor{21}
@anchor{repl keybindings}@anchor{22}
@subsubsection Keybindings


Expand Down Expand Up @@ -596,7 +600,7 @@ Instert the next input in the history.


@node Reconnecting from the REPL buffer,,Keybindings,Using the REPL
@anchor{repl reconnecting-from-the-repl-buffer}@anchor{22}
@anchor{repl reconnecting-from-the-repl-buffer}@anchor{23}
@subsubsection Reconnecting from the REPL buffer


Expand All @@ -606,7 +610,7 @@ connection, and another one to kill Emacs buffers using this connection (the
REPL buffer, inspectors & debuggers).

@node Code evaluation & context,,Using the REPL,The REPL
@anchor{repl code-evaluation-context}@anchor{23}
@anchor{repl code-evaluation-context}@anchor{24}
@subsection Code evaluation & context


Expand All @@ -618,7 +622,7 @@ the current stack frame, and will be able to access local variables from the
stack, etc.

@node Interaction in JS buffers,The stepping debugger,The REPL,Table of contents
@anchor{code-evaluation doc}@anchor{24}@anchor{code-evaluation interaction}@anchor{25}@anchor{code-evaluation interaction-in-js-buffers}@anchor{26}
@anchor{code-evaluation doc}@anchor{25}@anchor{code-evaluation interaction}@anchor{26}@anchor{code-evaluation interaction-in-js-buffers}@anchor{27}
@section Interaction in JS buffers


Expand All @@ -642,7 +646,7 @@ add or remove breakpoints from your buffers.
@end menu

@node Evaluating and inspecting,Switching to the REPL buffer,,Interaction in JS buffers
@anchor{code-evaluation evaluating-and-inspecting}@anchor{27}
@anchor{code-evaluation evaluating-and-inspecting}@anchor{28}
@subsection Evaluating and inspecting


Expand All @@ -659,7 +663,7 @@ Here’s a list of available keybindings:

@item
@code{C-c M-i}: Inspect the result of the evaluation of an expression (see
@ref{1f,,The inspector}).
@ref{20,,The inspector}).

@item
@code{C-c M-:}: Prompt for an expression to evaluate and inspect.
Expand All @@ -672,20 +676,20 @@ Here’s a list of available keybindings:
@end itemize

@node Switching to the REPL buffer,Adding and removing breakpoints,Evaluating and inspecting,Interaction in JS buffers
@anchor{code-evaluation switching-to-the-repl-buffer}@anchor{28}
@anchor{code-evaluation switching-to-the-repl-buffer}@anchor{29}
@subsection Switching to the REPL buffer


Press @code{C-c C-z} from any buffer with @code{indium-interaction-mode} turned on to
switch back to the REPL buffer (see @ref{1c,,The REPL}).
switch back to the REPL buffer (see @ref{1d,,The REPL}).

@node Adding and removing breakpoints,,Switching to the REPL buffer,Interaction in JS buffers
@anchor{code-evaluation adding-and-removing-breakpoints}@anchor{29}
@anchor{code-evaluation adding-and-removing-breakpoints}@anchor{2a}
@subsection Adding and removing breakpoints


You need to first make sure that Indium is set up correctly to use local files
(see @ref{13,,General configuration}).
(see @ref{12,,General configuration}).


@itemize -
Expand Down Expand Up @@ -721,9 +725,9 @@ You need to first make sure that Indium is set up correctly to use local files
The left fringe or margin can also be clicked to add or remove breakpoints.

Once a breakpoint is set, execution will stop when a breakpoint is hit, and the
Indium debugger pops up (see @ref{2a,,The stepping debugger}).
Indium debugger pops up (see @ref{2b,,The stepping debugger}).

Since Indium 0.7, breakpoints are supported in source files with an associated sourcemap, see @ref{14,,Using sourcemaps}.
Since Indium 0.7, breakpoints are supported in source files with an associated sourcemap, see @ref{15,,Using sourcemaps}.

@cartouche
@quotation Note
Expand All @@ -733,7 +737,7 @@ connection is made Indium will attempt to add back all breakpoints.
@end cartouche

@node The stepping debugger,The inspector,Interaction in JS buffers,Table of contents
@anchor{debugger doc}@anchor{2b}@anchor{debugger the-stepping-debugger}@anchor{2c}@anchor{debugger debugger}@anchor{2a}
@anchor{debugger debugger}@anchor{2b}@anchor{debugger doc}@anchor{2c}@anchor{debugger the-stepping-debugger}@anchor{2d}
@section The stepping debugger


Expand All @@ -744,7 +748,7 @@ connection is made Indium will attempt to add back all breakpoints.
@end menu

@node Using sourcemaps,Blackboxing scripts,,The stepping debugger
@anchor{debugger using-sourcemaps}@anchor{2d}@anchor{debugger sourcemaps}@anchor{14}
@anchor{debugger using-sourcemaps}@anchor{2e}@anchor{debugger sourcemaps}@anchor{15}
@subsection Using sourcemaps


Expand All @@ -765,11 +769,12 @@ source-mapped. This can happen for instance when using Webpack.

@menu
* Overriding sourcemap paths::
* Overriding script paths::
@end menu

@node Overriding sourcemap paths,,,Using sourcemaps
@anchor{debugger webpack}@anchor{2e}@anchor{debugger overriding-sourcemap-paths}@anchor{2f}
@node Overriding sourcemap paths,Overriding script paths,,Using sourcemaps
@anchor{debugger overriding-sourcemap-paths}@anchor{2f}@anchor{debugger webpack}@anchor{30}
@subsubsection Overriding sourcemap paths


Expand Down Expand Up @@ -798,8 +803,32 @@ sourcemap paths using @code{M-x indium-list-sourcemap-sources}.
@end quotation
@end cartouche

@node Overriding script paths,,Overriding sourcemap paths,Using sourcemaps
@anchor{debugger scriptpaths}@anchor{14}@anchor{debugger overriding-script-paths}@anchor{31}
@subsubsection Overriding script paths


If your application’s script URLs don’t correspond directly to where
their source code is located, you can use @code{scriptPathOverrides} to
tell Indium where to find the sources. It maps regular expressions to
Javascript substitution strings.

For example, if your project root is @code{/home/user/projects/foo/}, and
the source code for @indicateurl{http://localhost:3000/js/app.js/1234567890} is at
@code{/home/user/projects/foo/private/js/app.js}, you might set
@code{scriptPathOverrides} to:

@example
@{
"(/js/.*\\.js)/[0-9]+": "private$1"
@}
@end example

This removes the trailing slash and digits, and it adds “private” to
the beginning of the path below the project root.

@node Blackboxing scripts,,Using sourcemaps,The stepping debugger
@anchor{debugger blackboxing-scripts}@anchor{30}
@anchor{debugger blackboxing-scripts}@anchor{32}
@subsection Blackboxing scripts


Expand All @@ -809,13 +838,13 @@ expression of script paths to blackbox when debugging.
Blackboxed scripts are skipped when stepping in the debugger.

@node The inspector,Troublehooting,The stepping debugger,Table of contents
@anchor{inspector doc}@anchor{31}@anchor{inspector the-inspector}@anchor{32}@anchor{inspector inspector}@anchor{1f}
@anchor{inspector doc}@anchor{33}@anchor{inspector the-inspector}@anchor{34}@anchor{inspector inspector}@anchor{20}
@section The inspector


Indium features an object inspector that can be open on any object reference
from a REPL buffer (see @ref{1c,,The REPL}), the debugger (see @ref{2a,,The stepping debugger}), or
the result of any evaluation of JavaScript code (see @ref{25,,Interaction in JS buffers}).
from a REPL buffer (see @ref{1d,,The REPL}), the debugger (see @ref{2b,,The stepping debugger}), or
the result of any evaluation of JavaScript code (see @ref{26,,Interaction in JS buffers}).

To inspect the result of the evaluation of an expression, press @code{C-c M-i}. An
inspector buffer will pop up. You can also press @code{RET} or left click on
Expand All @@ -829,7 +858,7 @@ object links from the REPL buffer.
@end menu

@node Using the inspector,,,The inspector
@anchor{inspector using-the-inspector}@anchor{33}
@anchor{inspector using-the-inspector}@anchor{35}
@subsection Using the inspector


Expand Down Expand Up @@ -889,7 +918,7 @@ Jump to the previous object in the inspector


@node Troublehooting,,The inspector,Table of contents
@anchor{troubleshooting doc}@anchor{34}@anchor{troubleshooting troublehooting}@anchor{35}
@anchor{troubleshooting doc}@anchor{36}@anchor{troubleshooting troublehooting}@anchor{37}
@section Troublehooting


Expand All @@ -904,7 +933,7 @@ If you run into issues with Indium, this document might help you.
@end menu

@node General advices before reporting issues,The Indium server doesn’t start,,Troublehooting
@anchor{troubleshooting general-advices-before-reporting-issues}@anchor{36}
@anchor{troubleshooting general-advices-before-reporting-issues}@anchor{38}
@subsection General advices before reporting issues


Expand All @@ -921,12 +950,12 @@ Attaching the contents of the @code{*indium-process*} buffer can help as well in
case an error happens in the server process.

@node The Indium server doesn’t start,Breakpoints are not set not using sourcemaps,General advices before reporting issues,Troublehooting
@anchor{troubleshooting the-indium-server-doesn-t-start}@anchor{37}
@anchor{troubleshooting the-indium-server-doesn-t-start}@anchor{39}
@subsection The Indium server doesn’t start


First, make sure that @code{indium} is installed as documented in the
@ref{7,,The Indium server} section.
@ref{8,,The Indium server} section.

If you encounter the error:

Expand All @@ -944,7 +973,7 @@ exec-path-from-shell@footnote{https://melpa.org/#/exec-path-from-shell} package:
@end example

@node Breakpoints are not set not using sourcemaps,Breakpoints and debugging do not work using sourcemaps,The Indium server doesn’t start,Troublehooting
@anchor{troubleshooting breakpoints-are-not-set-not-using-sourcemaps}@anchor{38}
@anchor{troubleshooting breakpoints-are-not-set-not-using-sourcemaps}@anchor{3a}
@subsection Breakpoints are not set (not using sourcemaps)


Expand All @@ -955,7 +984,7 @@ correctly.
@quotation Note
Indium needs to know how to map script source urls to files on disk.
It uses the @code{root} (alias @code{webRoot}) configuration option as the
base path, as described in the @ref{13,,General configuration} page.
base path, as described in the @ref{12,,General configuration} page.
@end quotation
@end cartouche

Expand All @@ -964,20 +993,20 @@ parsed by the backend, displaying their sources mapped to files on disk. Check
that the file where you’re trying to add a breakpoint is listed.

@node Breakpoints and debugging do not work using sourcemaps,,Breakpoints are not set not using sourcemaps,Troublehooting
@anchor{troubleshooting breakpoints-and-debugging-do-not-work-using-sourcemaps}@anchor{39}
@anchor{troubleshooting breakpoints-and-debugging-do-not-work-using-sourcemaps}@anchor{3b}
@subsection Breakpoints and debugging do not work (using sourcemaps)


Correctly mapping sourcemaps to file locations can be tedious (see
@ref{14,,Using sourcemaps}).
@ref{15,,Using sourcemaps}).

Indium provides the command @code{indium-list-sourcemap-sources} to help
configuring sourcemaps correctly. This command displays a list of all
sourcemap sources in the runtime as file paths on disk. Check that your files
are listed there.

@node Indices and tables,,Table of contents,Top
@anchor{index indices-and-tables}@anchor{3a}
@anchor{index indices-and-tables}@anchor{3c}
@chapter Indices and tables


Expand Down
2 changes: 1 addition & 1 deletion indium.el
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
;; Author: Nicolas Petton <nicolas@petton.fr>
;; URL: https://github.com/NicolasPetton/indium
;; Keywords: tools, javascript
;; Version: 2.1.0
;; Version: 2.1.1
;; Package-Requires: ((emacs "25") (seq "2.16") (js2-mode "20140114") (js2-refactor "0.9.0") (company "0.9.0"))

;; This program is free software; you can redistribute it and/or modify
Expand Down

0 comments on commit fd5de13

Please sign in to comment.