forked from lsegal/yard
/
ChangeLog
10393 lines (7669 loc) · 423 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2011-10-15 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, lib/yard.rb: Update README, ChangeLog and bump to
0.7.3 for release
* Rakefile: Add ruby193 to suite
* spec/config_spec.rb: Remove unnecessary file? stub, fixes JRuby spec
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Support
rb_define_attr in CRuby code Allows for commented /* rb_define_attr */ block
to define an attribute silently when attribute methods are defined through
rb_define_method. Closes #362
* docs/GettingStarted.md: Fix reference to changed method name in Getting
Started documentation
2011-10-14 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix tokenizing of heredoc source Closes #366
* lib/yard/code_objects/macro_object.rb: Fix escaping of {}
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Use ! to escape {} syntax
* spec/cli/server_spec.rb, spec/handlers/constant_handler_spec.rb: Make tests
more Windows friendly
* lib/yard/parser/ruby/ruby_parser.rb: Fix parsing of %w{} and %w() when
ended by a newline
* README.md: Sentence rewording
* README.md: Get rid of those unicode characters in README
* templates/default/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/css/style.css: Add styling for RDoc definition
lists (default and guide templates) Fixes #359
2011-10-14 Dirkjan Bussink <d.bussink@gmail.com>
* lib/yard/verifier.rb: Use remove_method instead of undef_method
undef_method has very different semantics. It prevents the class from
responding to the named method. This means that also original methods on
super classes won't be called. This for example results in weird behavior on
Rubinius since the original method_missing method can't be called which
normally throws the NoMethodError. Also see:
http://www.nach-vorne.de/2008/2/28/undef_method-remove_method/index.html
2011-10-07 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Clean up array AST node handling
2011-10-05 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/js/full_list.js: Force items to show in list
search when parent lists are collapsed. Fixes #392
* templates/default/fulldoc/html/js/full_list.js: Improve JS searching
capabilities by adding minimal fuzzy finding behaviour. Toggle case sensitive
searching when capital letters are used
2011-10-04 Grégory Karékinian <greg@karekinian.com>
* docs/GettingStarted.md: Added information about escaping curly braces
2011-10-01 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix displaying of source for unary operator nodes in the AST Closes #371
* lib/yard/templates/helpers/markup_helper.rb: Print proper missing gem error
message for files with auto-detected markups that are different from default
markup format. Closes #373
* lib/yard/parser/source_parser.rb: Display backtraces on parser errors in
debugging mode
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fixes "Bad value for range" error in 1.9.2-p290 and 1.9.3 when using %w{}
syntax (changes to ripper API). Fixes #370
2011-07-12 Tobias Koch <tobias@tobijk.de>
* lib/yard/parser/c_parser.rb: More flexible return type guessing in c-parser
* handle keyword (un)signed for Integers * handle class names as return
types * recognize C++ 'bool' * treat return types starting with 'char' as
String
* lib/yard/parser/c_parser.rb: Find override comment for C constructor
2011-10-01 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix broken ruby parser specs
2011-09-07 Loren Segal <lsegal@soen.ca>
* spec/code_objects/extra_file_object_spec.rb, spec/handlers/base_spec.rb,
spec/parser/source_parser_spec.rb,
spec/templates/helpers/html_helper_spec.rb: Fix various encoding and toplevel
class variable changes for 1.9.3 compatibility
* lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/base.rb, lib/yard/handlers/ruby/visibility_handler.rb,
lib/yard/parser/ruby/ast_node.rb, spec/handlers/ruby/base_spec.rb,
spec/parser/ruby/ast_node_spec.rb: Add support for new Ripper vcall AST node,
replaces var_ref for method calls Closes #384
* lib/yard/handlers/base.rb, lib/yard/parser/source_parser.rb: LoadOrderError
should not stuff continuation inside of message (1.9.3 now calls to_s on
raise argument)
* Rakefile, lib/yard/cli/yri.rb: Remove depcrecated Config in favour of
RbConfig
2011-08-18 Kouhei Sutou <kou@clear-code.com>
* lib/yard/templates/helpers/html_helper.rb: escape HTML meta characters in
text for HTML output. Here is an example text file. hello.txt: Hello >_<!
Here is a command to generate HTML: % yardoc - hello.txt It generates the
following HTML: ... ...<pre>Hello >_<!</pre>... ... We should escape ">",
"<" and so on in text to output valid HTML.
2011-08-14 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/method001.html: Fix broken spec from incomplete
merge on #372
2011-08-07 Kouhei Sutou <kou@clear-code.com>
* templates/default/tags/html/option.erb: fix wrong close tag.
2011-07-01 Rob Gleeson <rob@flowof.info>
* lib/yard/templates/helpers/html_helper.rb: Add support for GitHub
codeblocks when using RedCarpet.
2011-07-07 Kouhei Sutou <kou@clear-code.com>
* .../default/fulldoc/html/full_list_methods.erb: [template][html] add
missing escape in object link label. This problem can be reproducable by the
following steps: 1. Create the following script: class Array def &(other)
end end 2. Genreate documents from the above script: % yardoc array-amp.rb
3. Find link markup in method_list.html: % grep '#&' method_list.html <span
class='object_link'><a href="Array.html#%26-instance_method" title="Array#&
(method)">#&</a></span> '>#&</a' should be '>#&</a'.
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: [html] fix missing escape in
title.
2011-06-22 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
spec/handlers/exception_handler_spec.rb: Ignore empty raise calls instead. It
is too ambiguous for YARD to guess at
* spec/parser/c_parser_spec.rb: Fix C parser spec
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Handle proper
filenames in C parser /* in FILE */ declarations Closes #358
* spec/parser/c_parser_spec.rb: Refactor C parser specs
2011-06-20 Sven Fuchs <svenfuchs@artweb-design.de>
* .travis.yml: Don't use bundler_args: --local in .travis.yml This setting
only works on the current production worker because the gems all happen to be
installed already. The new worker setup will rollback changes after every
install and so tests will always fail with this setting.
2011-06-19 Loren Segal <lsegal@soen.ca>
* lib/yard/rubygems/specification.rb: Support RubyGems 1.8.x in
rubygems_plugin.rb
2011-06-15 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
.../handlers/examples/exception_handler_001.rb.txt,
spec/handlers/exception_handler_spec.rb: Handle empty raise statements as
raising Exception Closes #356
2011-06-14 Loren Segal <lsegal@soen.ca>
* README.md: Point contributors section to github's contributors page (easier
maintenance)
* .travis.yml: Only test for 1.8.6, 1.8.7 and ree on travis-ci.org
* .travis.yml: One more update for Travis CI
* Rakefile: Fix travis_ci task status exiting and legacy mode
* Gemfile: Remove ripper from Gemfile temporarily
* .travis.yml, Rakefile, spec/cli/yri_spec.rb: Add support for travis-ci.org
* Gemfile: Fix Gemfile to add ripper/rubygems sources
* ChangeLog, README.md, lib/yard.rb: 0.7.2 release
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add extra spec for `{http://...}`
links (and fix behaviour)
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Support YARD style `{http://...
title}` links when using markdown provider that performs URL autolinking.
Closes #353
2011-06-13 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Print correct constant values when using %w() arrays Closes #348
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Use capitalized tag name
if title is not provided in --tag Closes #352
* .gitignore, Gemfile: Add Gemfile for Bundler support
2011-06-12 Loren Segal <lsegal@soen.ca>
* lib/yard/tags/library.rb: Fix typo in transitive_tags docs
2011-06-11 Michael S. Klishin <michael@novemberain.com>
* spec/registry_spec.rb: Eliminate deadlocks for thread-local spec group on
1.8.7-p334 Ruby 1.8.7 seems to treat empty while loops "specially". As soon
as a Kernel#puts call or a variable assignment happens in the while loop
body, deadlocks are gone. Note that synchronization alone wasn't sufficient.
2011-06-07 Akzhan Abdulin <akzhan.abdulin@gmail.com>
* lib/yard/autoload.rb: __p method should not depend on / file path
separator. Actually it has only one parameter.
2011-06-06 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb,
spec/templates/onefile_spec.rb, templates/default/onefile/html/setup.rb: Fix
readme logic using --one-file and add tests
* templates/default/fulldoc/html/setup.rb: No longer need to add
files/readmes in templates (done inside CLI::Yardoc)
* spec/cli/yardoc_spec.rb: Stub out README in extra files spec
2011-06-05 Nick Plante <nap@zerosum.org>
* lib/yard/cli/yardoc.rb: ensure that readme isn't duplicated in file list
* lib/yard/cli/yardoc.rb, lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb, spec/cli/yardoc_spec.rb: Fix
readme option display for YARD server (frames)
2011-06-03 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Properly handle 'def end' in legacy
parser Closes #343
2011-05-27 Loren Segal <lsegal@soen.ca>
* spec/cli/diff_spec.rb: Make File mocks in diff_spec.rb more resilient to
different environments (bundler)
* lib/yard/templates/helpers/text_helper.rb,
spec/templates/helpers/text_helper_spec.rb: Make overload fix work with text
helper as well
* lib/yard/server/commands/library_command.rb: Require 'thread' in
LibraryCommand Closes #338
2011-05-24 Franklin Webber <franklin.webber@gmail.com>
* lib/yard/config.rb: YARD::Config - fixed typo Thanks Loren
* lib/yard/config.rb: YARD Configuration Documentation Included example of
using the YARD::Config from the point-of-view of plugin designer.
2011-05-24 Jon Wood <jon@blankpad.net>
* README.md: Fix a type in the query documentation.
2011-05-23 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb,
.../templates/helpers/shared_signature_examples.rb: Method signature should
use regular return tag if @overload is empty
* lib/yard/code_objects/macro_object.rb: Fix documentation for macro
interpolation ($* not $&)
* lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: The @attribute tag should allow setting
the method name
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Link to correct object when
`@overload` tag uses different method name Reported by @ryansobol Closes
#330
* lib/yard/cli/yardoc.rb: Don't use --charset in 1.8
* spec/templates/helpers/html_helper_spec.rb: Load markup provider before
stubbing file so specs pass
* lib/yard/cli/server.rb: Simplify the assignment of expanded library path
2011-05-23 Rob Gleeson <rob@flowof.info>
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: Fix failing specs.
2011-05-22 Rob Gleeson <rob@flowof.info>
* lib/yard/cli/server.rb: Resolve relative links in daemon mode.
2011-05-22 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Handles the valid 'utf8' locale
value as 'utf-8' Supporting #317
* spec/templates/helpers/html_helper_spec.rb: Stub ENV for charset test
Closes #317
2011-05-21 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb: Fix documentation claiming that
SourceParser.parse returns a parser object; it returns void. Closes #325
* spec/cli/command_spec.rb: Add more tests for unrecognized options in yard
commands
* lib/yard/cli/command.rb, spec/cli/command_spec.rb: Try to continue parsing
options if one argument failed to parse
2011-05-20 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb: Remove default parsing of --help/--version in
OptionParser so that yardoc --help shows up again Closes #324
* lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Enable DSL/macro detection in top level
namespace Closes #321
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Don't enforce
K&R C syntax when searching for CRuby function bodies Closes #320
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Refactor C
Parser tests and ensure that comments are no longer part of the method body
* lib/yard/handlers/base.rb, lib/yard/logging.rb,
lib/yard/parser/c_parser.rb: Add Logger#warn_no_continuations to refactor the
multiple calls to this global warning switch
* lib/yard/autoload.rb: Add NamespaceMissingError to autoload
2011-05-20 Rob Gleeson <rob@flowof.info>
* lib/yard/cli/yardoc.rb: Provide a solution to issue #322. Ask 'Encoding'
does it respond to default_external= before assuming that it does.
2011-05-18 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/stats.rb, spec/parser/base_spec.rb: Fix some incompatible
specs on Rubinius
* .gitignore: Ignore .rbc files from project
* ChangeLog, lib/yard.rb: Update version / changelog
* README.md: Bump to 0.7.1
* spec/code_objects/constants_spec.rb: Fix a spec
2011-05-18 Simone Carletti <weppos@weppos.net>
* docs/GettingStarted.md: Fixed broken links.
2011-05-17 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/setup.rb: Oops, yard server sets @items
manually and does not fill options[:objects]
* ChangeLog, README.md: Release 0.7.0
* lib/yard.rb: Bump version to 0.7.0
* README.md: Update readme for release
2011-05-16 Loren Segal <lsegal@soen.ca>
* docs/WhatsNew.md: Discuss new -t guide template in WhatsNew
* lib/yard/templates/helpers/html_helper.rb: A little hack to avoid
{http://foo.com} from warning about invalid object when autolinking is turned
on in the markup provider
* docs/WhatsNew.md: Add documentation about new --yardopts flag
* templates/guide/fulldoc/html/css/style.css: Fix some tag stylings in guide
style
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Make sure RDiscount autolinks
URLs (silly RDiscount)
* .gitignore: Ignore doc_guide dir
* .yardopts_guide: Put the guide docs in another directory
* .yardopts_guide: Add title to Guide docs
* docs/GettingStarted.md: Document the use of the @encoding extra file
metadata tag
* .yardopts_guide: Add guide yardopts
2011-05-15 Loren Segal <lsegal@soen.ca>
* templates/guide/layout/html/layout.erb: Update layout to remove ToC title
if there are no topics
* templates/guide/fulldoc/html/css/style.css,
templates/guide/layout/html/layout.erb: Update guide style
2011-04-11 Loren Segal <lsegal@soen.ca>
* templates/guide/class/html/setup.rb,
templates/guide/docstring/html/setup.rb,
templates/guide/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/js/app.js,
templates/guide/fulldoc/html/setup.rb,
templates/guide/layout/html/layout.erb, templates/guide/layout/html/setup.rb,
templates/guide/method/html/header.erb, templates/guide/method/html/setup.rb,
templates/guide/module/html/header.erb,
templates/guide/module/html/method_list.erb,
templates/guide/module/html/setup.rb, templates/guide/tags/html/setup.rb: Add
initial guide template
2011-05-16 Loren Segal <lsegal@soen.ca>
* docs/Templates.md: Update Templates guide on adding custom js/css; manually
generating assets is no longer necessary
* spec/templates/onefile_spec.rb, templates/default/fulldoc/html/setup.rb,
templates/default/onefile/html/files.erb,
templates/default/onefile/html/setup.rb: Fix --one-file template generation
and add some sanity specs so it doesn't break again
2011-05-15 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: HtmlHelper#charset should be
aware of extra files and set proper page encoding
* lib/yard/code_objects/extra_file_object.rb,
spec/code_objects/extra_file_object_spec.rb: Attempt to reparse extra file
contents as binary data if it cannot be parsed as utf-8
* lib/yard/cli/yardoc.rb: Fix wording of --charset
* docs/Tags.md: Fix formatting in Tags.md
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix bug in htmlify when
encountering a {} string
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add support for --yardopts
FILE to specify a non-standard yardopts filename
* lib/yard/cli/command.rb, lib/yard/cli/yardoc.rb: Fix yard doc --help
formatting of options to make it fit on 80 width terminals
2011-05-14 Loren Segal <lsegal@soen.ca>
* docs/WhatsNew.md: What's New docs for 0.7.0
* lib/yard/code_objects/macro_object.rb, lib/yard/parser/source_parser.rb:
Some inter-doc link formatting fixes
* docs/WhatsNew.md: Initial what's new sections
* lib/yard/parser/source_parser.rb: Add @since tag for SourceParser#contents
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Add
SourceParser.{before,after}_parse_{list,file} callbacks which allow plugin
developers to register callbacks and hook into parsing phase, either on a
per-file basis or a per-"parse" (list of files) basis. Closes #315
* lib/yard/docstring.rb: Make Docstring#create_tag public
2011-05-13 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/macro_object.rb: Fix formatting of list in
MacroObject#expand
* docs/GettingStarted.md: Add `{render:}` sample tag in getting started guide
* docs/GettingStarted.md: Document new {render:FOO} syntax Closes #309
* docs/GettingStarted.md, docs/Tags.md: Document new macros behaviour in
Getting Started guide and Tags Overview Closes #307
* lib/yard/templates/helpers/html_helper.rb: Don't attempt to link file
without serializer
* lib/yard/handlers/base.rb: Make sure globals.__attached_macros is
initialized in handlers
* lib/yard/code_objects/macro_object.rb: Document MacroObject class
* lib/yard/docstring.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Properly handle @overload tags and
create @overload tag when @method is used
2011-05-13 Franklin Webber <franklin.webber@gmail.com>
* lib/yard/cli/command.rb: Load Script - load error message For scripts that
are composed of multiple files the load script error message, in it's current
state is a head scratcher. I updated the load error message to include the
load exception in the output to help debug the loading of the script.
2011-05-13 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/parser/source_parser.rb,
spec/cli/yardoc_spec.rb: Add 'app/**/*.rb' to default parsing glob. Closes
#314
* templates/default/fulldoc/html/css/style.css: Make style more friendly to
{render} on extra files
2011-05-11 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/handlers/ruby/legacy/base.rb,
lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb, spec/parser/source_parser_spec.rb:
Support @macro creation/expansion in any object docstring
* lib/yard/docstring.rb: Docstring should accept initialization with array
(legacy handler support)
2011-05-10 misfo <tedwardo2@gmail.com>
* templates/default/fulldoc/html/js/app.js: ignore keyboard shortcuts when an
input is active use event.target since it's standard across all browsers,
event.originalTarget is mozilla-specific
2011-05-10 Loren Segal <lsegal@soen.ca>
* .yardopts: Ignore rubygems/ from docs (they're just backports)
2011-05-09 Loren Segal <lsegal@soen.ca>
* lib/yard.rb, lib/yard/rubygems/backports.rb,
lib/yard/rubygems/backports/LICENSE.txt, lib/yard/rubygems/backports/MIT.txt,
lib/yard/rubygems/backports/gem.rb,
lib/yard/rubygems/backports/source_index.rb: Fix RubyGems 1.8.x deprecations
by backporting Gem::SourceIndex We can work on migrating to the new API as
time goes on. Closes #311
2011-05-08 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/css/full_list.css: Remove '|' after content
for menus; it is now generated statically.
2011-05-08 Franklin Webber <franklin.webber@gmail.com>
* docs/Templates.md: Template - Adding and Overriding Search Menus An
explanation of overriding the existing functionality of the search menus An
explanation of adding a new search menu
* docs/Templates.md: Template - Custom Javascript and Stylesheets Outlined
how to override and add a custom javascript and stylesheet file for plugin
authors
2011-05-07 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/processor.rb: Fix Processor spec, expects a globals
object to be created
* lib/yard/code_objects/base.rb: No longer support 'Foo.bar' or 'Foo#bar'
syntax as name argument to Base.new It was never used in YARD's codebase,
and makes initialization very complex.
* lib/yard/cli/yardoc.rb: Handle objects with no file/line info when printing
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb, lib/yard/cli/list.rb,
spec/cli/list_spec.rb: Add `yard list` command, basically just passes off to
`yard doc --list`. Closes #283
* lib/yard/handlers/ruby/macro_handler_methods.rb: Don't need to
ensure_loaded when checking macros anymore
* lib/yard/handlers/processor.rb, lib/yard/parser/source_parser.rb: Make sure
same globals object is passed across all SourceParsers
* lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/extend_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
.../ruby/legacy/private_constant_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.rb: Declare a bunch of
handlers as namespace_only (for potential future optimizations)
* lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
lib/yard/handlers/ruby/method_handler.rb: Optimize macro handler, increase
performance to pre-macro speeds
* lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
lib/yard/parser/source_parser.rb, spec/handlers/processor_spec.rb,
spec/handlers/spec_helper.rb: Make Processor#globals global to entire
post-process phase and add #extra_state for file-specific state
2011-05-07 Franklin Webber <franklin.webber@gmail.com>
* templates/default/fulldoc/html/setup.rb: Fulldoc Template Updated to
contain information about the various helper methods specified.
2011-05-07 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
spec/handlers/base_spec.rb: Add Processor#globals and Handlers::Base#globals
to allow handlers to share state within post processing of files. Closes
#310
* lib/yard/handlers/ruby/macro_handler.rb, lib/yard/parser/ruby/ast_node.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Properly handle macro calls with no
arguments
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb, spec/cli/yardoc_spec.rb:
Properly clear markup cache, and try to load markup cache from markup_class
* lib/yard/autoload.rb, lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/examples/macro_handler_001.rb.txt: Backport macros to legacy
parser/handlers
* spec/docstring_spec.rb: Remove silly useless spec.
* spec/spec_helper.rb: Only htmlify p() and puts() inside of TextMate (rspec
helpers)
* lib/yard/handlers/ruby/macro_handler.rb: Make attribute tag parser regex
1.8 compatible
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add -m ruby markup type and
detection of .rb/.ru extra files. Also marks up files when included via
{include:file:...} (and works with ruby source files). Closes #303
* lib/yard/templates/helpers/base_helper.rb,
spec/templates/helpers/base_helper_spec.rb: Disallow users from calling
include:file: on files outside of Dir.pwd
* templates/default/fulldoc/html/setup.rb: Don't duplicate README if
specified manually
* .../templates/doc_server/full_list/html/setup.rb: Show instance attributes
in method list for yard server Closes #302
2011-05-01 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb, lib/yard/tags/library.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb:
Refactor macro expansion methods into MacroObject class
2011-04-29 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Handle RDoc style ## hash flag
docstrings when recognizing DSL methods
2011-04-28 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb,
spec/handlers/method_handler_spec.rb: Add MacroObject.find to do a Registry
lookup without needing to know the .macro. prefix
* lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb,
spec/handlers/method_handler_spec.rb: Refactor MacroObject API to make it
easier to use, and add MacroObject.create for quick macro creation
* lib/yard/handlers/ruby/macro_handler.rb: Fix lookup path from outside of
spec suite
* lib/yard/autoload.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/ruby/legacy/process_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
spec/handlers/process_handler_spec.rb: New macros make process handler
obsolete, it can be removed
* lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Add macro objects when creating class
methods
* spec/spec_helper.rb: Better HTML friendly printing in the test environment
* lib/yard/handlers/ruby/base.rb: Allow handles method_call to have no
specified method (catches all method calls)
* lib/yard/docstring.rb, spec/docstring_spec.rb: Add Docstring#delete_tags,
Docstring#delete_tag_if and Docstring#dup to support new macros behaviour
* lib/yard/autoload.rb, lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb, lib/yard/tags/library.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Add MacroObject and MacroHandler which
processes DSL methods in a namespace that have any @tags defined on them as
dynamically generated methods, where the first argument is the method name.
YARD will now automatically detect a dynamic method if it sees tags defined
in its docstring, for example: # The name property # @return [String] a
user's name property :name, String The above definition will automatically
create an instance method named `name` with the docstring "The name property"
(and return tag). In addition to this default behaviour, the method name and
object type/properties can be customized with the addition of the @method,
@attribute, @scope, @visibility tags. Specifically, the example above can be
defined as an attribute by specifying: # @attribute # @return [String] the
name property property :name, String The attribute can be customized further
by adding the 'r' or 'w' type to specify if it is writeonly: # @attribute
[w] property :writeonlyproperty The method/attribute name/signature can also
be customized by adding a signature to the @method/@attibute tags: # @method
foobar(name, opts = {}) # @param [String] name # @scope class register
:foobar Note that because @scope is set, `foobar` will be made into a class
method. Visibility can be set in the same way. Finally, a new @macro tag is
added, with a MacroObject to support it. Whenever a @macro is defined on a
docstring, it creates a new re-usable named macro object that can be
re-applied to any other object, either explicitly by calling on the name, or
implicitly through the "attach" keyword (or by declaring the macro on a class
method directly [*not yet supported*]). Macros are expanded when applied,
interpolating `$N` or `${N-M}` strings with the respective parameters in the
original DSL method. `$0` and `$*` are special tokens that refer to the DSL
method name and the full source line, respectively. The following is an
example of how a DSL method for a CLI option parsing library (such as Rake,
Thor, or others) can be easily documented with macro expansion: # @macro
command # @method $1(opts = {}) # $3 # @return [$2] the result of the
$0 command :create_file, String, "Creates a new file and returns the
filename" The above will automatically expand the macro on the first usage,
and then create a new macro named 'command' that can be reused by other
commands. The above docstring would be expanded into the full docstring: #
@method create_file(opts = {}) # Creates a new file and returns the filename
# @return [String] the result of the command command :create_file, String,
"Creates a new file and returns the filename" This macro can then be re-used
on other commands, either explicitly via: # @macro command command :exit,
Fixnum, "Exits the shell and returns the exit code" Or implicitly by
attaching the command macro to the `command` method call. This can be done by
adding `[attach]` to the initial @macro definition: # @macro [attach]
command # ... command :create_file, ... The next use of `command` will
automatically use this macro, even without any explicit docstring or tags:
command :foobar, String, "this will be in my docs!" Note that the `command`
must come from a class that is in the same inheritance tree as the initially
defined macro. That is, if `command` is used in another class, it will not be
documented. A new macro can be defined for that separate method. In the
future, it will be possible to define a macro directly on the class method
declaration itself, ie.: class CommandParser # @macro command # @method
$1(opts = {}) # $3 # @return [$2] def self.command(name, return_type,
docstring, &block) # implementation... end command :name, String, "retrieves
a username" do DB.get(username) end end * @attribute [rw] optional_name -
defines the DSL method as an attribute * @macro name DOCSTRING - defines a
new macro using name and expands DOCSTRING * @method signature - declares
that the DSL method is a method with an optional signature. Use this when you
otherwise have no other tags to specify for the docstring (since YARD
requires at least one @tag to detect a dynamic DSL method) * @scope
class|instance - sets the scope of the newly added method * @visibility
public|private|protected - sets the visibility of the newly added method
2011-05-07 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix rendering of %w() array literals Closes #306
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb: Ensure docstring has
line_range if parsed from a file Closes #243
* ChangeLog: Don't markdown changelog
* lib/yard/code_objects/base.rb: Cache CodeObjects::Base#docstring properly
* lib/yard/docstring.rb, spec/docstring_spec.rb: Docstring#line should return
nil if #line_range is nil
* lib/yard/autoload.rb: Update documentation in autoload
* lib/yard/rake/yardoc_task.rb, spec/rake/yardoc_task_spec.rb: Fix regression
where YardocTask#verifier would not properly set verifier object Closes #282
* lib/yard/rake/yardoc_task.rb: Document that YardocTask#verifier should take
a Verifier object Closes #281
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Allow run(nil) to cancel
argument parsing in Yardoc
* spec/parser/source_parser_spec.rb: Only test BOM in ripper/1.9
* .../default/module/html/inherited_attributes.erb: Sort inherited attributes
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb:
Support any number of hashes prefixing a comment line
* lib/yard/parser/c_parser.rb: Remove nonexistent ENOTFILE constant
2011-05-05 Postmodern <postmodern.mod3@gmail.com>
* lib/yard.rb: Catch all Exceptions raised by Rubinius or JRuby when testing
callcc.
2011-04-26 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/extra_file_object.rb,
spec/code_objects/extra_file_object_spec.rb: Add support for @encoding
metadata in extra files to specify individual file encodings
2011-04-25 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Warn when extra
C file is missing from documentation
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Gracefully
handle missing extra source files when parsing C code
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/extrafile.c.txt, spec/parser/examples/multifile.c.txt:
Find docstring for methods that are documented in alternate C source files
when "/* in file.c */" comment is found.
* .../templates/default/layout/html/headers.erb,
.../server/templates/default/layout/html/setup.rb: Update yard server
templates to use new css/js listing feature from #289
* templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/headers.erb,
templates/default/layout/html/search.erb,
templates/default/layout/html/setup.rb: Refactor css/js API changes from #289
into layout template so that it works without fulldoc
* lib/yard/server/commands/display_file_command.rb,
lib/yard/server/doc_server_helper.rb,
lib/yard/templates/helpers/html_helper.rb: Fix yard server to work with
ExtraFileObjects
* .../templates/default/layout/html/headers.erb,
.../doc_server/full_list/html/full_list.erb,
.../doc_server/library_list/html/headers.erb,
templates/default/fulldoc/html/full_list.erb,
templates/default/onefile/html/layout.erb: Add proper meta content-type tag
to layout headers Closes #298
* lib/yard/cli/yardoc.rb: Properly check for -m being set in yardoc arguments
* .../server/commands/display_object_command_spec.rb,
spec/server/commands/library_command_spec.rb: Move tests to
LibraryObjectCommand and improve setup/teardown
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fix regression in `yard -m
markup` selection
2011-04-25 Franklin Webber <franklin.webber@gmail.com>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb,
.../server/commands/display_object_command_spec.rb: YARD server - rdoc not
set as default markup; Fixes #300 yardoc parse_arguments reset the markup to
assist with performing validation. However, that should only be done when
yard is generating output, this is not the case when running 'yard server'
which generates no output.
2011-04-21 Loren Segal <lsegal@soen.ca>
* lib/yard/tags/library.rb: @api should be transitive too
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Add
support for UTF-8 byte order mark encoded source files Closes #288
2011-04-21 Erik Michaels-Ober <sferik@gmail.com>
* lib/yard.rb, lib/yard/autoload.rb, lib/yard/cli/command.rb,
lib/yard/cli/command_parser.rb, lib/yard/cli/config.rb, lib/yard/cli/diff.rb,
lib/yard/cli/gems.rb, lib/yard/cli/graph.rb, lib/yard/cli/help.rb,
lib/yard/cli/server.rb, lib/yard/cli/stats.rb, lib/yard/cli/yardoc.rb,
lib/yard/cli/yri.rb, lib/yard/code_objects/base.rb,
lib/yard/code_objects/class_object.rb,
lib/yard/code_objects/constant_object.rb,
lib/yard/code_objects/extended_method_object.rb,
lib/yard/code_objects/extra_file_object.rb,
lib/yard/code_objects/method_object.rb,
lib/yard/code_objects/module_object.rb,
lib/yard/code_objects/namespace_object.rb, lib/yard/code_objects/proxy.rb,
lib/yard/code_objects/root_object.rb, lib/yard/config.rb,
lib/yard/core_ext/array.rb, lib/yard/core_ext/file.rb,
lib/yard/core_ext/insertion.rb, lib/yard/core_ext/module.rb,
lib/yard/core_ext/string.rb, lib/yard/core_ext/symbol_hash.rb,
lib/yard/docstring.rb, lib/yard/globals.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/attribute_handler.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/handlers/ruby/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/base.rb,
.../ruby/legacy/class_condition_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
.../ruby/legacy/private_constant_handler.rb,
lib/yard/handlers/ruby/legacy/process_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/legacy/yield_handler.rb,
lib/yard/handlers/ruby/method_condition_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb,
lib/yard/handlers/ruby/visibility_handler.rb,
lib/yard/handlers/ruby/yield_handler.rb, lib/yard/logging.rb,
lib/yard/parser/base.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/legacy/ruby_lex.rb,
lib/yard/parser/ruby/legacy/ruby_parser.rb,
lib/yard/parser/ruby/legacy/statement.rb,
lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/legacy/token_list.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
lib/yard/rake/yardoc_task.rb, lib/yard/registry.rb,
lib/yard/registry_store.rb, lib/yard/rubygems/specification.rb,
lib/yard/serializers/base.rb, lib/yard/serializers/file_system_serializer.rb,
lib/yard/serializers/process_serializer.rb,
lib/yard/serializers/stdout_serializer.rb,
lib/yard/serializers/yardoc_serializer.rb, lib/yard/server/adapter.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb,
lib/yard/server/commands/library_index_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/commands/search_command.rb,
lib/yard/server/commands/static_file_command.rb,
lib/yard/server/doc_server_helper.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/library_version.rb,
lib/yard/server/rack_adapter.rb, lib/yard/server/router.rb,
lib/yard/server/static_caching.rb,