index: release v1.18 with only altgr index linked
[sheet.git] / shell.inc.pl
1 use utf8;
2 use strict;
3
4 +{
5
6 agents => {
7         sh => {
8                 name => "Bourne shell",
9                 os => 'v7',
10         },
11         bash => {
12                 name => "GNU Bourne-Again SHell",
13                 os => 'linux',
14         },
15         csh => {
16                 name => "C Shell",
17         },
18         tcsh => {
19                 name => "Tenex C Shell",
20                 os => 'freebsd',
21         },
22         ksh => {
23                 name => "AT&T KornShell",
24         },
25         es => {
26                 name => "Extensible Shell",
27         },
28         rc => {
29                 name => "Run Commands",
30                 os => 'plan9',
31         },
32         zsh => {
33                 name => "Z shell",
34         },
35 },
36
37 feature => [
38
39         {
40                 title   => "Job control",
41                 description => "",
42                 links => [
43                         {
44                                 title =>
45                                 url => '',
46                         },
47                 ],
48                 support => {
49                         bash => {},
50                         csh => {},
51                         es => undef,
52                         ksh => {},
53                         rc => undef,
54                         sh => undef,
55                         tcsh => {},
56                         zsh => {},
57                 },
58         },
59         {
60                 support => {
61                         bash => {},
62                         csh => {},
63                         es => undef,
64                         ksh => {},
65                         rc => undef,
66                         sh => undef,
67                         tcsh => {},
68                         zsh => {},
69                 },
70                 title => 'Aliases',
71         },
72         {
73                 support => {
74                         bash => {},
75                         csh => undef,
76                         es => {},
77                         ksh => {},
78                         rc => {},
79                         sh => {
80                                 since => 0,
81                         },
82                         tcsh => undef,
83                         zsh => {},
84                 },
85                 title => 'Shell functions',
86         },
87         {
88                 support => {
89                         bash => {},
90                         csh => undef,
91                         es => {},
92                         ksh => {},
93                         rc => {},
94                         sh => {},
95                         tcsh => undef,
96                         zsh => {},
97                 },
98                 title => '"Sensible" Input/Output redirection',
99         },
100         {
101                 support => {
102                         bash => {},
103                         csh => {},
104                         es => {
105                                 alt => 'function',
106                         },
107                         ksh => {},
108                         rc => {
109                                 alt => 'function',
110                         },
111                         sh => undef,
112                         tcsh => {},
113                         zsh => {},
114                 },
115                 title => 'Directory stack',
116         },
117         {
118                 support => {
119                         bash => {},
120                         csh => {},
121                         es => {
122                                 optional => 'requires readline',
123                         },
124                         ksh => {},
125                         rc => {
126                                 optional => 'requires readline',
127                         },
128                         sh => undef,
129                         tcsh => {},
130                         zsh => {},
131                 },
132                 title => 'Command history',
133         },
134         {
135                 support => {
136                         bash => {},
137                         csh => undef,
138                         es => {
139                                 optional => 'requires readline',
140                         },
141                         ksh => {},
142                         rc => {
143                                 optional => 'requires readline',
144                         },
145                         sh => undef,
146                         tcsh => {},
147                         zsh => {},
148                 },
149                 title => 'Command line editing',
150         },
151         {
152                 support => {
153                         bash => {},
154                         csh => undef,
155                         es => {
156                                 optional => 'requires readline',
157                         },
158                         ksh => {},
159                         rc => {
160                                 optional => 'requires readline',
161                         },
162                         sh => undef,
163                         tcsh => {
164                                 note => 'emulation is thought by many to be incomplete',
165                                 partial => 1,
166                         },
167                         zsh => {},
168                 },
169                 title => 'Vi Command line editing',
170         },
171         {
172                 support => {
173                         bash => {},
174                         csh => undef,
175                         es => {
176                                 optional => 'requires readline',
177                         },
178                         ksh => {},
179                         rc => {
180                                 optional => 'requires readline',
181                         },
182                         sh => undef,
183                         tcsh => {},
184                         zsh => {},
185                 },
186                 title => 'Emacs Command line editing',
187         },
188         {
189                 support => {
190                         bash => {},
191                         csh => undef,
192                         es => {
193                                 optional => 'requires readline',
194                         },
195                         ksh => undef,
196                         rc => {
197                                 optional => 'requires readline',
198                         },
199                         sh => undef,
200                         tcsh => {},
201                         zsh => {},
202                 },
203                 title => 'Rebindable Command line editing',
204         },
205         {
206                 support => {
207                         bash => {},
208                         csh => {},
209                         es => {
210                                 optional => 'requires readline',
211                         },
212                         ksh => {},
213                         rc => {
214                                 optional => 'requires readline',
215                         },
216                         sh => undef,
217                         tcsh => {},
218                         zsh => {},
219                 },
220                 title => 'User name look up',
221         },
222         {
223                 support => {
224                         bash => undef,
225                         csh => undef,
226                         es => {
227                                 alt => 'function',
228                         },
229                         ksh => undef,
230                         rc => {
231                                 alt => 'function',
232                         },
233                         sh => undef,
234                         tcsh => {},
235                         zsh => {},
236                 },
237                 title => 'Login/Logout watching',
238         },
239         {
240                 support => {
241                         bash => {},
242                         csh => {
243                                 since => 0,
244                         },
245                         es => {
246                                 optional => 'requires readline',
247                         },
248                         ksh => {},
249                         rc => {
250                                 optional => 'requires readline',
251                         },
252                         sh => undef,
253                         tcsh => {},
254                         zsh => {},
255                 },
256                 title => 'Filename completion',
257         },
258         {
259                 support => {
260                         bash => {},
261                         csh => {
262                                 since => undef,
263                         },
264                         es => {
265                                 optional => 'requires readline',
266                         },
267                         ksh => {},
268                         rc => {
269                                 optional => 'requires readline',
270                         },
271                         sh => undef,
272                         tcsh => {},
273                         zsh => {},
274                 },
275                 title => 'Username completion',
276         },
277         {
278                 support => {
279                         bash => {},
280                         csh => {
281                                 since => undef,
282                         },
283                         es => {
284                                 optional => 'requires readline',
285                         },
286                         ksh => {},
287                         rc => {
288                                 optional => 'requires readline',
289                         },
290                         sh => undef,
291                         tcsh => {},
292                         zsh => {},
293                 },
294                 title => 'Hostname completion',
295         },
296         {
297                 support => {
298                         bash => {},
299                         csh => undef,
300                         es => {
301                                 optional => 'requires readline',
302                         },
303                         ksh => undef,
304                         rc => {
305                                 optional => 'requires readline',
306                         },
307                         sh => undef,
308                         tcsh => {},
309                         zsh => {},
310                 },
311                 title => 'History completion',
312         },
313         {
314                 support => {
315                         bash => undef,
316                         csh => undef,
317                         es => undef,
318                         ksh => undef,
319                         rc => undef,
320                         sh => undef,
321                         tcsh => {},
322                         zsh => {},
323                 },
324                 title => 'Fully programmable Completion',
325         },
326         {
327                 support => {
328                         bash => {
329                                 alt => 'patch',
330                                 note => 'unofficial patches exist to perform this',
331                         },
332                         csh => undef,
333                         es => undef,
334                         ksh => undef,
335                         rc => undef,
336                         sh => undef,
337                         tcsh => {
338                                 alt => 'function',
339                                 note => 'This can be done via the shells programmable completion mechanism.',
340                         },
341                         zsh => {
342                                 alt => 'function',
343                                 note => 'This can be done via the shells programmable completion mechanism.',
344                         },
345                 },
346                 title => 'Mh Mailbox completion',
347         },
348         {
349                 support => {
350                         bash => undef,
351                         csh => undef,
352                         es => undef,
353                         ksh => {},
354                         rc => undef,
355                         sh => undef,
356                         tcsh => undef,
357                         zsh => {},
358                 },
359                 title => 'Co Processes',
360         },
361         {
362                 support => {
363                         bash => {},
364                         csh => {},
365                         es => undef,
366                         ksh => {},
367                         rc => undef,
368                         sh => undef,
369                         tcsh => {},
370                         zsh => {},
371                 },
372                 title => 'Builtin artithmetic evaluation',
373         },
374         {
375                 support => {
376                         bash => {},
377                         csh => undef,
378                         es => undef,
379                         ksh => {},
380                         rc => undef,
381                         sh => undef,
382                         tcsh => {},
383                         zsh => {},
384                 },
385                 title => 'Can follow symbolic links invisibly',
386         },
387         {
388                 support => {
389                         bash => undef,
390                         csh => undef,
391                         es => undef,
392                         ksh => undef,
393                         rc => undef,
394                         sh => undef,
395                         tcsh => {},
396                         zsh => {},
397                 },
398                 title => 'Periodic command execution',
399         },
400         {
401                 support => {
402                         bash => {},
403                         csh => undef,
404                         es => {},
405                         ksh => {},
406                         rc => {},
407                         sh => undef,
408                         tcsh => {},
409                         zsh => {},
410                 },
411                 title => 'Custom Prompt (easily)',
412         },
413         {
414                 support => {
415                         bash => undef,
416                         csh => undef,
417                         es => undef,
418                         ksh => undef,
419                         rc => undef,
420                         sh => undef,
421                         tcsh => undef,
422                         zsh => {},
423                 },
424                 title => 'Sun Keyboard Hack',
425         },
426         {
427                 support => {
428                         bash => undef,
429                         csh => undef,
430                         es => undef,
431                         ksh => undef,
432                         rc => undef,
433                         sh => undef,
434                         tcsh => {},
435                         zsh => {},
436                 },
437                 title => 'Spelling Correction',
438         },
439         {
440                 support => {
441                         bash => {
442                                 since => undef,
443                         },
444                         csh => undef,
445                         es => {},
446                         ksh => undef,
447                         rc => {},
448                         sh => undef,
449                         tcsh => undef,
450                         zsh => {},
451                 },
452                 title => 'Process Substitution',
453         },
454         {
455                 support => {
456                         bash => 'sh',
457                         csh => 'csh',
458                         es => 'rc',
459                         ksh => 'sh',
460                         rc => 'rc',
461                         sh => 'sh',
462                         tcsh => 'csh',
463                         zsh => 'sh',
464                 },
465                 title => 'Underlying Syntax',
466         },
467         {
468                 support => {
469                         bash => {},
470                         csh => undef,
471                         es => {},
472                         ksh => {
473                                 alt => 'patch',
474                                 note => "A version called 'pdksh' is freely available, but does not have the full functionality of the AT&T version.",
475                         },
476                         rc => {},
477                         sh => undef,
478                         tcsh => {},
479                         zsh => {},
480                 },
481                 title => 'Freely Available',
482         },
483         {
484                 support => {
485                         bash => {},
486                         csh => {},
487                         es => {
488                                 alt => 'function',
489                         },
490                         ksh => {},
491                         rc => {
492                                 alt => 'function',
493                         },
494                         sh => undef,
495                         tcsh => {},
496                         zsh => {},
497                 },
498                 title => 'Checks Mailbox',
499         },
500         {
501                 support => {
502                         bash => undef,
503                         csh => undef,
504                         es => undef,
505                         ksh => undef,
506                         rc => undef,
507                         sh => undef,
508                         tcsh => {},
509                         zsh => {},
510                 },
511                 title => 'Tty Sanity Checking',
512         },
513         {
514                 support => {
515                         bash => {},
516                         csh => undef,
517                         es => {},
518                         ksh => {},
519                         rc => {},
520                         sh => {},
521                         tcsh => {},
522                         zsh => {},
523                 },
524                 title => 'Can cope with large argument lists',
525         },
526         {
527                 support => {
528                         bash => {
529                                 alt => 'config',
530                                 note => 'Only by specifying a file via the ENV environment variable.',
531                         },
532                         csh => {},
533                         es => undef,
534                         ksh => {
535                                 alt => 'config',
536                                 note => 'Only by specifying a file via the ENV environment variable.',
537                         },
538                         rc => undef,
539                         sh => undef,
540                         tcsh => {},
541                         zsh => {},
542                 },
543                 title => 'Has non-interactive startup file',
544         },
545         {
546                 support => {
547                         bash => {},
548                         csh => {},
549                         es => undef,
550                         ksh => {
551                                 alt => 'config',
552                                 note => 'Only by specifying a file via the ENV environment variable.',
553                         },
554                         rc => undef,
555                         sh => undef,
556                         tcsh => {},
557                         zsh => {},
558                 },
559                 title => 'Has non-login startup file',
560         },
561         {
562                 support => {
563                         bash => {},
564                         csh => {},
565                         es => {},
566                         ksh => undef,
567                         rc => {},
568                         sh => undef,
569                         tcsh => undef,
570                         zsh => {},
571                 },
572                 title => 'Can avoid user startup files',
573         },
574         {
575                 support => {
576                         bash => {},
577                         csh => undef,
578                         es => undef,
579                         ksh => {},
580                         rc => undef,
581                         sh => undef,
582                         tcsh => undef,
583                         zsh => undef,
584                 },
585                 title => 'Can specify startup file',
586         },
587         {
588                 support => {
589                         bash => undef,
590                         csh => undef,
591                         es => {},
592                         ksh => undef,
593                         rc => undef,
594                         sh => undef,
595                         tcsh => undef,
596                         zsh => undef,
597                 },
598                 title => 'Low level command redefinition',
599         },
600         {
601                 support => {
602                         bash => undef,
603                         csh => undef,
604                         es => {},
605                         ksh => undef,
606                         rc => {},
607                         sh => undef,
608                         tcsh => undef,
609                         zsh => undef,
610                 },
611                 title => 'Has anonymous functions',
612         },
613         {
614                 support => {
615                         bash => undef,
616                         csh => {},
617                         es => {},
618                         ksh => {},
619                         rc => {},
620                         sh => undef,
621                         tcsh => {},
622                         zsh => {},
623                 },
624                 title => 'List Variables',
625         },
626         {
627                 support => {
628                         bash => {},
629                         csh => undef,
630                         es => {},
631                         ksh => {},
632                         rc => {},
633                         sh => {},
634                         tcsh => undef,
635                         zsh => {},
636                 },
637                 title => 'Full signal trap handling',
638         },
639         {
640                 support => {
641                         bash => {},
642                         csh => {},
643                         es => {
644                                 alt => 'function',
645                         },
646                         ksh => {},
647                         rc => undef,
648                         sh => undef,
649                         tcsh => {},
650                         zsh => {},
651                 },
652                 title => 'File no clobber ability',
653         },
654         {
655                 support => {
656                         bash => {},
657                         csh => undef,
658                         es => {},
659                         ksh => {},
660                         rc => {},
661                         sh => undef,
662                         tcsh => undef,
663                         zsh => {},
664                 },
665                 title => 'Local variables',
666         },
667         {
668                 support => {
669                         bash => undef,
670                         csh => undef,
671                         es => {},
672                         ksh => undef,
673                         rc => undef,
674                         sh => undef,
675                         tcsh => undef,
676                         zsh => undef,
677                 },
678                 title => 'Lexically scoped variables',
679         },
680         {
681                 support => {
682                         bash => undef,
683                         csh => undef,
684                         es => {},
685                         ksh => undef,
686                         rc => undef,
687                         sh => undef,
688                         tcsh => undef,
689                         zsh => undef,
690                 },
691                 title => 'Exceptions',
692         },
693 ],
694
695 }