blob: 599cdd0115d6e95a1b96bb6eaf839c2b1bfa69d0 [file] [log] [blame]
<html>
<!-- Generated from apichanges.xml -->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Change History of Editor Indentation API</title>
<link rel="stylesheet" href="prose.css" type="text/css">
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html" shape="rect">Overview</a>
</p>
<h1>Introduction</h1>
<p>This document lists changes made to the <a href="overview-summary.html" shape="rect">Editor Indent API</a>.</p>
<!-- The actual lists of changes, as summaries and details: -->
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#uncategorized-api">Uncategorized changes</a>
</li>
</ul>
<h1>
<a name="incompat-by-date">Incompatible changes by date</a>
</h1>
<p>Fuller descriptions of all changes can be found below (follow links).</p>
<p>Not all deprecations are listed here, assuming that the deprecated
APIs continue to essentially work. For a full deprecation list, please
consult the
<a href="deprecated-list.html">Javadoc</a>.</p>
<ul>
<li>(Sep 2 '14) <a href="#indent.support">Indentation Support module created</a>
</li>
<li>(Oct 29 '07) <a href="#repackaging.to.unofficial.packages">API/SPI repackaged to remove it from the official NetBeans API packages</a>
</li>
<li>(Oct 13 '07) <a href="#Context.indentRegions">Added several methods to Context class</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Sep 2 '14) <a href="#indent.support">Indentation Support module created</a>
</li>
<li>(Dec 3 '10) <a href="#IndentUtils.createIndentString.added">Adding org.netbeans.modules.editor.indent.api.IndentUtils.createIndentString</a>
</li>
<li>(Feb 17 '10) <a href="#CodeStylePreferences.Provider">Adding CodeStylePreferences.Provider</a>
</li>
<li>(Mar 3 '09) <a href="#context.lookup">Enhance Context class with Lookup so that indenters
can communicate with each other.</a>
</li>
<li>(Oct 23 '08) <a href="#AutomatedIndentation.added">Adding org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</a>
</li>
<li>(Oct 15 '08) <a href="#Indent.indentNewLine.added">Adding org.netbeans.modules.editor.indent.api.Indent.indentNewLine</a>
</li>
<li>(Aug 13 '08) <a href="#CodeStylePreferences">Adding org.netbeans.modules.editor.indent.spi.CodeStylePreferences</a>
</li>
<li>(Feb 5 '08) <a href="#CodeStylePreferences.for.embedded.mimeTypes">Adding CodeStylePreferences.get(Document doc, String mimeType)
and CodeStylePreferences.get(FileObject file, String mimeType).</a>
</li>
<li>(Oct 29 '07) <a href="#repackaging.to.unofficial.packages">API/SPI repackaged to remove it from the official NetBeans API packages</a>
</li>
<li>(Oct 13 '07) <a href="#Context.indentRegions">Added several methods to Context class</a>
</li>
<li>(Jul 17 '07) <a href="#Context.mimePath.added">Added Context.mimePath()</a>
</li>
<li>(Jun 14 '07) <a href="#created">editor/indent module was created.</a>
</li>
</ul>
<h1>
<a name="all-by-version">Changes by version</a>
</h1>
<p>
These API specification versions may be used to indicate that a module
requires a certain API feature in order to function. For example, if you
see here a feature you need which is labelled <samp>1.20</samp>, your
manifest should contain in its main attributes the line:
</p>
<pre>OpenIDE-Module-Module-Dependencies: org.netbeans.modules.editor.indent/1 &gt; 1.20</pre>
<ul>
<li>
(1.39) <a href="#indent.support">Indentation Support module created</a>
</li>
<li>
(1.22) <a href="#IndentUtils.createIndentString.added">Adding org.netbeans.modules.editor.indent.api.IndentUtils.createIndentString</a>
</li>
<li>
(1.20) <a href="#AutomatedIndentation.added">Adding org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</a>
</li>
<li>
(1.19) <a href="#Indent.indentNewLine.added">Adding org.netbeans.modules.editor.indent.api.Indent.indentNewLine</a>
</li>
<li>
(1.18) <a href="#CodeStylePreferences.Provider">Adding CodeStylePreferences.Provider</a>
</li>
<li>
(1.12) <a href="#context.lookup">Enhance Context class with Lookup so that indenters
can communicate with each other.</a>
</li>
<li>
(1.11) <a href="#CodeStylePreferences.for.embedded.mimeTypes">Adding CodeStylePreferences.get(Document doc, String mimeType)
and CodeStylePreferences.get(FileObject file, String mimeType).</a>
</li>
<li>
(1.9) <a href="#CodeStylePreferences">Adding org.netbeans.modules.editor.indent.spi.CodeStylePreferences</a>
</li>
<li>
(1.5) <a href="#repackaging.to.unofficial.packages">API/SPI repackaged to remove it from the official NetBeans API packages</a>
</li>
<li>
(1.2) <a href="#Context.indentRegions">Added several methods to Context class</a>
</li>
<li>
(1.1) <a href="#Context.mimePath.added">Added Context.mimePath()</a>
</li>
<li>
(1.0) <a href="#created">editor/indent module was created.</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting"><code><span style="color:gray">org.netbeans.modules.editor.indent.spi.support.</span>AutomatedIndenting</code></a>
</h2><ul><li>(Sep 2 '14) <a href="#indent.support">Indentation Support module created</a>
</li>
<li>(Oct 23 '08) <a href="#AutomatedIndentation.added">Adding org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</a>
</li></ul><h2>
<a name="org.netbeans.modules.editor.indent.spi.CodeStylePreferences"><code><span style="color:gray">org.netbeans.modules.editor.indent.spi.</span>CodeStylePreferences</code></a>
</h2><ul><li>(Feb 17 '10) <a href="#CodeStylePreferences.Provider">Adding CodeStylePreferences.Provider</a>
</li>
<li>(Aug 13 '08) <a href="#CodeStylePreferences">Adding org.netbeans.modules.editor.indent.spi.CodeStylePreferences</a>
</li></ul><h2>
<a name="org.netbeans.modules.editor.indent.spi.Context"><code><span style="color:gray">org.netbeans.modules.editor.indent.spi.</span>Context</code></a>
</h2><ul><li>(Mar 3 '09) <a href="#context.lookup">Enhance Context class with Lookup so that indenters
can communicate with each other.</a>
</li></ul><h2>
<a name="org.netbeans.modules.editor.indent.api.Indent"><code><span style="color:gray">org.netbeans.modules.editor.indent.api.</span>Indent</code></a>
</h2><ul><li>(Oct 15 '08) <a href="#Indent.indentNewLine.added">Adding org.netbeans.modules.editor.indent.api.Indent.indentNewLine</a>
</li></ul><h2>
<a name="org.netbeans.modules.editor.indent.api.IndentUtils"><code><span style="color:gray">org.netbeans.modules.editor.indent.api.</span>IndentUtils</code></a>
</h2><ul><li>(Dec 3 '10) <a href="#IndentUtils.createIndentString.added">Adding org.netbeans.modules.editor.indent.api.IndentUtils.createIndentString</a>
</li></ul><hr>
<h1>
<a name="details-by-api">Details of all changes by API and date</a>
</h1>
<hr style="width:50%">
<h2>
<a name="uncategorized-api">Uncategorized changes</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="indent.support">Indentation Support module created</a>
</h3>
<em>Sep 2 '14; API spec. version: 1.39; affected top-level classes: <code>org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</code>; made by: dbalek</em>
<br>
Implementation of indentation which depends on typing hooks moved to a separate module,
see <a href="../org-netbeans-modules-editor-indent-support/index.html" shape="rect">its javadoc</a> for more info.
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="IndentUtils.createIndentString.added">Adding org.netbeans.modules.editor.indent.api.IndentUtils.createIndentString</a>
</h3>
<em>Dec 3 '10; API spec. version: 1.22; affected top-level classes: <a href="./org/netbeans/modules/editor/indent/api/IndentUtils.html"><code>IndentUtils</code></a>; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=192289">
#192289</a></em>
<br>
Method IndentUtils.createIndentString(int indent, boolean expandTabs, int tabSize) added.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="CodeStylePreferences.Provider">Adding CodeStylePreferences.Provider</a>
</h3>
<em>Feb 17 '10; API spec. version: 1.18; affected top-level classes: <a href="./org/netbeans/modules/editor/indent/spi/CodeStylePreferences.html"><code>CodeStylePreferences</code></a>; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=178311">
#178311</a></em>
<br>
Adding <code>CodeStylePreferences.Provider</code> interface in order to allow
isolating the project-dependent code style preferences storage from the rest
of the editor infrastructure.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="context.lookup">Enhance Context class with Lookup so that indenters
can communicate with each other.</a>
</h3>
<em>Mar 3 '09; API spec. version: 1.12; affected top-level classes: <a href="./org/netbeans/modules/editor/indent/spi/Context.html"><code>Context</code></a>; made by: dkonecny; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=159479">
#159479</a></em>
<br>
Let IndentTask and/or ReformatTask implement Lookup.Provider
and before executing indentation/reformat call these providers
and provide merged result via getLookup() method in Context.
Individual formatters check lookup for presence of other formatters
and communicate with them via domain specific APIs.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="AutomatedIndentation.added">Adding org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</a>
</h3>
<em>Oct 23 '08; API spec. version: 1.20; affected top-level classes: <code>org.netbeans.modules.editor.indent.spi.support.AutomatedIndenting</code>; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=120357">
#120357</a></em>
<br>
The <code>AutomatedIndenting</code> support class provides regex-based
automatic re-indentation of lines as user types. This is a replacement for
the deprecated <code>ExtFormatter.getReformatBlock</code> and <code>INDENT_HOT_CHARS_ACCEPTOR</code>
setting.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="Indent.indentNewLine.added">Adding org.netbeans.modules.editor.indent.api.Indent.indentNewLine</a>
</h3>
<em>Oct 15 '08; API spec. version: 1.19; affected top-level classes: <a href="./org/netbeans/modules/editor/indent/api/Indent.html"><code>Indent</code></a>; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=120357">
#120357</a></em>
<br>
The new method <code>int Indent.indentNewLine(int)</code> was added as
a replacement for the old <code>int Formatter.indentNewLine(BaseDocument, int)</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="CodeStylePreferences">Adding org.netbeans.modules.editor.indent.spi.CodeStylePreferences</a>
</h3>
<em>Aug 13 '08; API spec. version: 1.9; affected top-level classes: <a href="./org/netbeans/modules/editor/indent/spi/CodeStylePreferences.html"><code>CodeStylePreferences</code></a>; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=141974">
#141974</a></em>
<br>
The new <code>CodeStylePreferences</code> class was added in order to
unify access to editor formatting/indentation preferences (ie. code style).
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="CodeStylePreferences.for.embedded.mimeTypes">Adding CodeStylePreferences.get(Document doc, String mimeType)
and CodeStylePreferences.get(FileObject file, String mimeType).</a>
</h3>
<em>Feb 5 '08; API spec. version: 1.11; made by: dbalek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=153957">
#153957</a></em>
<br>
The new methods were added to allow for getting the formatting/indentation
preferences of embedded mimeTypes.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="repackaging.to.unofficial.packages">API/SPI repackaged to remove it from the official NetBeans API packages</a>
</h3>
<em>Oct 29 '07; API spec. version: 1.5; made by: vstejskal; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=116022">
#116022</a></em>
<br>
<p>
The API/SPI classes were moved from the official <code>org.netbeans.api</code>
and <code>org.netbeans.spi</code> packages and the stability level
of the API was set to <code>devel</code> to indicate that the module
and its API is still under development. The major version of the
module was set to <code>2</code> to mark the incompatible change.
</p>
<p>
There was not enough time in the Netbeans 6.0 release timeframe for us
to fully stabilize the APIs offered by this module. Therefore we
decided to release the <b>development</b> version of the APIs and
do a full API review in the next release cycle.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="Context.indentRegions">Added several methods to Context class</a>
</h3>
<em>Oct 13 '07; API spec. version: 1.2; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=116022">
#116022</a></em>
<br>
<p>
Added <code>Context.lineIndent()</code>, <code>Context.lineStartOffset()</code>,
<code>Context.caretOffset()</code>, <code>Context.setCaretOffset()</code>
and <code>Context.indentRegions()</code> methods (including Context.Region class).
Fixed <code>Context.modifyIndent()</code> signature and implementation.
</p>
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="Context.mimePath.added">Added Context.mimePath()</a>
</h3>
<em>Jul 17 '07; API spec. version: 1.1; made by: mmetelka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=110129">
#110129</a></em>
<br>
<p>
Added <code>Context.mimePath()</code> method.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="created">editor/indent module was created.</a>
</h3>
<em>Jun 14 '07; API spec. version: 1.0; made by: mmetelka</em>
<br>
The module was created.
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp; Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>