{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/5857","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/5857/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/5857/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/5857/events","html_url":"https://github.com/dotnet/roslyn/pull/5857","id":110770460,"number":5857,"title":"csi improvements","user":{"login":"tmat","id":41759,"avatar_url":"https://avatars.githubusercontent.com/u/41759?v=3","gravatar_id":"","url":"https://api.github.com/users/tmat","html_url":"https://github.com/tmat","followers_url":"https://api.github.com/users/tmat/followers","following_url":"https://api.github.com/users/tmat/following{/other_user}","gists_url":"https://api.github.com/users/tmat/gists{/gist_id}","starred_url":"https://api.github.com/users/tmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmat/subscriptions","organizations_url":"https://api.github.com/users/tmat/orgs","repos_url":"https://api.github.com/users/tmat/repos","events_url":"https://api.github.com/users/tmat/events{/privacy}","received_events_url":"https://api.github.com/users/tmat/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-10-10T05:32:17Z","updated_at":"2015-10-12T18:21:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/5857","html_url":"https://github.com/dotnet/roslyn/pull/5857","diff_url":"https://github.com/dotnet/roslyn/pull/5857.diff","patch_url":"https://github.com/dotnet/roslyn/pull/5857.patch"},"body":"Improves and cleans up handling of command line arguments for csi.\r\n\r\nAdds some alternative forms for arguments:\r\n\r\ncsc:\r\n\r\n| Existing arg | New arg | Decription\r\n| --- | --- |--- |\r\n| /lib | /libpath, /libpaths | adds directory(ies) to metadata search paths\r\n\r\nvbc:\r\n\r\n| Existing arg | New arg | Decription\r\n| --- | --- |--- |\r\n| /libpath | /lib /libpaths | adds directory(ies) to metadata search paths \r\n\r\ncsi:\r\n\r\n| Existing arg | New arg | Description\r\n| --- | --- |--- |\r\n| | /lib, /libpath, /libpaths | adds directory(ies) to metadata search paths\r\n| | /loadpath, /loadpaths | adds directory(ies) to source search paths\r\n| /u, /using | /usings, /import, /imports | adds import(s) to global imports\r\n\r\nAlso changes \"--\" to match ruby/python/*nix (in csi only, in future we should consider updating csc and vbc as well). It indicates that the remaining arguments should not be treated as options.\r\n\r\ncsi only accepts a single script on the command line, any arguments following the script file name is now considered an argument to the script, not to csi.\r\n\r\n| Command line |                   Script args:|\r\n| --- | --- |\r\n| csi -- script.csx b c |          [\"script.csx\", \"b\", \"c\"]|\r\n| csi -- @script.csx a b c |          [\"a\", \"b\", \"c\"], runs script file \"@script.csx\"| \r\n| csi -- -script.csx a b c |          [\"a\", \"b\", \"c\"], runs script file \"-script.csx\"| \r\n| csi script.csx -- a b c |       [\"--\", \"a\", \"b\", \"c\"]|\r\n| csi script.csx a b c |         [\"a\", \"b\", \"c\"]|\r\n| csi script.csx a -- b c |      [\"a\", \"--\", \"b\", \"c\"]|\r\n\r\n\"-\" is now used to launch REPL with specified arguments:\r\n\r\n```\r\ncsi - a b c\r\n> Args\r\nList<string>(3) { \"a\", \"b\", \"c\" }\r\n``` \r\n\r\nThe design mimics Python.\r\n\r\nFixes https://github.com/dotnet/roslyn/issues/5277\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/147481663","html_url":"https://github.com/dotnet/roslyn/pull/5857#issuecomment-147481663","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/5857","id":147481663,"user":{"login":"agocke","id":515774,"avatar_url":"https://avatars.githubusercontent.com/u/515774?v=3","gravatar_id":"","url":"https://api.github.com/users/agocke","html_url":"https://github.com/agocke","followers_url":"https://api.github.com/users/agocke/followers","following_url":"https://api.github.com/users/agocke/following{/other_user}","gists_url":"https://api.github.com/users/agocke/gists{/gist_id}","starred_url":"https://api.github.com/users/agocke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agocke/subscriptions","organizations_url":"https://api.github.com/users/agocke/orgs","repos_url":"https://api.github.com/users/agocke/repos","events_url":"https://api.github.com/users/agocke/events{/privacy}","received_events_url":"https://api.github.com/users/agocke/received_events","type":"User","site_admin":false},"created_at":"2015-10-12T18:21:55Z","updated_at":"2015-10-12T18:21:55Z","body":"@TyOverby Wrote up a proposed `usage` in the gist here: https://gist.github.com/TyOverby/41ac9e16e44f2db6376c\r\n\r\nI agree with his proposed behavior, although I don't think special syntax should be specified for `-i` or `--` -- those should just be additional csi args IMO."}}