Commit Graph

17 Commits

Author SHA1 Message Date
Jordan Rose
658bded970 [Markup] Adopt llvm::TrailingObjects for markup nodes.
Again, I didn't see any mistakes, but this does clean up the code a little.
No intended functionality change.
2016-02-09 08:57:02 -08:00
Zach Panzarino
e3a4147ac9 Update copyright date 2015-12-31 23:28:40 +00:00
practicalswift
cd7d8dfaff Fix alignment as requested by @gribozavr in #692 2015-12-21 08:54:24 +01:00
practicalswift
176f487d76 Fix incorrect filenames in headers. 2015-12-20 23:59:05 +01:00
David Farler
e87be804c9 [Markup] Slurp fenced code block info string
Add a language property for Markup code blocks - the default is
"swift" but will respect overrides such as the following:

```c++
Something::Somethign::create()
```

For code listings in doc comments written in other languages, such
as when you want to compare usage against another language.

rdar://problem/23948115
2015-12-17 17:51:27 -08:00
Chris Lattner
43e4741559 Merge pull request #127 from Nirma/unified_quotes
Unified the use of character and string sequences.
2015-12-04 20:43:42 -08:00
Nick Wellnhofer
e02ca76275 Don't rely on cmark internals
The cmark_node struct and the node.h header are private.
2015-12-04 23:11:47 +01:00
Nicholas Maccharoli
6169201d90 Unified the use of character and string sequences. 2015-12-04 10:22:00 +09:00
David Farler
e576dba665 Add missing continue statement when measuring tab indents in doc comments
Actually look for more than one tab when measuring initial indentation
in doc comments.

rdar://problem/22209582

Swift SVN r32461
2015-10-06 08:51:57 +00:00
Ben Langmuir
8d656dec8b Fix small leaks in markup parser
These were all seen during code completion while parsing the doc
comments.

* We missed freeing a cmark iterator
* Image and Link stored a std::string inside a BumpPtrAllocator

rdar://problem/22387897

Swift SVN r31560
2015-08-28 20:37:23 +00:00
David Farler
62d6c3a912 Add alt/title tags to rendered markup images
These elements were getting parsed but dropped on the floor.
Now, they'll be added to the Swift Markup AST if they are
present and emitted in the HTML.

rdar://problem/22369731

Swift SVN r31452
2015-08-25 21:16:13 +00:00
Nadav Rotem
f345ca33fd Fix unused variable warnings in Release builds.
Swift SVN r29367
2015-06-12 18:27:26 +00:00
David Farler
57ea78e4c0 Don't print decorators in code completion briefs
Clang doesn't do it for C-family languages and Doxygen doesn't
understand these decorators anyway.

rdar://problem/20982156

Swift SVN r29216
2015-06-02 01:36:55 +00:00
David Farler
794d9ed84d Check both ends of doc comments before trimming
Doc comments assume a prefix of /** and a suffix of */
but if a user accidentally types /**/, SourceKit can crash and
bring down Xcode with certain timings. Check both ends of doc
comments before dropping characters.

rdar://problem/21105409

Swift SVN r29035
2015-05-26 18:25:19 +00:00
David Farler
09b486dbcd ObjC Header missing comment markers for some newline cases
Printing Doxygen isn't inside an XML tag, so we can't just print
code block content, which may have new lines without a doc comment
marker. Also, be more robust with indentation.

+ Tests.

rdar://problem/20703026

Swift SVN r27851
2015-04-28 01:32:54 +00:00
David Farler
ba6c367531 Update some Markup files with license headers.
Swift SVN r27740
2015-04-26 00:52:59 +00:00
David Farler
ca5876a866 swiftMarkup Library
Replace ReST-flavored documentation comments with Markdown.

rdar://problem/20180412

In addition to full Markdown support, the following extensions are
supported. These appear as lists at the top level of the comment's
"document". All of these extensions are matched without regard to
case.

Parameter Outlines
------------------

- Parameters:
  - x: ...
  - y: ...

Separate Parameters
-------------------

- parameter x: ...
- parameter y: ...

- Note:
Parameter documentation may be broken up across the entire comment,
with a mix of parameter documentation kinds - they'll be consolidated
in the end.

Returns
-------

- returns: ...

The following extensions are also list items at the top level, which
will also appear in Xcode QuickHelp as first-class citizens:

- Attention: ...
- Author: ...
- Authors: ...
- Bug: ...
- Complexity: ...
- Copyright: ...
- Date: ...
- Experiment: ...
- Important: ...
- Invariant: ...
- Note: ...
- Postcondition: ...
- Precondition: ...
- Remark: ...
- Remarks: ...
- See: ...
- Since: ...
- Todo: ...
- Version: ...
- Warning: ...

These match most of the extra fields in Doxygen, plus a few more per request.

Other changes
-------------
- Remove use of rawHTML for all markup AST nodes except for those
not representable by the Xcode QuickHelp XSLT - <h>, <hr/>, and of
course inline/block HTML itself.

- Update the doc comment RNG schema to more accurately reflect Xcode
QuickHelp.

- Clean up cmark CMake configuration.

- Rename "FullComment" to "DocComment"

- Update the Swift Standard Documentation (in a follow-up commit)

- Update SourceKit for minor changes and link against cmark
  (in a follow-up commit).

Swift SVN r27727
2015-04-26 00:07:15 +00:00