GithubHelp home page GithubHelp logo

vslauncher's People

Contributors

xiaoy312 avatar

Watchers

 avatar  avatar

vslauncher's Issues

add custom directory filter

for context:

[1]: D:\code\uno\framework\Uno\src\Uno.UI-Android-hotreload-vsix-only.slnf
[2]: D:\code\uno\framework\Uno\src\Uno.UI-Android-only.slnf
[3]: D:\code\uno\framework\Uno\src\Uno.UI-iOS-hotreload-vsix-only.slnf
[4]: D:\code\uno\framework\Uno\src\Uno.UI-iOS-only.slnf
[5]: D:\code\uno\framework\Uno\src\Uno.UI-macOS-only.slnf
[6]: D:\code\uno\framework\Uno\src\Uno.UI-net6-only.slnf
[7]: D:\code\uno\framework\Uno\src\Uno.UI-packages-no-net6.slnf
[8]: D:\code\uno\framework\Uno\src\Uno.UI-Skia-only.slnf
[9]: D:\code\uno\framework\Uno\src\Uno.UI-SolutionTemplates.slnf
[10]: D:\code\uno\framework\Uno\src\Uno.UI-Tools.slnf
[11]: D:\code\uno\framework\Uno\src\Uno.UI-UnitTests-only.slnf
[12]: D:\code\uno\framework\Uno\src\Uno.UI-vs4mac-iOS-only.sln
[13]: D:\code\uno\framework\Uno\src\Uno.UI-vs4mac-macOS-only.sln
[14]: D:\code\uno\framework\Uno\src\Uno.UI-vs4mac.sln
[15]: D:\code\uno\framework\Uno\src\Uno.UI-Wasm-hotreload-vsix-only.slnf
[16]: D:\code\uno\framework\Uno\src\Uno.UI-Wasm-only.slnf
[17]: D:\code\uno\framework\Uno\src\Uno.UI-Windows-only.slnf
[18]: D:\code\uno\framework\Uno\src\Uno.UI.sln

todo:

  • implicit filter that is persisted to directory config
    ^ to remove that "hotreload-vsix-only" option when using filter like -f=droid
  • explicit mapping where -f=key, just directly launch the mapped value
  • related commands to inspect/modify the above

cascading directory config

extra config to override app behaviors (for/when under) specific directory
syntax:

# applicable to current directory and under
config1: value1

"absolute-path--OR--relative-path":
  # applicable to that path and under
  # the absolute-path has to be nested under the directory of this file (to be discoverable)
  config1: value2

this file can be placed at the execution directory or above (same way as Directory.Build.props):

For example, if your $(MSBuildProjectFullPath) was c:\users\username\code\test\case1, MSBuild would start searching there and then search the directory structure upward until it located a Directory.Build.props file, as in the following directory structure.

c:\users\username\code\test\case1
c:\users\username\code\test
c:\users\username\code
c:\users\username
c:\users
c:\

-- https://learn.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2022#search-scope

^ except, we dont stop at the first, but keeps going...

to-clarify: merge rules?

add more options

var options = new OptionSet()
{
	//{ "q|query=", "Search for .sln file matching the query", x => query = x },
	//{ "f|filter=", "Search for .slnf file instead", x => filter = x },
	//{ "save-choice", "save solution file choice for current directory", _ => choice = true }, // bool?
	//{ "clear-choice", "clear saved solution file choice for current directory", _ => choice = false }, // bool?
	//{ "v|verbose", "Increase loggin verbosity", _ => verbose = true },
};

try
{
	var positionalArgs = options.Parse(args);
	if (positionalArgs.Count > 2) throw new ArgumentException("Too many arguments.");
	else
	{
		var directory = positionalArgs.ElementAtOrDefault(0) ?? Environment.CurrentDirectory;
		var environment = positionalArgs.ElementAtOrDefault(1);
		
		throw new NotImplementedException();
	}
}
``

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.