我目前有以下命令,用于从 GitHub 托管的文件创建列表:
\NewExpandableDocumentCommand{\GitHubFile} { O{foo-default-group} m m m } {%
|"wget -qO- https://raw.githubusercontent.com/#1/#2/#3/#4"
}
然后我创建如下列表:
\lstinputlisting[language=Java, firstline=8]{
\GitHubFile{foo-repo}{master}{foo/bar/Foo.java}
}
这将生成以下(正确的)输出:
我的问题是:
我如何创建一个新命令(或修改现有命令)以便将多个
\GitHubFile
命令组合成一个列表?
例如,在伪代码中:
\lstinputlisting[language=Java]{
\GitHubFile{foo-repo}{master}{foo/bar/Foo.java}
\GitHubFile{foo-repo}{master}{foo/bar/Bar.java}
}
这将输出如下内容:
@Configuration
@ComponentScan("com.dzone.book.spring.rest")
public class Application {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);
Car car = context.getBean(Car.class);
car.start();
}
}
class Bar {
// ...some content
}
假设的内容Bar.java
是:
class Bar {
// ...some content
}
我知道有一些附加组件我想稍后添加(例如,能够仅包含每个文件中的行a
,b
以便Foo.java
只有第 8-10 行和Bar.java
第 2-6 行等),但这些可以稍后添加。
感谢您的帮助。