Skip to content

Commit

Permalink
Work around restore issue
Browse files Browse the repository at this point in the history
Running `Build.cmd -pack -restore` on most machines is leading to the
following error:

> \NuGet.RestoreEx.targets(19,5): error : The filename or extension is
too long

This seems to be caused by an excessively long command line being passed
to a tool within the NuGetRestoreEx task. Temporarily working around
this by disabling static graph on this restore operation.

NuGet/Home#12843
  • Loading branch information
jaredpar committed Aug 24, 2023
1 parent d7e010b commit 6c956a2
Show file tree
Hide file tree
Showing 3 changed files with 399 additions and 1 deletion.
6 changes: 6 additions & 0 deletions doc/tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
xml-plugin-callbacks xml-plugin.txt /*xml-plugin-callbacks*
xml-plugin-callbacks xml-plugin.txt /*xml-plugin-callbacks*
xml-plugin-html xml-plugin.txt /*xml-plugin-html*
xml-plugin-mappings xml-plugin.txt /*xml-plugin-mappings*
xml-plugin-settings xml-plugin.txt /*xml-plugin-settings*
xml-plugin.txt xml-plugin.txt /*xml-plugin.txt*
392 changes: 392 additions & 0 deletions doc/xml-plugin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,392 @@
*xml-plugin.txt* Help edit XML and SGML documents. v1.32

XML Edit ~

A filetype plugin to help edit XML and SGML documents.

This script provides some convenience when editing XML (and some SGML
including HTML) formated documents. It allows you to jump to the
beginning or end of the tag block your cursor is in. '%' will jump
between '<' and '>' within the tag your cursor is in. When in insert
mode and you finish a tag (pressing '>') the tag will be completed. If
you press '>' twice it will place the cursor in the middle of the tags
on it's own line (helps with nested tags).

Usage: Place this file into your ftplugin directory. To add html support
Sym-link or copy this file to html.vim in your ftplugin directory. To activte
the script place 'filetype plugin on' in your |.vimrc| file. See |ftplugins|
for more information on this topic.

If the file edited is of type "html" and "xml_use_html" is defined then
the following tags will not auto complete: <img>, <input>, <param>,
<frame>, <br>, <hr>, <meta>, <link>, <base>, <area>

If the file edited is of type 'html' and 'xml_use_xhtml' is defined the
above tags will autocomplete the xml closing staying xhtml compatable.
ex. <hr> becomes <hr /> (see |xml-plugin-settings|)

Known Bugs {{{1 ~

- < & > marks inside of a CDATA section are interpreted as actual XML tags
even if unmatched.
- The script can not handle leading spaces such as < tag></ tag> it is
illegal XML syntax and considered very bad form.
- Placing a literal `>' in an attribute value will auto complete despite that
the start tag isn't finished. This is poor XML anyway you should use
&gt; instead.


------------------------------------------------------------------------------
*xml-plugin-settings*
Options {{{1

(All options must be placed in your |.vimrc| prior to the |ftplugin|
command.)

xml_tag_completion_map
Use this setting to change the default mapping to auto complete a
tag. By default typing a literal `>' will cause the tag your editing
to auto complete; pressing twice will auto nest the tag. By using
this setting the `>' will be a literal `>' and you must use the new
mapping to perform auto completion and auto nesting. For example if
you wanted Control-L to perform auto completion inmstead of typing a
`>' place the following into your .vimrc: >
let xml_tag_completion_map = "<C-l>"
<
xml_no_auto_nesting (Not Working!!!!!)
This turns off the auto nesting feature. After a completion is made
and another `>' is typed xml-edit automatically will break the tag
accross multiple lines and indent the curser to make creating nested
tqags easier. This feature turns it off. Enter the following in your
.vimrc: >
let xml_no_auto_nesting = 1
<
xml_use_xhtml
When editing HTML this will auto close the short tags to make valid
XML like <hr/> and <br/>. Enter the following in your vimrc to
turn this option on: >
let xml_use_xhtml = 1
if the filetype is xhtml and g:xml_use_xhtml doesn't exists
the script defines it to be 1. (This also assumes that you have linked
xml.vim to xhtml.vim. Otherwise this item is moot)
For a file to be of xhtml type there need to be a doctype declaration!!
just naming a file something.xhtml doesn't make it type xhtml!
<
xml_no_html
This turns of the support for HTML specific tags. Place this in your
.vimrc: >
let xml_no_html = 1
<
------------------------------------------------------------------------------
*xml-plugin-mappings*

Mapings and their functions {{{1

Typing '>' will start the tag closing routine.
Typing (Where | means cursor position)
<para>|
results in
<para>|</para>

Typing
<para>>|</para>
results in
<para>
|
</para>
typing a lone '>' and no '<' in front of it accepts the '>' (But having
lone '>' or '<' in a XML file is frown upon except in <!CDATA> sections,
and that will throw of the plugin!!).

Typing </tag> or <tag/> also results in na expanding. So when editing
html type <input .... />

The closing routing also ignores DTD tags '<!,,>' and processing
instructions '<?....?>'. Thus typing these result in no expansion.


<LocalLeader> is a setting in VIM that depicts a prefix for scripts and
plugins to use. By default this is the backslash key `\'. See |mapleader|
for details.

;; make element out previous word and close it {{{2
- when typing a word;; wil create <word>|</word>
when word on its own line it will be
<word>
|
</word>
the suffix can be changed by setting
let makeElementSuf = ',,,' in your .vimrc
Thanks to Bart van Deenen
(http://www.vim.org/scripts/script.php?script_id=632)

[ and ] mappings {{{2
<LocalLeader>[ Delete <![CDATA[ ]]> delimiters
<LocalLeader>{ Delete <![CDATA[ ]]> section
<LocalLeader>] Delete <!-- --> delimiters
<LocalLeader>} Delete <!-- --> section
[[ Goto to the previous open tag
[[ Goto to the next open tag
[] Goto to the previous close tag
][ Goto to the next close tag
[" Goto to the next comment
]" Goto the previous comment
<LocalLeader>5 Jump to the matching tag. {{{2
<LocalLeader>% Jump to the matching tag.


<LocalLeader>c Rename tag {{{2

<LocalLeader>C Rename tag and remove attributes {{{2
Will ask for attributes

<LocalLeader>d Deletes the surrounding tags from the cursor. {{{2
<tag1>outter <tag2>inner text</tag2> text</tag1>
|
Turns to:
outter <tag2>inner text</tag2> text
|

<LocalLeader>D Deletes the tag and it contents {{{2
- and put it in register x.
<tag1>outter <tag2>inner text</tag2> text</tag1>
|
Turns to:
<tag1>outter text</tag1>

<LocalLeader>e provide endtag for open tags. {{{2
- provide endtag for open tags. Watch where de cursor is
<para><listitem>list item content
|
pressing \e twice produces
<para><listitem>list item content</para></listitem>

<LocalLeader>f fold the tag under the cursor {{{2
<para>
line 1
line 2
line 3
</para>
\f produces
+-- 5 lines: <para>--------------------------


<LocalLeader>F all tags of name 'tag' will be fold. {{{2
- If there isn't a tag under
the cursor you will be asked for one.

<LocalLeader>g Format (Vim's gq function) {{{2
- will make a visual block of tag under cursor and then format using gq


<LocalLeader>G Format all tags under cursor (Vim's gq function) {{{2
- If there isn't a tag under
the cursor you will be asked for one.


<LocalLeader>I Indent all tags {{{2
- will create a multiline layout every opening tag will be shifted out
and every closing tag will be shifted in. Be aware that the rendering
of the XML through XSLT and/or DSSSL, might be changed by this.
Be aware tha if the file is big, more than 1000 lines, the reformatting
takes a long time because vim has to make a big undo buffer.
For example using \I on the example below:

<chapter><title>Indent</title><para>The documentation</para></chapter>

- Becomes

<chapter>
<title>
Indent
</title>
<para>
The documentation
</para>
</chapter>


<LocalLeader>j Joins two the SAME sections together. {{{2
- The sections must be next to each other.
<para> This is line 1
of a paragraph. </para>
<para> This is line 2
|
of a paragraph. </para>
\j produces
<para> This is line 1
of a paragraph.
This is line 2
of a paragraph. </para>

<LocalLeader>l visual surround the block with listitem and para {{{2
When marking up docbook tekst you have the issue that listitems
consist of 2 item. This key combination inserts them both,

blaah
|
\l produces
<listitem>
<para>blaah</para>
</listitem>

<LocalLeader>o Insert a tag inside the current one (like vim o) {{{2
You are asked for tag and attributes.

<tag1><tag2><tag3>blaah</tag3></tag2></tag1>
|
\o produces
<tag1>
<aftertag><tag2><tag3>blaah</tag3></tag2></aftertag>
</tag1>

<LocalLeader>O Insert a tag outside the current one (like vim O) {{{2
You are asked for tag and attributes.
<tag1><tag2><tag3>blaah</tag3></tag2></tag1>
|
\O produces
<beforetag>
<tag1><tag2><tag3>blaah</tag3></tag2></tag1>
</beforetag>

<LocalLeader>s Insert an opening tag for an closing tag. {{{2
list item content</para></listitem>
|
pressing \s twice produces
<para><listitem>list item content</para></listitem>

<LocalLeader>[ Delete <![CDATA[ ]]> delimiters {{{2
Removes Only <CDATA[ and •]•]>
handy when you want to uncomment a section.
You need to stand in the tag and not on an other tag
<![CDATA[ <tag> ]]>
if you cursor is outside <tag> but inside the
CDATA tag the delition works.
<LocalLeader>{ Delete <![CDATA[ ]]> section {{{2
Removes everything tag and Content
<LocalLeader>] Delete <!-- --> delimiters {{{2
Uncommnet a block.
<LocalLeader>} Delete <!-- --> section {{{2
Removes everything tag and Content
<LocalLeader>> shift right opening tag and closing tag. {{{2
shift everything between the tags 1 shiftwide right
<LocalLeader>< shift left opening tag and closing tag. {{{2
shift everything between the tags 1 shiftwide left
<LocalLeader>c Visual Place a CDATA section around the selected text. {{{2
Place Cdata section around the block
<LocalLeader>< Visual Place a Comment around the selected text. {{{2
Place comment around the block
<LocalLeader>5 Extend the visual selection to the matching tag. {{{2
<LocalLeader>%
Extend the visual selection to the matching tag. Make sure you are at
the start of the opening tag or the end of the closing tag.
<LocalLeader>v Visual Place a tag around the selected text. {{{2
- You are asked for tag and attributes. You
need to have selected text in visual mode before you can use this
mapping. See |visual-mode| for details.
Be careful where you place the marks.
The top uses append
The bottom uses append
Useful when marking up a text file

------------------------------------------------------------------------------
*xml-plugin-callbacks*

------------------------------------------------------------------------------
*xml-plugin-callbacks*

Callback Functions {{{2 ~

A callback function is a function used to customize features on a per tag
basis. For example say you wish to have a default set of attributs when you
type an empty tag like this:
You type: <tag>
You get: <tag default="attributes"></tag>

This is for any script programmers who wish to add xml-plugin support to
there own filetype plugins.

Callback functions recive one attribute variable which is the tag name. The
all must return either a string or the number zero. If it returns a string
the plugin will place the string in the proper location. If it is a zero the
plugin will ignore and continue as if no callback existed.

The following are implemented callback functions:

HtmlAttribCallback
This is used to add default attributes to html tag. It is intended
for HTML files only.

XmlAttribCallback
This is a generic callback for xml tags intended to add attributes.

*xml-plugin-html*
Callback Example {{{2 ~

The following is an example of using XmlAttribCallback in your .vimrc
>
function XmlAttribCallback (xml_tag)
if a:xml_tag ==? "my-xml-tag"
return "attributes=\"my xml attributes\""
else
return 0
endif
endfunction
<
The following is a sample html.vim file type plugin you could use:
>
" Vim script file vim600:fdm=marker:
" FileType: HTML
" Maintainer: Devin Weaver <vim (at) tritarget.com>
" Location: http://www.vim.org/scripts/script.php?script_id=301
" This is a wrapper script to add extra html support to xml documents.
" Original script can be seen in xml-plugin documentation.
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't set 'b:did_ftplugin = 1' because that is xml.vim's responsability.
let b:html_mode = 1
if !exists("*HtmlAttribCallback")
function HtmlAttribCallback( xml_tag )
if a:xml_tag ==? "table"
return "cellpadding=\"0\" cellspacing=\"0\" border=\"0\""
elseif a:xml_tag ==? "link"
return "href=\"/site.css\" rel=\"StyleSheet\" type=\"text/css\""
elseif a:xml_tag ==? "body"
return "bgcolor=\"white\""
elseif a:xml_tag ==? "frame"
return "name=\"NAME\" src=\"/\" scrolling=\"auto\" noresize"
elseif a:xml_tag ==? "frameset"
return "rows=\"0,*\" cols=\"*,0\" border=\"0\""
elseif a:xml_tag ==? "img"
return "src=\"\" width=\"0\" height=\"0\" border=\"0\" alt=\"\""
elseif a:xml_tag ==? "a"
if has("browse")
" Look up a file to fill the href. Used in local relative file
" links. typeing your own href before closing the tag with `>'
" will override this.
let cwd = getcwd()
let cwd = substitute (cwd, "\\", "/", "g")
let href = browse (0, "Link to href...", getcwd(), "")
let href = substitute (href, cwd . "/", "", "")
let href = substitute (href, " ", "%20", "g")
else
let href = ""
endif
return "href=\"" . href . "\""
else
return 0
endif
endfunction
endif
" On to loading xml.vim
runtime ftplugin/xml.vim
<

vim:tw=78:ts=8:fen:fdm=marker:ft=help:norl:
Loading

0 comments on commit 6c956a2

Please sign in to comment.